1.2.1. LiBat Canbus v1.0 Data Format
Each CANBUS packet consist of a frame ID (referred as opcode in this document), DLC and data fields. All battery management system devices use same CANBUS protocol and extended frame ID type. Frame ID for each CANBUS frame is different and calculated as frame base ID value plus opcode for specific packet.
Note
For more detailed information about canbus extended frame, we highly recommend to read this article. ARTICLE: Controller Area Network Canbus Tutorial Message Frame Format
Table.1.2.1.1: Extended CANBUS Frame
CAN ID (Extended) | Ext. ID | RTR | DLC | Data | |||
---|---|---|---|---|---|---|---|
Byte 4 (MSB) | Byte 3 | Byte 2 | Byte 1 (LSB) | Bit | Bit | Bit | 0~8 Bytes |
BASE (MSB) | BASE (LSB) | 0x00 | OPCODE | 1 | 0 | DLC | DATA |
Table.1.2.1.2: Frame Fields Description
Field | Size | Value | Description |
---|---|---|---|
CAN ID | 1 Byte | Base (MSB) | Base address of the frame. Configurable via PC Tool. Default value is 0x0A |
CAN ID | 1 Byte | Base (LSB) | Base address of the frame. Configurable over PC Tool. Default value is 0xAA |
CAN ID | 1 Byte | 0x00 | Fixed 0x00 |
CAN ID | 1 Byte | Opcode | Opcode of the frame |
Ext. ID | 1 Bit | 1 | Identifier Extension Bit (IDE) |
RTR | 1 Bit | 0 | CANBUS remote packet identifier |
DLC | 4 bits | 0 - 8 | Length of the data field. Data length depends on packet. |
DATA | N Bytes | 0x00 - 0xFF | Data in a single frame. Size depends on data lenght. |
Table.1.2.1.3: CANBUS Frames Opcode List
Opcode Description | Opcode (HEX) |
---|---|
Hello | 0x01 |
Battery Pack Status | 0x02 |
Overall Pack Voltages | 0x03 |
Overall Pack Currents | 0x04 |
Power And Energy | 0x05 |
Overall Pack Temperature | 0x06 |
Individual Cell Voltage | 0x07 |
Broadcast Cell Voltages | 0x08 |
Broadcast Temperatures | 0x40 |
Sleep Enterance | 0x70 |