These are the CAN messages that are sent or may be sent by the Remote High Voltage Front End, and the ones that it listens to.
Notes:
- Period: 2 messages every 100 ms, separated by 10 ms
- Length: 3 bytes
| ID
| Bytes
| Byte 0
| Byte 1
| Byte 2
| Byte 3
| Byte 4
|
| 681h
| 5
| Load current (1)
| Source current (1)
| Data (2)
|
- [10 mA], + = into battery, big-endian
- Bit 0: no voltage seen by the HVFE during contactor tests
Notes:
- Maximum period: 300 ms (after which it assumes there is no such message on the CAN bus)
| ID
| Byte 0: Address
| Byte 1: Mask
| Byte 2: Data
|
| Bit 7
| Bit 6
| Bit 5
| Bit 4
| Bit 3
| Bit 2
| Bit 1
| Bit 0
|
| 680h
| 48h
| FFh
| -
| Drive Precharge switch
| Drive SW- switch
| Drive SW+ switch
| Drive relay K3
| Drive relay K2
| Drive relay K1
| Fault
|
The Remote HVFE and the BMS controller are programmed at the factory to work with each other.
If you need to change the the CAN Bus speed, or ID of the messages used (because of a conflict with messages from another device on the bus), you my reprogram both the Remote HVFE and the BMS controller, to new values.
Three items are programmable through the CAN bus:
- The CAN bus speed (125, 250 or 500 kHz)
- The CAN ID of the received control message
- The CAN ID of the transmitted status message
The EEPROM may also be programmed through the ICSP connector and a PIC programmer.
The control message (by default at ID of 680h) is also used by the Elithion display.
If you are using an Elithion display, changing this ID will make the display unoperable (the display cannot be reprogrammed).
Procedure:
- Connect to the board through the CAN bus, using the CAN bus speed that the board is presently set to
- Send CAN messages to modify the EEPROM
- Power down and up for the changes to take effect
| ID
| Length
| Byte 2: Data
|
| Data 0
| Data 1
| Data 2
| Data 3
| Data 4
| Data 5
| Data 6
| Data 7
|
| 7FFh
| 8
| 12h
| 34h
| 56h
| 78h
| 9Ah
| BCh
| EEPROM address
| EEPROM data
|
| Item
| EEPROM Address
| EEPROM Data
| Default
|
| high byte of the CAN ID of the received control message
| 00h
| 00h to 07h
| 06h
|
| low byte ""
| 01h
| 00h to FFh
| 80h
|
| high byte of the CAN ID of the transmitted status message
| 02h
| 00h to 07h
| 06h
|
| low byte ""
| 03h
| 00h to FFh
| 81h
|
| CAN bus speed code
| 04h
|
- 00h for 500 kHz
- 01h for 250 kHz
- 03h for 125 kHz
| 00h
|
| Status message rate
| 05h
| rate [10 ms]
| 100 (= 1 Hz)
|
Notes:
- Wait 10 ms minimum before programming a new value
- The value for the CAN Bus speed is validated, so there's no risk of locking the board from being programmed by CAN bus