LoaMgr_MDD
Module Design Document
For
LoaMgr
October 6, 2017
Prepared By:
Matthew Leser
Software Engineering
Nexteer Automotive,
Saginaw, MI, USA
Change History
| Description | Author | Version | Date |
| Initial Version | Matthew Leser | 1 | 06-Oct-2017 |
Table of Contents1 Introduction 5
2 LoaMgr High-Level Description 6
3 Design details of software module 7
3.1 Graphical representation of LoaMgr 7
4.1 Program (fixed) Constants 9
5 Software Component Implementation 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.4 Module Internal (Local) Functions 10
5.5 GLOBAL Function/Macro Definitions 13
6 Known Limitations with Design 14
Appendix A Abbreviations and Acronyms 16
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 Name | Resolution | Units | Value |
|---|---|---|---|
| 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 Name | LtchInp | Type | Min | Max |
| Arguments Passed | IdptSig_Cnt_T_u08 | uint8 | 0 | 4 |
| MaxAllwdVal_Cnt_T_u08 | uint8 | 2 | 4 | |
| *PrevVal_Cnt_T_u08 | uint8 | 0 | 4 | |
| Return Value | HwTqResp_Cnt_T_u08 | uint8 | 0 | 4 |
Design Rationale
None
Processing
Refer to ‘Latch_Inputs’ block in FDD at ‘SF049B_LoaMgr/LoaMgr/LoaMgrPer1/Latch_Inputs’
Local Function #2
| Function Name | CntMtgtnReq | Type | Min | Max |
| Arguments Passed | HwTqLoaMtgtnEna_Cnt_T_lgc | boolean | FALSE | TRUE |
| MotAgLoaMtgtnEna_Cnt_T_lgc | boolean | FALSE | TRUE | |
| CurrMeasLoaMtgtnEna_Cnt_T_lgc | boolean | FALSE | TRUE | |
| IvtrLoaMtgtnEna_Cnt_T_lgc | boolean | FALSE | TRUE | |
| Return Value | MultiMtgtnResp_Cnt_T_u08 | uint8 | 0 | 3 |
Design Rationale
None
Processing
Refer to ‘CntMtgtnReq’ block in FDD at ‘SF049B_LoaMgr/LoaMgr/LoaMgrPer1/Arbitrate_Responses/CntSwBasdMtgtn/CntMtgtnReq’
Local Function #3
| Function Name | ReqHwTqResp | Type | Min | Max |
| Arguments Passed | HwTqIdptMin_Cnt_T_u08 | uint8 | 0 | 4 |
| TqLoaAvl_Cnt_T_lgc | boolean | FALSE | TRUE | |
| Return Value | HwTqResp_Cnt_T_u08 | uint8 | 0 | 5 |
Design Rationale
None
Processing
Refer to ‘HwTqResp’ block in FDD at ‘SF049A_LoaMgr/LoaMgr/LoaMgrPer1/Request_Responses’
Local Function #4
| Function Name | ReqMotAgResp | Type | Min | Max |
| Arguments Passed | MotAgIdptMin_Cnt_T_u08 | uint8 | 0 | 3 |
| MotAgSnsrlsAvl_Cnt_T_logl | boolean | FALSE | TRUE | |
| Return Value | MotAgResp_Cnt_T_u08 | uint8 | 0 | 5 |
Design Rationale
None
Processing
Refer to ‘MotAgResp’ block in FDD at ‘SF049A_LoaMgr/LoaMgr/LoaMgrPer1/Request_Responses’
Local Function #5
| Function Name | ReqCurrMeasResp | Type | Min | Max |
| Arguments Passed | CurrMeasIdptMin_Cnt_T_u08 | uint8 | 0 | 2 |
| Return Value | CurrMeasResp_Cnt_T_u08 | uint8 | 0 | 5 |
Design Rationale
None
Processing
Refer to ‘CurrMeasResp’ block in FDD at ‘SF049A_LoaMgr/LoaMgr/LoaMgrPer1/Request_Responses’
Local Function #6
| Function Name | ReqInvtrResp | Type | Min | Max |
| Arguments Passed | IvtrIdptMin_Cnt_T_u08 | uint8 | 0 | 2 |
| Return Value | InvtrResp_Cnt_T_u08 | uint8 | 0 | 5 |
Design Rationale
None
Processing
Refer to ‘CurrMeasResp’ block in FDD at ‘SF049A_LoaMgr/LoaMgr/LoaMgrPer1/Request_Responses’
Local Function #7
| Function Name | CntSwBasdMtgtnChk | Type | Min | Max |
| Arguments Passed | Resp_Cnt_T_u08 | uint8 | 0 | 5 |
| PrevMtgtnEna_Cnt_T_lgc | boolean | FALSE | TRUE | |
| Return Value | MtgtnEna_Cnt_T_lgc | boolean | FALSE | TRUE |
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 Name | SelFinalResp | Type | Min | Max |
| Arguments Passed | MultiMtgtnResp_Cnt_T_u08 | uint8 | 0 | 5 |
| HwTqResp_Cnt_T_u08 | uint8 | 0 | 5 | |
| MotAgResp_Cnt_T_u08 | uint8 | 0 | 5 | |
| CurrMeasResp_Cnt_T_u08 | uint8 | 0 | 5 | |
| InvtrResp_Cnt_T_u08 | uint8 | 0 | 5 | |
| Return Value | LoaSt_Cnt_T_enum | LoaSt1 | 0 | 5 |
Design Rationale
None
Processing
This function corresponds to ‘SelFinalResp’ block in FDD at ‘SF049A_LoaMgr/LoaMgr/LoaMgrPer1/Arbitrate_Responses’
Local Function #9
| Function Name | SetFaults | Type | Min | Max |
| Arguments Passed | LoaSt_Cnt_T_enum | LoaSt1 | 0 | 5 |
| HwTqIdptMin_Cnt_T_u08 | uint8 | 0 | 4 | |
| MotAgIdptMin_Cnt_T_u08 | uint8 | 0 | 3 | |
| CurrMeasIdptMin_Cnt_T_u08 | uint8 | 0 | 2 | |
| IvtrIdptMin_Cnt_T_u08 | uint8 | 0 | 2 | |
| Return Value | None |
Design Rationale
None
Processing
This function corresponds to ‘Set_Faults’ block in FDD at ‘SF049A_LoaMgr/LoaMgr/LoaMgrPer1’
Local Function #10
| Function Name | SwMtgtnEn | Type | Min | Max |
| Arguments Passed | HwTqLoaMtgtnEna_Cnt_T_lgc | boolean | FALSE | TRUE |
| MotAgLoaMtgtnEna_Cnt_T_lgc | boolean | FALSE | TRUE | |
| CurrMeasLoaMtgtnEna_Cnt_T_lgc | boolean | FALSE | TRUE | |
| IvtrLoaMtgtnEna_Cnt_T_lgc | boolean | FALSE | TRUE | |
| VehSpeedMod_Cnt_T_enum | enum | STEERMOD_BASEPS | STEERMOD_FULLYATNMS | |
| *LoaSca_Uls_T_f32 | float32 | 0 | 1 | |
| *LoaRateLim_UlsPerSec_T_f32 | float32 | 0.01 | 500 | |
| Return Value | None |
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 Name | LoaMgrCoder | Type | Min | Max |
| Arguments Passed | CurrMeasLoaMtgtnEna_Cnt_T_lgc | boolean | FALSE | TRUE |
| IvtrLoaMtgtnEna_Cnt_T_lgc | boolean | FALSE | TRUE | |
| FetLoaMtgtnEna_Cnt_T_lgc | boolean | FALSE | TRUE | |
| Return Value | MotAndThermProtnLoaMod_Cnt_T_u08 | uint8 | 0 | 7 |
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 Acronym | Description |
|---|---|
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
| Term | Definition | Source |
|---|---|---|
| MDD | Module Design Document | |
| DFD | Data Flow Diagram |
References
| Ref. # | Title | Version |
|---|---|---|
| 1 | AUTOSAR Specification of Memory Mapping (Link:AUTOSAR_SWS_MemoryMapping.pdf) | v1.3.0 R4.0 Rev 2 |
| 2 | MDD Guideline | EA4 01.00.01 |
| 3 | Software Naming Conventions.doc | EA4 01.00.00 |
| 4 | Software Design and Coding Standards.doc | 2.1 |
| 5 | FDD : SF049B_LoaMgr_Design | See Synergy sub project version |