4.20. McLaren IPG5 Inverter Driver - MclrnIpg5InvDrvr

Id

MclrnIpg5InvDrvr

Version

0.2.2.0

Title

McLaren IPG5 Inverter Driver

System

Drivetrain

Document Type

Application Software Component Specification Preview

4.20.1. Overview

The McLaren IPG5 Inverter Driver (MclrnIpg5InvDrvr) software component provides an integration of generic drivetrain system with the McLaren IPG5 Inverter. The software component controls the IPG5 inverter state, maps vehicle conditions, gear and torque requests into command messages for the inverter, monitors inverter state and handles normal and safe-state conditions.

4.20.2. Functions

Title

Description

Inverter State Control And Monitoring

- Command the correct state sequence to capture the desired inverter state.
- Monitor inverter state against commanded states, providing high-integrity state information.
- Ensure safe direction change (change direction only when Torque Control is inactive).
- Determine generic inverter state feedback for vehicle systems.

Torque Request Conditioning

- Enable torque command only when Inverter is ready to provide torque.
- Disable or alter torque commands on safe states.

Inverter Direction and Sign Configuration

- Configure inverter direction installation from the central VCU config.
- Configure & transform motor feedback signs from inverter-local to vehicle coordinates.

CAN Interface Abstraction and Payload Handling

- Provide state commands and torque requests to the inverter in specified messages.
- Provide valid inverter feedback information to vehicle systems (dynamic, temperature, electric).
- Provide critical vehicle system information to the inverter (HV parameters, operating conditions, cooling).

Inverter Fault Monitoring and Handling

- Inverter SAFE_STATE latching until safe reset conditions.
- Inverter CAN Silence fault monitoring and mitigation (see torque conditioning).
- Inverter state monitoring and state control fault handling.

4.20.3. Ports

Id

Direction

Data Type

Dimensions

Unit

Description

Keywords

1

InvGearReq

Incoming

Enum: CmnenaGearSt

[1]

inherit

Expected signal: Gear Command from Gear Selection (PRND) Controller
If signal is NA: mandatory

Inverter Gear Request

2

InvTqReq

Incoming

single

[1]

N*m

Expected signal: Torque Request from Drive Torque Controller
If signal is NA: mandatory

Inverter Torque Request

3

InvFwdCcwCfg

Incoming

boolean

[1]

inherit

Expected signal: Inverter Direction Configuration Parameter
If signal is NA: mandatory

Inverter Fwd Counterclockwise Configuration

4

VehSt

Incoming

Enum: CmnenaVehSt

[1]

inherit

Expected signal: Vehicle State (Ignition Status)
If signal is NA: mandatory

Vehicle State

5

BatSt

Incoming

Enum: CmnenaBatSt

[1]

inherit

Expected signal: High Voltage Battery State (BMS State)
If signal is NA: mandatory

Battery State

6

NmSlpReq

Incoming

boolean

[1]

inherit

Expected signal: Network Management Inverter Sleep Request
If signal is NA: mandatory

Nm Sleep Request

7

CanMpu00

Incoming

Bus: CAN_MPU_00_t

[-1]

inherit

Expected signal: MPU_00 CAN message from IPG5 Inverter
If signal is NA: mandatory

Can Mpu00

8

CanMpu01

Incoming

Bus: CAN_MPU_01_t

[-1]

inherit

Expected signal: MPU_01 CAN message from IPG5 Inverter
If signal is NA: mandatory

Can Mpu01

9

CanMpu02

Incoming

Bus: CAN_MPU_02_t

[-1]

inherit

Expected signal: MPU_02 CAN message from IPG5 Inverter
If signal is NA: mandatory

Can Mpu02

10

CanMpu03

Incoming

Bus: CAN_MPU_03_t

[-1]

inherit

Expected signal: MPU_03 CAN message from IPG5 Inverter
If signal is NA: mandatory

Can Mpu03

11

CanMpu04

Incoming

Bus: CAN_MPU_04_t

[-1]

inherit

Expected signal: MPU_04 CAN message from IPG5 Inverter
If signal is NA: mandatory

Can Mpu04

12

VldMpu00

Incoming

boolean

[1]

inherit

Expected signal: MPU_00 CAN message validity flag
If signal is NA: mandatory

Valid Mpu00

13

VldMpu01

Incoming

boolean

[1]

inherit

Expected signal: MPU_01 CAN message validity flag
If signal is NA: mandatory

Valid Mpu01

14

VldMpu02

Incoming

boolean

[1]

inherit

Expected signal: MPU_02 CAN message validity flag
If signal is NA: mandatory

Valid Mpu02

15

VldMpu03

Incoming

boolean

[1]

inherit

Expected signal: MPU_03 CAN message validity flag
If signal is NA: mandatory

Valid Mpu03

16

VldMpu04

Incoming

boolean

[1]

inherit

Expected signal: MPU_04 CAN message validity flag
If signal is NA: mandatory

Valid Mpu04

17

THybCoolg

Incoming

single

[1]

degC

Expected signal: Coolant Temperature before the MPU or the Electric Motor
If signal is NA: mandatory

Temperature Hybrid Cooling

18

FlowHybCoolg

Incoming

single

[1]

lpm

Expected signal: Coolant Flow Rate for the MPU or the Electric Motor cooling
If signal is NA: mandatory

Flow Hybrid Cooling

19

TAmb

Incoming

single

[1]

degC

Expected signal: Ambient Temperature
If signal is NA: mandatory

Temperature Ambient

20

VehSpdEbs

Incoming

single

[1]

km/h

Expected signal: Independent high-integrity Vehicle Speed input (for instance, from EBS)
If signal is NA: mandatory

Vehicle Speed Ebs

21

HvBatVolt

Incoming

single

[1]

V

Expected signal: HV Battery Voltage
If signal is NA: mandatory

Hv Battery Volt

22

HvCurChrgMax

Incoming

single

[1]

A

Expected signal: HV Battery maximum Charging Current
If signal is NA: mandatory

Hv Current Charging Maximum

23

HvCurDchaMax

Incoming

single

[1]

A

Expected signal: HV Battery maximum Discharge Current
If signal is NA: mandatory

Hv Current Discharge Maximum

24

LvBatVolt

Incoming

single

[1]

V

Expected signal: LV Battery Voltage (for diagnostic purposes)
If signal is NA: constant 12 V

Lv Battery Volt

25

Ts

Incoming

single

[1]

inherit

Expected signal: Gear Command from Gear Selection (PRND) Controller
If signal is NA: mandatory

Ts

26

NoCrashSts

Incoming

Enum: VtSig_NCrashStatus_t

[1]

Expected signal: Status of number of crashes (as enum)
If signal is NA: ground

Number Crash Status

27

CanVcs00

Outgoing

Bus: CAN_VCS_00_t

[-1]

inherit

Can Vcs00

28

CanVcs01

Outgoing

Bus: CAN_VCS_01_t

[-1]

inherit

Can Vcs01

29

CanVcs02

Outgoing

Bus: CAN_VCS_02_t

[-1]

inherit

Can Vcs02

30

CanVcsObd

Outgoing

Bus: CAN_VCS_OBD_t

[-1]

inherit

Can Vcs Obd

31

SndVcs00

Outgoing

boolean

[1]

inherit

Send Vcs00

32

SndVcs01

Outgoing

boolean

[1]

inherit

Send Vcs01

33

SndVcs02

Outgoing

boolean

[1]

inherit

Send Vcs02

34

SndVcsObd

Outgoing

boolean

[1]

inherit

Send Vcs Obd

35

InvdrvGearSt

Outgoing

Enum: CmnenaGearSt

[1]

inherit

Invdrv Gear State

36

InvdrvStAct

Outgoing

Enum: VtSig_NMPUStatus_t

[1]

inherit

Invdrv State Actual

37

InvdrvTqTracLim

Outgoing

single

[1]

N*m

Invdrv Torque Traction Limit

38

InvdrvTqRgnLim

Outgoing

single

[1]

N*m

Invdrv Torque Regeneration Limit

39

InvdrvTqLimRsn

Outgoing

Enum: VtSig_NMPUDerateReason_t

[1]

inherit

Invdrv Torque Limit Reason

40

InvdrvTqFb

Outgoing

single

[1]

N*m

Invdrv Torque Feedback

41

InvdrvSpdFb

Outgoing

int16

[1]

rpm

Invdrv Speed Feedback

42

InvdrvSpdSt

Outgoing

Enum: CmnenaQly

[1]

inherit

Invdrv Speed State

43

InvdrvHvPwrFb

Outgoing

single

[1]

W

Invdrv Hv Power Feedback

44

InvdrvHvCurFb

Outgoing

single

[1]

inherit

Invdrv Hv Current Feedback

45

InvdrvHvVoltFb

Outgoing

single

[1]

V

Invdrv Hv Volt Feedback

46

InvdrvHvDaVld

Outgoing

boolean

[1]

inherit

Invdrv Hv Data Valid

47

InvdrvHvilSta

Outgoing

Enum: VtSig_NHVILStatus_t

[1]

inherit

Invdrv Hvil Sta

48

InvdrvConnSta

Outgoing

Enum: VtSig_NHVConnectionStatus_t

[1]

inherit

Invdrv Connection Sta

49

InvdrvHvT

Outgoing

int16

[6]

degC

Invdrv Hv Temperature

50

InvdrvLvT

Outgoing

int16

[1]

degC

Invdrv Lv Temperature

51

InvdrvSafeStFlg

Outgoing

boolean

[1]

inherit

Invdrv Safe State Flag

52

InvdrvMpuFltFlg

Outgoing

boolean

[1]

inherit

Invdrv Mpu Fault Flag

53

InvdrvCanFltFlg

Outgoing

boolean

[1]

inherit

Invdrv Can Fault Flag

4.20.4. Parameters

Id

Data Type

Dimensions

Range

Unit

Description

Keywords

1

InvdrvDirCmdTbl

uint8

[9,3]

Min: , Max:

Direction Command Table for Inverter Driver (rows - combined Inverter State; columns - target Inverter Direction) ROWS “INIT ; LV_STANDBY ; HV_INIT ; HV_STANDBY ; HV_TORQUE ; HV_DISCHARGE ; SHUTDOWN ; SLEEP ; SAFE_STATE” COLUMNS “STAT ; CW ; CCW”

Invdrv Direction Command Table

2

InvdrvStCmdTbl

uint8

[9,4]

Min: , Max:

State Command Table for Inverter Driver (rows - combined Inverter State; columns - target Inverter State) ROWS “INIT ; LV_STANDBY ; HV_INIT ; HV_STANDBY ; HV_TORQUE ; HV_DISCHARGE ; SHUTDOWN ; SLEEP ; SAFE_STATE” COLUMNS “SLEEP ; LV_STANDBY ; HV_STANDBY ; HV_TORQUE”

Invdrv State Command Table

3

InvdrvDirChgTqRstCfg

boolean

[1,1]

Min: 0, Max: 1

Torque Control mode reset on Direction Change request: 0 - keep active HV_Torque mode, 1 - reset to HV_Standby mode

Invdrv Direction Change Torque Reset Configuration

4

InvdrvMotRotSignPosCcwCfg

boolean

[1,1]

Min: 0, Max: 1

Motor Rotation Sign Configuration: 0 - Clockwise(CW) Positive, 1 - Anticlockwise(CCW) Positive

Invdrv Motor Rotation Sign Positive Counterclockwise Configuration

5

InvdrvMotSpdThdRgn

int16

[1,1]

Min: 0, Max: 10000

rpm

Motor Speed Threshold for enabling Regeneration

Invdrv Motor Speed Threshold Regeneration

6

InvdrvMotSpdThdSftyRst

int16

[1,1]

Min: 0, Max: 32767

rpm

Motor Speed Threshold for enabling Inverter Driver Safe_State reset

Invdrv Motor Speed Threshold Safety Reset

7

InvdrvMotSpdVldyRng

int16

[1,2]

Min: , Max:

rpm

Motor Speed Validity Range for signal range monitoring

Invdrv Motor Speed Validity Range

8

InvdrvMotTqThdSftyRst

single

[1,1]

Min: 0, Max: 5000

N*m

Motor Torque Threshold for enabling Inverter Driver Safe_State reset

Invdrv Motor Torque Threshold Safety Reset

9

InvdrvStCfmFltDly

single

[1,1]

Min: 0, Max: 100

sec

Inverter State Confirmation Fault Time Delay before declaring Safe_State

Invdrv State Confirmation Fault Delay

10

InvdrvStCmdIninDly

single

[1,1]

Min: 0, Max: 100

sec

Inverter Driver State and Command Initialization Delay

Invdrv State Command Initialization Delay

11

InvdrvUncmdStFltDly

single

[1,1]

Min: 0, Max: 100

sec

Inverter Uncommanded State Fault Time Delay before declaring Safe_State

Invdrv Uncommanded State Fault Delay