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