5. Communication
foxBMS 2 supports communication with other high level devices (e.g., the VCU) through CAN.
5.1. DBC File
These files describe the CAN interface used by foxBMS 2.
The .dbc-file has been created using PCAN Symbol Editor
Version 6.5.2 from symbol file Version 6.0.
The .dbc-file and .sym-file are located in tools/dbc.
5.1.1. Supported CAN Messages
5.1.1.1. Insulation Measurement Device
| ID | Name | Comment | Implementation file | 
|---|---|---|---|
| 022h | IMD_Request | can_cbs_tx_imd-request.c | |
| 023h | IMD_Response | can_cbs_rx_imd-response.c | |
| 037h | IMD_Info | can_cbs_rx_imd-info.c | 
5.1.1.2. Crash Dump
| ID | Name | Comment | Implementation file | 
|---|---|---|---|
| 0FFh | f_CrashDump | Fatal error information | can_cbs_tx_crash-dump.c | 
5.1.1.3. BMS Status
| ID | Name | Comment | Implementation file | 
|---|---|---|---|
| 210h | f_BmsStateRequest | Requests specific BMS behavior and gives the BMS required information from the higher-level control unit | can_cbs_rx_bms-state-request.c | 
| 220h | f_BmsState | Message contains general BMS state information | can_cbs_tx_bms-state.c | 
| 221h | f_BmsStateDetails | Details on flags transmitted by the ‘BmsState’ message | can_cbs_tx_bms-state-details.c | 
| 222h | f_BmsFatalError | Message contains the fatal error code | can_cbs_tx_fatal-error.c | 
5.1.1.4. Pack Information
| ID | Name | Comment | Implementation file | 
|---|---|---|---|
| 231h | f_PackMinimumMaximumValues | can_cbs_tx_pack-minimum-maximum-values.c | |
| 232h | f_PackLimits | Electrical limit information | can_cbs_tx_pack-limits.c | 
| 233h | f_PackValuesP0 | can_cbs_tx_pack-values-p0.c | |
| 234h | f_PackValuesP1 | can_cbs_tx_pack-values-p1.c | |
| 235h | f_PackStateEstimation | can_cbs_tx_pack-state-estimation.c | 
5.1.1.5. String Information
| ID | Name | Comment | Implementation file | 
|---|---|---|---|
| 240h | f_StringState | Message contains string related error and warning flags | can_cbs_tx_string-state.c | 
| 241h | f_StringMinimumMaximumValues | Message contains minimum and maximum cell temperature and cell voltage values of respective string | can_cbs_tx_string-minimum-maximum-values.c | 
| 243h | f_StringValuesP0 | Message contains string voltage, current and power | can_cbs_tx_string-values-p0.c | 
| 244h | f_StringValuesP1 | Message contains energy counting value | can_cbs_tx_string-values-p1.c | 
| 245h | f_StringStateEstimation | Message contains SOC, SOE and SOH state estimations | can_cbs_tx_string-state-estimation.c | 
5.1.1.6. Cell Information
| ID | Name | Comment | Implementation file | 
|---|---|---|---|
| 250h | f_CellVoltages | Cell voltage measurement data | can_cbs_tx_cell-voltages.c | 
| 260h | f_CellTemperatures | Cell temperature measurement data | can_cbs_tx_cell-temperatures.c | 
| 270h | AFE_CellVoltages | Cell voltage measurement data | can_cbs_rx_cell-voltages.c | 
| 280h | AFE_CellTemperatures | Cell temperature measurement data | can_cbs_rx_cell-temperatures.c | 
5.1.1.7. Debug
| ID | Name | Comment | Implementation file | 
|---|---|---|---|
| 300h | f_Debug | Reserved - for debug/development purpose only | can_cbs_rx_debug.c | 
| 301h | f_DebugResponse | Responses to the ‘Debug’ message | can_cbs_tx_debug-response.c | 
| 302h | f_DebugUnsupportedMultiplexerVal | can_cbs_tx_debug-unsupported-multiplexer-values.c | |
| 303h | f_DebugBuildConfiguration | Contains the build configuration | can_cbs_tx_debug-build-configuration.c | 
5.1.1.8. Aerosol Sensor
| ID | Name | Comment | Implementation file | 
|---|---|---|---|
| 3C4h | BAS_AerosolSensor | can_cbs_rx_aerosol-sensor.c | 
5.1.1.9. Current Sensor
| ID | Name | Comment | Implementation file | 
|---|---|---|---|
| 521h | IVT_String0_Current | Current sensor string 0: current | can_cbs_rx_current-sensor.c | 
| 522h | IVT_String0_Voltage1 | Current sensor string 0: voltage 1 | can_cbs_rx_current-sensor.c | 
| 523h | IVT_String0_Voltage2 | Current sensor string 0: voltage 2 | can_cbs_rx_current-sensor.c | 
| 524h | IVT_String0_Voltage3 | Current sensor string 0: voltage 3 | can_cbs_rx_current-sensor.c | 
| 525h | IVT_String0_Temperature | Current sensor string 0: temperature | can_cbs_rx_current-sensor.c | 
| 526h | IVT_String0_Power | Current sensor string 0: power | can_cbs_rx_current-sensor.c | 
| 527h | IVT_String0_CurrentCounter | Current sensor string 0: coulomb counting | can_cbs_rx_current-sensor.c | 
| 528h | IVT_String0_EnergyCounter | Current sensor string 0: energy counting | can_cbs_rx_current-sensor.c | 
