LoaMgr_MDD

Module Design Document

For

LoaMgr

October 6, 2017

Prepared By:

Matthew Leser

Software Engineering

Nexteer Automotive,

Saginaw, MI, USA


Change History

DescriptionAuthorVersionDate
Initial VersionMatthew Leser106-Oct-2017


Table of Contents1 Introduction 5

1.1 Purpose 5

2 LoaMgr High-Level Description 6

3 Design details of software module 7

3.1 Graphical representation of LoaMgr 7

3.2 Data Flow Diagram 8

3.2.1 Component level DFD 8

3.2.2 Function level DFD 8

4 Constant Data Dictionary 9

4.1 Program (fixed) Constants 9

4.1.1 Embedded Constants 9

5 Software Component Implementation 10

5.1 Sub-Module Functions 10

5.1.1 Init: LoaMgrInit1 10

5.1.1.1 Design Rationale 10

5.1.1.2 Module Outputs 10

5.1.2 Per: LoaMgrPer1 10

5.1.2.1 Design Rationale 10

5.1.2.2 Store Module Inputs to Local copies 10

5.1.2.3 (Processing of function)……… 10

5.1.2.4 Store Local copy of outputs into Module Outputs 10

5.2 Server Runables 10

5.3 Interrupt Functions 10

5.4 Module Internal (Local) Functions 10

5.4.1 Local Function #1 10

5.4.1.1 Design Rationale 10

5.4.1.2 Processing 11

5.4.2 Local Function #2 11

5.4.2.1 Design Rationale 11

5.4.2.2 Processing 11

5.4.3 Local Function #3 11

5.4.3.1 Design Rationale 11

5.4.3.2 Processing 11

5.4.4 Local Function #4 11

5.4.4.1 Design Rationale 11

5.4.4.2 Processing 11

5.4.5 Local Function #5 12

5.4.5.1 Design Rationale 12

5.4.5.2 Processing 12

5.4.6 Local Function #6 12

5.4.6.1 Design Rationale 12

5.4.6.2 Processing 12

5.4.7 Local Function #7 12

5.4.7.1 Design Rationale 12

5.4.7.2 Processing 13

5.4.8 Local Function #8 13

5.4.8.1 Design Rationale 13

5.4.8.2 Processing 13

5.5 GLOBAL Function/Macro Definitions 13

6 Known Limitations with Design 14

7 UNIT TEST CONSIDERATION 15

Appendix A Abbreviations and Acronyms 16

Appendix B Glossary 17

Appendix C References 18

Introduction

Purpose

MDD for Loss of Assist Manager

LoaMgr High-Level Description

Refer to FDD

Design details of software module

Graphical representation of LoaMgr

Data Flow Diagram

Refer FDD

Component level DFD

Function level DFD

Constant Data Dictionary

Program (fixed) Constants

Embedded Constants

Local Constants

Constant NameResolutionUnitsValue
Refer .m file

Software Component Implementation

Sub-Module Functions

Init: LoaMgrInit1

Design Rationale

Refer FDD

Module Outputs

Refer FDD

Per: LoaMgrPer1

Design Rationale

Refer FDD

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

None

Interrupt Functions

None

Module Internal (Local) Functions

Local Function #1

Function NameLtchInpTypeMinMax
Arguments PassedIdptSig_Cnt_T_u08uint804
MaxAllwdVal_Cnt_T_u08uint824
*PrevVal_Cnt_T_u08uint804
Return ValueHwTqResp_Cnt_T_u08uint804

Design Rationale

None

Processing

Refer to ‘Latch_Inputs’ block in FDD at ‘SF049B_LoaMgr/LoaMgr/LoaMgrPer1/Latch_Inputs’

Local Function #2

Function NameCntMtgtnReqTypeMinMax
Arguments PassedHwTqLoaMtgtnEna_Cnt_T_lgcbooleanFALSETRUE
MotAgLoaMtgtnEna_Cnt_T_lgcbooleanFALSETRUE
CurrMeasLoaMtgtnEna_Cnt_T_lgcbooleanFALSETRUE
IvtrLoaMtgtnEna_Cnt_T_lgcbooleanFALSETRUE
Return ValueMultiMtgtnResp_Cnt_T_u08uint803

Design Rationale

None

Processing

Refer to ‘CntMtgtnReq’ block in FDD at ‘SF049B_LoaMgr/LoaMgr/LoaMgrPer1/Arbitrate_Responses/CntSwBasdMtgtn/CntMtgtnReq’

Local Function #3

Function NameReqHwTqRespTypeMinMax
Arguments PassedHwTqIdptMin_Cnt_T_u08uint804
TqLoaAvl_Cnt_T_lgcbooleanFALSETRUE
Return ValueHwTqResp_Cnt_T_u08uint805

Design Rationale

None

Processing

Refer to ‘HwTqResp’ block in FDD at ‘SF049A_LoaMgr/LoaMgr/LoaMgrPer1/Request_Responses’

Local Function #4

Function NameReqMotAgRespTypeMinMax
Arguments PassedMotAgIdptMin_Cnt_T_u08uint803
MotAgSnsrlsAvl_Cnt_T_loglbooleanFALSETRUE
Return ValueMotAgResp_Cnt_T_u08uint805

Design Rationale

None

Processing

Refer to ‘MotAgResp’ block in FDD at ‘SF049A_LoaMgr/LoaMgr/LoaMgrPer1/Request_Responses’

Local Function #5

Function NameReqCurrMeasRespTypeMinMax
Arguments PassedCurrMeasIdptMin_Cnt_T_u08uint802
Return ValueCurrMeasResp_Cnt_T_u08uint805

Design Rationale

None

Processing

Refer to ‘CurrMeasResp’ block in FDD at ‘SF049A_LoaMgr/LoaMgr/LoaMgrPer1/Request_Responses’

Local Function #6

Function NameReqInvtrRespTypeMinMax
Arguments PassedIvtrIdptMin_Cnt_T_u08uint802
Return ValueInvtrResp_Cnt_T_u08uint805

Design Rationale

None

Processing

Refer to ‘CurrMeasResp’ block in FDD at ‘SF049A_LoaMgr/LoaMgr/LoaMgrPer1/Request_Responses’

Local Function #7

Function NameCntSwBasdMtgtnChkTypeMinMax
Arguments PassedResp_Cnt_T_u08uint805
PrevMtgtnEna_Cnt_T_lgcbooleanFALSETRUE
Return ValueMtgtnEna_Cnt_T_lgcbooleanFALSETRUE

Design Rationale

None

Processing

This function corresponds to common logic (for all requests) in ‘CntSwBasdMtgtn’ block in FDD at ‘SF049A_LoaMgr/LoaMgr/LoaMgrPer1/Arbitrate_Responses’

Local Function #8

Function NameSelFinalRespTypeMinMax
Arguments PassedMultiMtgtnResp_Cnt_T_u08uint805
HwTqResp_Cnt_T_u08uint805
MotAgResp_Cnt_T_u08uint805
CurrMeasResp_Cnt_T_u08uint805
InvtrResp_Cnt_T_u08uint805
Return ValueLoaSt_Cnt_T_enumLoaSt105

Design Rationale

None

Processing

This function corresponds to ‘SelFinalResp’ block in FDD at ‘SF049A_LoaMgr/LoaMgr/LoaMgrPer1/Arbitrate_Responses’

Local Function #9

Function NameSetFaultsTypeMinMax
Arguments PassedLoaSt_Cnt_T_enumLoaSt105
HwTqIdptMin_Cnt_T_u08uint804
MotAgIdptMin_Cnt_T_u08uint803
CurrMeasIdptMin_Cnt_T_u08uint802
IvtrIdptMin_Cnt_T_u08uint802
Return ValueNone

Design Rationale

None

Processing

This function corresponds to ‘Set_Faults’ block in FDD at ‘SF049A_LoaMgr/LoaMgr/LoaMgrPer1’

Local Function #10

Function NameSwMtgtnEnTypeMinMax
Arguments PassedHwTqLoaMtgtnEna_Cnt_T_lgcbooleanFALSETRUE
MotAgLoaMtgtnEna_Cnt_T_lgcbooleanFALSETRUE
CurrMeasLoaMtgtnEna_Cnt_T_lgcbooleanFALSETRUE
IvtrLoaMtgtnEna_Cnt_T_lgcbooleanFALSETRUE
VehSpeedMod_Cnt_T_enumenumSTEERMOD_BASEPSSTEERMOD_FULLYATNMS
*LoaSca_Uls_T_f32float3201
*LoaRateLim_UlsPerSec_T_f32float320.01500
Return ValueNone

Design Rationale

None

Processing

This function corresponds to ‘SwMtgtn’ block in FDD at ‘SF049A_LoaMgr/LoaMgr/LoaMgrPer1/Assign_Scale’.

Note that ‘*LoaSca_Uls_T_f32’ and ‘*LoaRateLim_UlsPerSec_T_f32’ are the outputs of this function.

Local Function #11

Function NameLoaMgrCoderTypeMinMax
Arguments PassedCurrMeasLoaMtgtnEna_Cnt_T_lgcbooleanFALSETRUE
IvtrLoaMtgtnEna_Cnt_T_lgcbooleanFALSETRUE
FetLoaMtgtnEna_Cnt_T_lgcbooleanFALSETRUE
Return ValueMotAndThermProtnLoaMod_Cnt_T_u08uint807

Design Rationale

None

Processing

This function corresponds to ‘coder block in FDD at ‘SF049B_LoaMgr/LoaMgr/LoaMgrPer1/coder’ .

GLOBAL Function/Macro Definitions

None

Known Limitations with Design

None

UNIT TEST CONSIDERATION

To satisfy IF case inside function ‘LtchInp’, out of range values will need to be given for values passed to function.

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.docEA4 01.00.00
4Software Design and Coding Standards.doc2.1
5FDD : SF049B_LoaMgr_DesignSee Synergy sub project version
Last modified October 12, 2025: Initial commit (af72ad2)