7.1. Battery Management System Driver - ArvlMbmsDrvr
Id |
ArvlMbmsDrvr |
Title |
Battery Management System Driver |
System |
High Voltage Power |
Document Type |
Application Software Component Specification Preview |
7.1.1. Overview
The ArvlMbmsDrvr software component handles communication with the battery management system (BMS), processes BMS data, and provides battery status information to other vehicle systems. It interfaces with the BMS over CAN bus.
7.1.2. Functions
Title |
Description |
|
|---|---|---|
1 |
BMS Communication Handler |
Handles CAN communication with the battery management system, receiving battery status messages and sending control messages. |
2 |
Battery Data Processing |
Processes raw battery data received from the BMS and converts it into usable battery status information like state of charge, voltage, current, temperature, etc. |
3 |
Battery Status Output |
Provides processed battery status data to other vehicle systems that require it. Sends out battery status signals. |
7.1.3. Ports
Id |
Direction |
Data Type |
Dimensions |
Unit |
|
|---|---|---|---|---|---|
1 |
BMS_State |
Incoming |
Bus: CAN_BMS_State_t |
[-1] |
inherit |
2 |
BMS_State_valid |
Incoming |
boolean |
[-1] |
inherit |
3 |
Battery_State |
Incoming |
Bus: CAN_Battery_State_t |
[-1] |
inherit |
4 |
Battery_State_valid |
Incoming |
boolean |
[-1] |
inherit |
5 |
Battery_ChCurrent_Performance |
Incoming |
Bus: CAN_Battery_ChCurrent_Performance_t |
[-1] |
inherit |
6 |
Battery_ChCurrent_Performance_valid |
Incoming |
boolean |
[-1] |
inherit |
7 |
Battery_ChPower_Performance |
Incoming |
Bus: CAN_Battery_ChPower_Performance_t |
[-1] |
inherit |
8 |
Battery_ChPower_Performance_valid |
Incoming |
boolean |
[-1] |
inherit |
9 |
Battery_DchCurrent_Performance |
Incoming |
Bus: CAN_Battery_DchCurrent_Performance_t |
[-1] |
inherit |
10 |
Battery_DchCurrent_Performance_valid |
Incoming |
boolean |
[-1] |
inherit |
11 |
Battery_DchPower_Performance |
Incoming |
Bus: CAN_Battery_DchPower_Performance_t |
[-1] |
inherit |
12 |
Battery_DchPower_Performance_valid |
Incoming |
boolean |
[-1] |
inherit |
13 |
Charging_Info |
Incoming |
Bus: CAN_Charging_Info_t |
[-1] |
inherit |
14 |
Charging_Info_valid |
Incoming |
boolean |
[-1] |
inherit |
15 |
Battery_Info |
Incoming |
Bus: CAN_Battery_Info_t |
[-1] |
inherit |
16 |
Battery_Errors_2 |
Incoming |
Bus: CAN_Battery_Errors_2_t |
[-1] |
inherit |
17 |
Battery_Errors_2_valid |
Incoming |
boolean |
[-1] |
inherit |
18 |
BMSStateReq |
Incoming |
Enum: HVPSSM_HVStateReq_t |
[-1] |
inherit |
19 |
Battery_Pack_Diagnostic |
Incoming |
Bus: CAN_Battery_Pack_Diagnostic_t |
[-1] |
inherit |
20 |
Battery_Pack_Diagnostic_valid |
Incoming |
boolean |
[-1] |
inherit |
21 |
BMS_Mode |
Outgoing |
Enum: HVPSSM_BattPackState_t |
[-1] |
inherit |
22 |
MSDState |
Outgoing |
Enum: HVPSSM_MSDState_t |
[-1] |
inherit |
23 |
UsableBatterySoC |
Outgoing |
single |
[-1] |
inherit |
24 |
BatteryVoltage |
Outgoing |
single |
[-1] |
inherit |
25 |
BatteryCurrent |
Outgoing |
single |
[-1] |
inherit |
26 |
HVBattMaxInputCurrent2s |
Outgoing |
single |
[-1] |
inherit |
27 |
HVBattMaxOutputCurrent2s |
Outgoing |
single |
[-1] |
inherit |
28 |
HVBattMaxInputPower2s |
Outgoing |
single |
[-1] |
inherit |
29 |
HVBattMaxOutputPower2s |
Outgoing |
single |
[-1] |
inherit |
30 |
HVBattMaxInputCurrent10s |
Outgoing |
single |
[-1] |
inherit |
31 |
HVBattMaxOutputCurrent10s |
Outgoing |
single |
[-1] |
inherit |
32 |
HVBattMaxInputPower10s |
Outgoing |
single |
[-1] |
inherit |
33 |
HVBattMaxOutputPower10s |
Outgoing |
single |
[-1] |
inherit |
34 |
HVBattMaxInputCurrent30s |
Outgoing |
single |
[-1] |
inherit |
35 |
HVBattMaxOutputCurrent30s |
Outgoing |
single |
[-1] |
inherit |
36 |
HVBattMaxInputPower30s |
Outgoing |
single |
[-1] |
inherit |
37 |
HVBattMaxOutputPower30s |
Outgoing |
single |
[-1] |
inherit |
38 |
HVBattTargetChargeCurrent |
Outgoing |
single |
[-1] |
inherit |
39 |
BatterySoC |
Outgoing |
single |
[-1] |
inherit |
40 |
valid_BatterySoC |
Outgoing |
boolean |
[-1] |
inherit |
41 |
BattCommState |
Outgoing |
boolean |
[-1] |
inherit |
42 |
BMS_Power_Control |
Outgoing |
Bus: CAN_BMS_Power_Control_t |
[-1] |
inherit |
43 |
ElecMaxRegPower |
Outgoing |
single |
[-1] |
inherit |
44 |
ElecMaxDischPower |
Outgoing |
single |
[-1] |
inherit |
45 |
ElecCurDischPower |
Outgoing |
single |
[-1] |
inherit |
46 |
ElecCurChargePower |
Outgoing |
single |
[-1] |
inherit |
47 |
HVPS_BattPack_Diagnostic |
Outgoing |
Bus: CAN_HVPS_BattPack_Diagnostic_t |
[-1] |
inherit |
48 |
BatterySystemFaultLevel |
Outgoing |
uint8 |
[-1] |
inherit |
49 |
BadHVBO |
Outgoing |
boolean |
[-1] |
inherit |
50 |
BadHVBO_LHM |
Outgoing |
boolean |
[-1] |
inherit |
7.1.4. Parameters
Id |
Data Type |
Dimensions |
Range |
Unit |
Description |
|
|---|---|---|---|---|---|---|
1 |
ArbmsdrvBatCpCanNoOfCycToChk |
single |
[1,1] |
Min: 1, Max: 100 |
Number of CAN cycles to check to detct osciallation |
|
2 |
ArbmsdrvBatCpCanRxTiStep |
single |
[1,1] |
Min: 0.01, Max: 5 |
s |
CAN receive time step for Battery_Ch(Dch)Current(Power)_Performance signals |
3 |
ArbmsdrvBatCpCurLowrLim |
single |
[1,1] |
Min: , Max: |
A |
Current Min out of range detection |
4 |
ArbmsdrvBatCpCurUpprLim |
single |
[1,1] |
Min: , Max: |
A |
Current Max out of range detection |
5 |
ArbmsdrvBatCpOscnDetnThd |
single |
[1,1] |
Min: 0, Max: 1 |
Oscillation detection threshold |
|
6 |
ArbmsdrvBatCpPwrAbsvJmp |
single |
[1,1] |
Min: , Max: |
kW |
Abnormal jump Value |
7 |
ArbmsdrvBatCpPwrLowrLim |
single |
[1,1] |
Min: , Max: |
kW |
Power Min out of range detection |
8 |
ArbmsdrvBatCpPwrUpprLim |
single |
[1,1] |
Min: , Max: |
kW |
Power Max out of range detection |
9 |
ArbmsdrvBatErrCanNoOfCycToChk |
single |
[1,1] |
Min: 1, Max: 100 |
Number of CAN cycles to check to detct osciallation |
|
10 |
ArbmsdrvBatErrCanRxTiStep |
single |
[1,1] |
Min: 0.1, Max: 5 |
s |
CAN receive time step for Battery_Errors2 signals |
11 |
ArbmsdrvBatErrOscnDetnThd |
single |
[1,1] |
Min: 0.5, Max: 1 |
Oscillation detection threshold |
|
12 |
ArbmsdrvBatPkCanNoOfCycToChk |
single |
[1,1] |
Min: 1, Max: 100 |
Number of CAN cycles to check to detct osciallation |
|
13 |
ArbmsdrvBatPkCanRxTiStep |
single |
[1,1] |
Min: 0.01, Max: 5 |
s |
CAN receive time step for Battery_Pack_Diagnostic signals |
14 |
ArbmsdrvBatPkOscnDetnThd |
single |
[1,1] |
Min: 0, Max: 1 |
Oscillation detection threshold |
|
15 |
ArbmsdrvBatStAbsvJmp |
single |
[1,1] |
Min: , Max: |
A |
Abnormal jump Value |
16 |
ArbmsdrvBatStCanNoOfCycToChk |
single |
[1,1] |
Min: 1, Max: 100 |
Number of CAN cycles to check to detct osciallation |
|
17 |
ArbmsdrvBatStCanRxTiStep |
single |
[1,1] |
Min: 0.01, Max: 5 |
s |
CAN receive time step for Battery_State signals |
18 |
ArbmsdrvBatStLowrLim |
single |
[1,1] |
Min: , Max: |
A |
Current Min out of range detection |
19 |
ArbmsdrvBatStOscnDetnThd |
single |
[1,1] |
Min: 0, Max: 1 |
Oscillation detection threshold |
|
20 |
ArbmsdrvBatStUpprLim |
single |
[1,1] |
Min: , Max: |
A |
Current Max out of range detection |
21 |
ArbmsdrvChrgAbsvJmp |
single |
[1,1] |
Min: , Max: |
A |
Abnormal jump Value |
22 |
ArbmsdrvChrgCanNoOfCycToChk |
single |
[1,1] |
Min: 1, Max: 100 |
Number of CAN cycles to check to detct osciallation |
|
23 |
ArbmsdrvChrgCanRxTiStep |
single |
[1,1] |
Min: 0.01, Max: 5 |
s |
CAN receive time step for Charging_Info signals |
24 |
ArbmsdrvChrgLowrLim |
single |
[1,1] |
Min: , Max: |
A |
Current Min out of range detection |
25 |
ArbmsdrvChrgOscnDetnThd |
single |
[1,1] |
Min: 0, Max: 1 |
Oscillation detection threshold |
|
26 |
ArbmsdrvChrgUpprLim |
single |
[1,1] |
Min: , Max: |
A |
Current Max out of range detection |
27 |
ArbmsdrvHvBatPkId |
uint32 |
[1,16] |
Min: 0, Max: 20000000 |
Battery pack identification array for mapping. Unused ID position should be set to 20000000 |
|
28 |
ArbmsdrvMaxBatFltLvl |
uint8 |
[1,1] |
Min: , Max: |
Maximum Battery Fault level used for HVBO out of Range detection |
|
29 |
ArbmsdrvMaxBatInCur30Sec |
single |
[1,1] |
Min: 0, Max: 2000 |
A |
SP of the 30s current limit, exceeding which shell be considered as fault |
30 |
ArbmsdrvMbmsStAbsvJmp |
single |
[1,1] |
Min: , Max: |
% |
Abnormal jump Value |
31 |
ArbmsdrvMbmsStCanNoOfCycToChk |
single |
[1,1] |
Min: 1, Max: 100 |
Number of CAN cycles to check to detct osciallation |
|
32 |
ArbmsdrvMbmsStCanRxTiStep |
single |
[1,1] |
Min: 0.01, Max: 5 |
s |
CAN receive time step for BMS_State signals |
33 |
ArbmsdrvMbmsStLowrLim |
single |
[1,1] |
Min: , Max: |
% |
SoC Min out of range detection |
34 |
ArbmsdrvMbmsStOscnDetnThd |
single |
[1,1] |
Min: 0, Max: 1 |
Oscillation detection threshold |
|
35 |
ArbmsdrvMbmsStUpprLim |
single |
[1,1] |
Min: , Max: |
% |
SoC Max out of range detection |
36 |
ArbmsdrvMinBatFltLvl |
uint8 |
[1,1] |
Min: , Max: |
Minimum Battery Fault level used for HVBO out of Range detection |
|
37 |
ArbmsdrvOkLostTiout |
single |
[1,1] |
Min: 0, Max: 2 |
sec |
Timeout for lost vsOK input signals |
38 |
ArbmsdrvBatCpCurAbsvJmp |
single |
[1,1] |
Min: , Max: |
A |
Abnormal jump Value |