5. Communication

5.1. CAN

foxBMS 2 supports communication with other high level devices (e.g., the VCU) through CAN.

5.1.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.1. Supported CAN Messages

5.1.2. Insulation Measurement Device

ID

Name

Comment

Implementation file

022h

IMD_BenderIso165c_Request

can_cbs_tx_imd_bender-iso165c-request.c

023h

IMD_BenderIso165c_Response

can_cbs_rx_imd_bender-iso165c-response.c

037h

IMD_BenderIso165c_Info

can_cbs_rx_imd_bender-iso165c-info.c

5.1.3. Crash Dump

ID

Name

Comment

Implementation file

0FFh

f_CrashDump

Fatal error information

can_cbs_tx_f_crash-dump.c

5.1.4. 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_f_bms-state-request.c

220h

f_BmsState

Message contains general BMS state information

can_cbs_tx_f_bms-state.c

221h

f_BmsStateDetails

Details on flags transmitted by the ‘BmsState’ message

can_cbs_tx_f_bms-state-details.c

222h

f_BmsFatalError

Message contains the fatal error code

can_cbs_tx_f_fatal-error.c

5.1.5. State Machine Information

ID

Name

Comment

Implementation file

219h

f_SystemState

Message contains the state of our System state machine

can_cbs_tx_f_sys-state.c

5.1.6. Pack Information

ID

Name

Comment

Implementation file

230h

f_PackMinMaxCellTemperature

can_cbs_tx_f_pack-minimum-maximum-values.c

231h

f_PackMinMaxCellVoltage

can_cbs_tx_f_pack-minimum-maximum-values.c

232h

f_PackLimits

Electrical limit information

can_cbs_tx_f_pack-limits.c

233h

f_PackValuesP0

can_cbs_tx_f_pack-values-p0.c

234h

f_PackValuesP1

can_cbs_tx_f_pack-values-p1.c

235h

f_PackStateEstimation

can_cbs_tx_f_pack-state-estimation.c

5.1.7. String Information

ID

Name

Comment

Implementation file

240h

f_StringState

Message contains string related error and warning flags

can_cbs_tx_f_string-state.c

241h

f_StringMinMaxCellTemperature

Message contains minimum and maximum cell temperature values and their indices of respective string

can_cbs_tx_f_string-minimum-maximum-values.c

242h

f_StringMinMaxCellVoltage

Message contains minimum and maximum cell voltage values and their indices of respective string

can_cbs_tx_f_string-minimum-maximum-values.c

243h

f_StringValuesP0

Message contains string voltage, current and power

can_cbs_tx_f_string-values-p0.c

244h

f_StringValuesP1

Message contains energy counting value

can_cbs_tx_f_string-values-p1.c

245h

f_StringStateEstimation

Message contains SOC, SOE and SOH state estimations

can_cbs_tx_f_string-state-estimation.c

5.1.8. Cell Information

ID

Name

Comment

Implementation file

250h

f_CellVoltages

Cell voltage measurement data

can_cbs_tx_f_cell-voltages.c

260h

f_CellTemperatures

Cell temperature measurement data

can_cbs_tx_f_cell-temperatures.c

270h

AFE_CellVoltages

Cell voltage measurement data

can_cbs_rx_afe_cell-voltages.c

280h

AFE_CellTemperatures

Cell temperature measurement data

can_cbs_rx_afe_cell-temperatures.c

5.1.9. Debug

ID

Name

Comment

Implementation file

300h

f_Debug

Reserved - for debug/development purpose only

can_cbs_rx_f_debug.c

301h

f_DebugResponse

Responses to the ‘Debug’ message

can_cbs_tx_f_debug-response.c

302h

f_DebugUnsupportedMultiplexerVal

can_cbs_tx_f_debug-unsupported-multiplexer-values.c

303h

f_DebugBuildConfiguration

Contains the build configuration

can_cbs_tx_f_debug-build-configuration.c

304h

f_DebugIdentifyHardware

Contains the hardware identifications

can_cbs_tx_f_debug-identify-hardware.c

5.1.10. Current Sensor

ID

Name

Comment

Implementation file

3C2h

CS_LemCab500String0

LEM Current Sensor

can_cbs_rx_cs_lem-cab500.c

521h

CS_IsabellenhuetteIvtString0Curr

Current sensor string 0: current

can_cbs_rx_cs_isabellenhuette-ivt-s.c

522h

CS_IsabellenhuetteIvtString0V1

Current sensor string 0: voltage 1

can_cbs_rx_cs_isabellenhuette-ivt-s.c

523h

CS_IsabellenhuetteIvtString0V2

Current sensor string 0: voltage 2

can_cbs_rx_cs_isabellenhuette-ivt-s.c

524h

CS_IsabellenhuetteIvtString0V3

Current sensor string 0: voltage 3

can_cbs_rx_cs_isabellenhuette-ivt-s.c

525h

CS_IsabellenhuetteIvtString0Temp

Current sensor string 0: temperature

can_cbs_rx_cs_isabellenhuette-ivt-s.c

526h

CS_IsabellenhuetteIvtString0Pwr

Current sensor string 0: power

can_cbs_rx_cs_isabellenhuette-ivt-s.c

527h

CS_IsabellenhuetteIvtString0Cc

Current sensor string 0: coulomb counting

can_cbs_rx_cs_isabellenhuette-ivt-s.c

528h

CS_IsabellenhuetteIvtString0Ec

Current sensor string 0: energy counting

can_cbs_rx_cs_isabellenhuette-ivt-s.c

5.1.11. Aerosol Sensor

ID

Name

Comment

Implementation file

3C4h

AS_HoneywellBas6cX00

can_cbs_rx_as_honeywell-bas6c-x00.c

5.2. Ethernet

Additionally to to CAN communication an ethernet communication interface is provided. Currently plain TCP/IP is supported for user defined application tasks. These tasks can be placed in ethernet.c. As an example and for testing purposes an echo server is implemented there. More details can be found in Ethernet Module.