GmOvrlStMgr_MDD

Module Design Document

For

GmOvrlStMgr

August 22, 2016

Prepared For:

Software Engineering

Nexteer Automotive,

Saginaw, MI, USA

Prepared By:

Nick Saxton,

Nexteer Automotive,

Saginaw, MI, USA
Change History

DescriptionAuthorVersionDate
Initial VersionSankardu Varadapureddi16-Oct-2015
Added HwTq based intervention for LKA, handwheel buzz based on LoA key cyclesNick Saxton211-Feb-2016
Changed argument names of ESCFlt local functionNick Saxton313-Jun-2016
Updated graphical representation and edited local function sectionNick Saxton424-Jun-2016
Updated for FDD v4.0.0Nick Saxton522-Aug-2016


Table of Contents1 GmOvrlStMgr High-Level Description 6

2 Design details of software module 7

2.1 Graphical representation of GmOvrlStMgr 8

2.2 Data Flow Diagram 9

2.2.1 Component level DFD 9

2.2.2 Function level DFD 9

3 Constant Data Dictionary 10

3.1 Program (fixed) Constants 10

3.1.1 Embedded Constants 10

4 Software Component Implementation 11

4.1 Sub-Module Functions 11

4.1.1 Init: GmOvrlStMgrInit1 11

4.1.1.1 Design Rationale 11

4.1.1.2 Module Outputs 11

4.1.2 Per: GmOvrlStMgrPer1 11

4.1.2.1 Design Rationale 11

4.1.2.2 Store Module Inputs to Local copies 11

4.1.2.3 (Processing of function)……… 11

4.1.2.4 Store Local copy of outputs into Module Outputs 11

4.2 Server Runables 11

4.2.1 GetGmLoaIgnCntr_Oper 11

4.2.1.1 Design Rationale 11

4.2.1.2 Store Module Inputs to Local copies 11

4.2.1.3 (Processing of function)……… 11

4.2.1.4 Store Local copy of outputs into Module Outputs 11

4.2.2 SetGmLoaIgnCntr_Oper 12

4.2.2.1 Design Rationale 12

4.2.2.2 Store Module Inputs to Local copies 12

4.2.2.3 (Processing of function)……… 12

4.2.2.4 Store Local copy of outputs into Module Outputs 12

4.3 Interrupt Functions 12

4.4 Module Internal (Local) Functions 12

4.4.1 Local Function #1 12

4.4.1.1 Description 12

4.4.2 Local Function #2 12

4.4.2.1 Description 12

4.4.3 Local Function #3 12

4.4.3.1 Description 13

4.4.4 Local Function #4 13

4.4.4.1 Description 13

4.4.5 Local Function #5 13

4.4.5.1 Description 13

4.4.6 Local Function #6 13

4.4.6.1 Description 13

4.4.7 Local Function #7 14

4.4.7.1 Description 14

4.4.8 Local Function #8 14

4.4.8.1 Description 14

4.4.9 Local Function #9 14

4.4.9.1 Description 15

4.4.10 Local Function #10 15

4.4.10.1 Description 15

4.4.11 Local Function #11 15

4.4.11.1 Description 16

4.4.12 Local Function #12 16

4.4.12.1 Description 16

4.4.13 Local Function #13 16

4.4.13.1 Description 17

4.4.14 Local Function #14 17

4.4.14.1 Description 17

4.4.15 Local Function #15 17

4.4.15.1 Description 17

4.4.16 Local Function #16 17

4.4.16.1 Description 17

4.4.17 Local Function #17 18

4.4.17.1 Description 18

4.4.18 Local Function #18 18

4.4.18.1 Description 18

4.4.19 Local Function #19 18

4.4.19.1 Description 18

4.4.20 Local Function #20 18

4.4.20.1 Description 19

4.4.21 Local Function #21 19

4.4.21.1 Description 19

4.4.22 Local Function #22 19

4.4.22.1 Description 19

4.4.23 Local Function #23 19

4.4.23.1 Description 20

4.4.24 Local Function #24 20

4.4.24.1 Description 20

4.5 GLOBAL Function/Macro Definitions 20

5 Known Limitations with Design 21

6 UNIT TEST CONSIDERATION 22

Appendix A Abbreviations and Acronyms 23

Appendix B Glossary 24

Appendix C References 25

GmOvrlStMgr High-Level Description

Refer to FDD

Design details of software module

Graphical representation of GmOvrlStMgr

Data Flow Diagram

Refer FDD

Component level DFD

Function level DFD

Constant Data Dictionary

Program (fixed) Constants

Embedded Constants

Refer .m file

Software Component Implementation

Sub-Module Functions

Init: GmOvrlStMgrInit1

Design Rationale

Refer FDD

Module Outputs

Refer FDD

Per: GmOvrlStMgrPer1

Design Rationale

Refer FDD for the overall functionality.

Store Module Inputs to Local copies

Refer FDD

(Processing of function)………

Refer FDD

Store Local copy of outputs into Module Outputs

Refer FDD

Server Runables

GetGmLoaIgnCntr_Oper

Design Rationale

Refer FDD for the overall functionality.

Store Module Inputs to Local copies

Refer FDD

(Processing of function)………

Refer FDD

Store Local copy of outputs into Module Outputs

Refer FDD

SetGmLoaIgnCntr_Oper

Design Rationale

Refer FDD for the overall functionality.

Store Module Inputs to Local copies

Refer FDD

(Processing of function)………

Refer FDD

Store Local copy of outputs into Module Outputs

Refer FDD

Interrupt Functions

None

Module Internal (Local) Functions

Local Function #1

Function NameVehStandStillTmrElpdChkTypeMinMax
Arguments PassedVehSpdSecurMax_Kph_T_f32float320511
Return ValueVehStandStillTiExcdd_Cnt_T_loglbooleanFALSETRUE

Description

"Timer for VehStandStill" block implementation.

Local Function #2

Function NameShiftLvrRvsTmrElpdChkTypeMinMax
Arguments PassedShiftLvrRvs_Cnt_T_loglbooleanFALSETRUE
Return ValueShiftLvrRvsTiExcdd_Cnt_T_loglbooleanFALSETRUE

Description

"Timer for ShiftLvrRvs" block implementation.

Local Function #3

Function NameApaIntvTypeMinMax
Arguments PassedHwTq_HwNwtMtr_T_f32float32-1010
Return ValueApaIntv_Cnt_T_loglbooleanFALSETRUE

Description

"ApaIntv" block implementation.

Local Function #4

Function NameHaptcEnaDurnElpdChkTypeMinMax
Arguments PassedHwHaptcEna_Cnt_T_loglbooleanFALSETRUE
Return ValueHwHaptcEnaDurnExcdd_Cnt_T_loglbooleanFALSETRUE

Description

"Timer for HwHaptcEna" block implementation.

Local Function #5

Function NameLkaFltActvChkTypeMinMax
Arguments PassedMsg17DBusHiSpdMiss_Cnt_T_loglbooleanFALSETRUE
Msg180BusHiSpdMiss_Cnt_T_loglbooleanFALSETRUE
Msg180BusHiSpdInvld_Cnt_T_loglbooleanFALSETRUE
Msg1E9BusHiSpdMiss_Cnt_T_loglbooleanFALSETRUE
Msg214BusHiSpdInvld_Cnt_T_loglbooleanFALSETRUE
Msg214BusHiSpdMiss_Cnt_T_loglbooleanFALSETRUE
VehSpdSecurMaxVld_Cnt_T_loglbooleanFALSETRUE
VehSpdSecurMinVld_Cnt_T_loglbooleanFALSETRUE
Return ValueLkaFlt_Cnt_T_loglbooleanFALSETRUE

Description

Determination of 'LkaFlt'.

Local Function #6

Function NameLkaInhbChkTypeMinMax
Arguments PassedMsg17DBusHiSpdInvld_Cnt_T_loglbooleanFALSETRUE
VehStabyEnhmtActv_Cnt_T_loglbooleanFALSETRUE
AbsActvProtd_Cnt_T_loglbooleanFALSETRUE
Msg1E9BusHiSpdInvld_Cnt_T_loglbooleanFALSETRUE
Return ValueLkaInhb_Cnt_T_loglbooleanFALSETRUE

Description

Determination of ' LkaInhb'.

Local Function #7

Function NameApaRcvrlFltChkTypeMinMax
Arguments PassedMsg1F5BusHiSpdInvld_Cnt_T_loglbooleanFALSETRUE
VehSpdSecurMaxVld_Cnt_T_loglbooleanFALSETRUE
VehSpdSecurMinVld_Cnt_T_loglbooleanFALSETRUE
Return ValueApaRcvrlFlt_Cnt_T_loglbooleanFALSETRUE

Description

Determination of ‘ ApaRcvrlFlt’.

Local Function #8

Function NameApaTmpInhbExitCdnsChkTypeMinMax
Arguments PassedApaNrcvrlFlt_Cnt_T_loglbooleanFALSETRUE
LoaSt_Cnt_T_enumLoaSt1 (enum)LOAST_NORMLOAST_IMDTSHTDWNREQD
VehSpdSecurMax_Kph_T_f32float320511
ApaEna_Cnt_T_loglbooleanFALSETRUE
HwHaptcEna_Cnt_T_loglbooleanFALSETRUE
ApaRcvrlFlt_Cnt_T_loglbooleanFALSETRUE
SysSt_Cnt_T_enumSysSt1SYSST_DISYSST_WRMIN
*ApaSt_Cnt_T_u08uint804
Return ValueNone

Description

This function validates conditions for all state transitions from ‘ APA Temporarily Inhibited’ state.

‘*ApaSt_Cnt_T_u08’ is an output of this function.

Local Function #9

Function NameApaActvExitCdnsChkTypeMinMax
Arguments PassedApaNrcvrlFlt_Cnt_T_loglbooleanFALSETRUE
LoaSt_Cnt_T_enumLoaSt1 (enum)LOAST_NORMLOAST_IMDTSHTDWNREQD
VehSpdSecurMax_Kph_T_f32float320511
ApaEna_Cnt_T_loglbooleanFALSETRUE
HwHaptcEna_Cnt_T_loglbooleanFALSETRUE
ApaRcvrlFlt_Cnt_T_loglbooleanFALSETRUE
ApaIntv_Cnt_T_loglbooleanFALSETRUE
SysSt_Cnt_T_enumSysSt1SYSST_DISYSST_WRMININ
*ApaSt_Cnt_T_u08uint804
Return ValueNone

Description

This function validates conditions for all state transitions from ‘ APA Active’ state.

‘*ApaSt_Cnt_T_u08’ is an output of this function.

Local Function #10

Function NameApaCtrlAvlExitCdnsChkTypeMinMax
Arguments PassedVehSpdSecurMax_Kph_T_f32float320511
ApaRcvrlFlt_Cnt_T_loglbooleanFALSETRUE
HwHaptcEnaDurnExcdd_Cnt_T_loglbooleanFALSETRUE
VehStandStillTiExcdd_Cnt_T_loglbooleanFALSETRUE
ShiftLvrRvsTiExcdd_Cnt_T_loglbooleanFALSETRUE
ApaEna_Cnt_T_loglbooleanFALSETRUE
HwHaptcEna_Cnt_T_loglbooleanFALSETRUE
HaptcStTranActvToWaitFlg_Cnt_T_loglbooleanFALSETRUE
TranHaptcWaitToApaStActvFlg_Cnt_T_loglbooleanFALSETRUE
SysSt_Cnt_T_enumSysSt1SYSST_DISYSST_WRMININ
*HaptcSt_Cnt_T_u08uint802
*ApaSt_Cnt_T_u08uint804
Return ValueNone

Description

This function validates conditions for all state transitions from and within ‘APA Availability for Control’ state.

‘*ApaSt_Cnt_T_u08 and *HaptcSt_Cnt_T_u08’ are outputs of this function.

Local Function #11

Function NameLkaStTranTypeMinMax
Arguments PassedLkaMfgEna_Cnt_T_loglbooleanFALSETRUE
LkaPrmntFlt_Cnt_T_loglbooleanFALSETRUE
LoaSt_Cnt_T_enumbooleanLOAST_NORMLOAST_IMDTSHTDWNREQD
LkaFlt_Cnt_T_loglbooleanFALSETRUE
LkaInhb_Cnt_T_loglbooleanFALSETRUE
EscSt_Cnt_T_u08uint804
LkaEna_Cnt_T_loglbooleanFALSETRUE
VehSpdSecurMin_Kph_T_f32float320511
VehSpdSecurMax_Kph_T_f32float320511
LKAIntv_Cnt_T_loglbooleanFALSETRUE
SysSt_Cnt_T_enumSysSt1SYSST_DISYSST_WRMININ
* LkaSt_Cnt_T_u08uint804
Return ValueNone

Description

Implementation of all LKA state transitions.

‘*LkaSt_Cnt_T_u08’ is the output of this function.

Local Function #12

Function NameEscStTranTypeMinMax
Arguments PassedEscMfgEna_Cnt_T_loglbooleanFALSETRUE
EscFlt_Cnt_T_loglbooleanFALSETRUE
LoaSt_Cnt_T_enumbooleanLOAST_NORMLOAST_IMDTSHTDWNREQD
VehSpdSecurMax_Kph_T_f32boolean0511
EscEna_Cnt_T_loglbooleanFALSETRUE
EscLimdActv_Cnt_T_loglbooleanFALSETRUE
SysSt_Cnt_T_enumSysSt1SYSST_DISYSST_WRMININ
* EscSt_Cnt_T_u08uint804
Return ValueNone

Description

Implementation of all ESC state transitions.

‘*EscSt_Cnt_T_u08’ is the output of this function.

Local Function #13

Function NameHwAgServoTypeMinMax
Arguments PassedHwAgTrajEna_Cnt_T_loglbooleanFALSETRUE
ApaSt_Cnt_T_u08uint804
HwAgTraj_HwDeg_T_f32float32-14401440
HwAgTarLimd_HwDeg_T_f32float32-14401440
* HwAgServoCmd_HwDeg_T_f32float32-14401440
Return ValueHwAgServoEna_Cnt_T_loglbooleanFALSETRUE

Description

Implementation of all ESC state transitions.

‘*HwAgServoCmd_HwDeg_T_f32’ is the output of this function.

Local Function #14

Function NameInctIgnCntrOnceTypeMinMax
Arguments PassedIgnCntrLcl_Cnt_T_u16boolean065535
Return ValueN/A

Description

Implementation of “InctIgnCntrOnce” block

Local Function #15

Function NameHwTqFildChkTypeMinMax
Arguments PassedHwTq_HwNwtMtr_T_f32float32-10.010.0
Return ValueHwTqFildWithinIntl_Cnt_T_loglbooleanFALSETRUE

Description

Implementation of”HwTqFildIntlChk” block.

Local Function #16

Function NameLKAIntvTypeMinMax
Arguments PassedHwTq_HwNwtMtr_T_f32float32-10.010.0
LkaTqCmdCdnd_HwNwtMtr_T_f32float32-3.03.0
Return ValueLKAIntv_Cnt_T_loglbooleanFALSETRUE

Description

Implementation of “LKAIntv” block.

Local Function #17

Function NameLkaPrmntFltTypeMinMax
Arguments PassedLkaFlt_Cnt_T_loglbooleanFALSETRUE
Return ValueLkaPrmntFlt_Cnt_T_loglbooleanFALSETRUE

Description

Calculates LkaPrmntFlt to be used in state transitions.

Local Function #18

Function NameHaptcStTranActvToWaitFlgTypeMinMax
Arguments PassedNone
Return ValueHaptcStTranActvToWaitFlg_Cnt_T_loglbooleanFALSETRUE

Description

Implementation of “HaptcStTranActvToWaitFlg” block.

Local Function #19

Function NameTranHaptcWaitToApaStActvFlgTypeMinMax
Arguments PassedNone
Return ValueTranHaptcWaitToApaStActvFlg_Cnt_T_loglbooleanFALSETRUE

Description

Implementation of TranHaptcWaitToApaStActvFlg_Cnt_T_logl block.

Local Function #20

Function NameEnHaptcFbTypeMinMax
Arguments Passed*HwOscnEna_Cnt_T_loglbooleanFALSETRUE
*HwOscnMotAmp_MotNwtMtr_T_f32float3201.2
*HwOscnFrq_Hz_T_f32float321050
Return ValueNone

Description

Implementation of “EnHaptcFb” block.

‘*HwOscnEna_Cnt_T_logl , * HwOscnMotAmp_MotNwtMtr_T_f32, *HwOscnFrq_Hz_T_f32 are the outputs of this function.

Local Function #21

Function NameHaptcFbPostStrtUpTypeMinMax
Arguments PassedApaSt_Cnt_T_u08uint804
HaptcSt_Cnt_T_u08uint802
HwTqFildWithinIntl_Cnt_T_loglbooleanFALSETRUE
VehSpd_Kph_T_f32float320511
IgnCntrLcl_Cnt_T_u16uint16065535
LoaStLimdOrSwBasdMtgtn_Cnt_T_loglbooleanFALSETRUE
*HwOscnEna_Cnt_T_loglbooleanFALSETRUE
*HwOscnMotAmp_MotNwtMtr_T_f32float3201.2
*HwOscnFrq_Hz_T_f32float321050
Return ValueNone

Description

Implementation of "En Or Di HaptcFb After Checking At Start Up" block.

‘*HwOscnEna_Cnt_T_logl , * HwOscnMotAmp_MotNwtMtr_T_f32, *HwOscnFrq_Hz_T_f32 are the outputs of this function.

Local Function #22

Function NameApaNrcvrlFltTypeMinMax
Arguments PassedMsg337BusChassisExpInvld_Cnt_T_loglbooleanFALSETRUE
Msg337BusChassisExpMiss_Cnt_T_loglbooleanFALSETRUE
Return ValueApaNrcvrlFlt_Cnt_T_loglbooleanFALSETRUE

Description

Determine ApaNrcvrlFlt status.

Local Function #23

Function NameEscFltTypeMinMax
Arguments PassedMsg180BusChassisExpInvld_Cnt_T_loglbooleanFALSETRUE
Msg180BusChassisExpMiss_Cnt_T_loglbooleanFALSETRUE
Return ValueEscFlt_Cnt_T_loglbooleanFALSETRUE

Description

Determine EscFlt status.

Local Function #24

Function NameLkaCheckTypeMinMax
Arguments Passed*LkaFlt_Cnt_T_loglbooleanFALSETRUE
*LkaInhb_Cnt_T_loglbooleanFALSETRUE
*LkaPrmnFlt_Cnt_T_loglbooleanFALSETRUE

Description

Implements LKA Check subsystem in model. The arguments to this function are all returned as output.

GLOBAL Function/Macro Definitions

None

Known Limitations with Design

  1. DataDict.m includes a default value for GmLoaIgnCntr NVM. This is redundant because the design uses the NVM GetErrorStatus function call to determine if this NVM value should be set to its default value of 0.

UNIT TEST CONSIDERATION

None

Abbreviations and Acronyms

Abbreviation or AcronymDescription

Glossary

Note: Terms and definitions from the source “Nexteer Automotive” take precedence over all other definitions of the same term. Terms and definitions from the source “Nexteer Automotive” are formulated from multiple sources, including the following:

  • ISO 9000

  • ISO/IEC 12207

  • ISO/IEC 15504

  • Automotive SPICE® Process Reference Model (PRM)

  • Automotive SPICE® Process Assessment Model (PAM)

  • ISO/IEC 15288

  • ISO 26262

  • IEEE Standards

  • SWEBOK

  • PMBOK

  • Existing Nexteer Automotive documentation

TermDefinitionSource
MDDModule Design Document
DFDData Flow Diagram

References

Ref. #TitleVersion
1AUTOSAR Specification of Memory Mapping (Link:AUTOSAR_SWS_MemoryMapping.pdf)v1.3.0 R4.0 Rev 2
2MDD GuidelineEA4 01.00.01
3Software Naming Conventions.doc1.0
4Software Design and Coding Standards.doc2.1
5FDD : CF009A_ GmOvrlStMgr_DesignSee Synergy sub project version
Last modified October 12, 2025: Initial commit (1fadfc4)