BmwHwAgArbnAndEotPosn_MDD

Module Design Document

For

BmwHwAgArbnAndEotPosn

12-Jul-2018

Prepared By:

Software Group,

Nexteer Automotive,

Saginaw, MI, USA
Change History

DescriptionAuthorVersionDate
Initial VersionKrzysztof Byrski125-Oct-2017
Updated Local Functions argumentsKrzysztof Byrski208-Nov-2017
Updated Diagram and Function InputsMatthew Leser316-Jan-2018
Updated to Design version 3.0.0Krzysztof Byrski415-Mar-2018
Updated to Design version 5.1.0Marek Brykczyński529-Jun-2018
Updated graphic to include 2 new inputs, modified and added functionsShawn Penning612-Jul-2018


Table of Contents

T

1 Introduction 5

1.1 Purpose 5

1.2 Scope 5

2 BmwHwAgArbnAndEotPosn & High-Level Description 6

3 Design details of software module 7

3.1 Graphical representation of BmwHwAgArbnAndEotPosn 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: BmwHwAgArbnAndEotPosnInit1 10

5.1.2 Per: BmwHwAgArbnAndEotPosnPer1 10

5.2 Server Runables 11

5.2.1 ClrBmwRackCentrToVehCentrOffs_Oper 11

5.2.2 ClrVehCentrPosn_Oper 11

5.2.3 SetVehCentrPosn_Oper 11

5.3 Interrupt Functions 11

5.4 Module Internal (Local) Functions 12

5.4.1 HwAgSnsrNotTrimNTC 12

5.4.2 HwPosnFltDetn 12

5.4.3 PinionAgFltTmr 12

5.4.4 OffsCorrnTmr 13

5.4.5 InitTmr 13

5.4.6 CalcBmwMotAgOffsSelnSt 13

5.4.7 CalcBmwMotAgOffsSelnStOffsCmpd 14

5.4.8 CalcBmwMotAgOffsSelnStSubVal 14

5.4.9 CalcBmwMotAgOffsSelnStTmpCmpd 14

5.4.10 CalcBmwMotAgOffsSelnStOffsCorrn 15

5.4.11 CalcBmwMotAgOffsSelnStSigInvld 15

5.4.12 CalcBmwMotAgOffsSelnStIni 15

5.4.13 BmwMotAgOffsSelnStTranCase 16

5.4.14 ChkNrcvrlFlt 16

5.4.15 TurnCntrCorrlnStsTmr 16

5.4.16 ChkTurnCntrCorrlnStsCdn 16

5.4.17 ProcessBmwQuadRotorOffs1 16

5.4.18 ProcessBmwQuadRotorOffs2 17

5.4.20 ProcessBmwQuadOffsSts 17

5.4.21 ActvtLpFil 17

5.4.22 CalcBmwPinionAgOffs 17

5.4.23 BmwMotAgSelnStOffsCmpd 18

5.4.24 BmwMotAgSelnStSigInvld 19

5.4.25 PinionAgCalc 19

5.4.26 ClrNotCmplPinionAgFlg 19

5.4.27 CalcEot 20

5.4.28 SetBmwRackCentrToVehCentrOffs 20

5.4.29 HndlgNTC 21

5.5 GLOBAL Function/Macro Definitions 22

6 Known Limitations with Design 23

7 UNIT TEST CONSIDERATION 24

Appendix A Abbreviations and Acronyms 25

Appendix B Glossary 26

Appendix C References 27

Introduction

Purpose

Module Design Document for CF071A_BmwHwAgArbnAndEotPosn_Impl.

Scope

The following definitions are used throughout this document:

  • Shall: indicates a mandatory requirement without exception in compliance.

  • Should: indicates a mandatory requirement; exceptions allowed only with documented justification.

  • May: indicates an optional action.

BmwHwAgArbnAndEotPosn & High-Level Description

This function will be responsible for determining the hand wheel position using the motor position to provide an estimate of the hand wheel position.

Design details of software module

Graphical representation of BmwHwAgArbnAndEotPosn

Data Flow Diagram

Refer FDD

Component level DFD

N/A

Function level DFD

N/A

Constant Data Dictionary

Program (fixed) Constants

Embedded Constants

Local Constants

None

Software Component Implementation

Sub-Module Functions

The sub-module functions are grouped based on similar functionality that needs to be executed in a given “State” of the system (refer States and Modes). For a given module, the MDD will identify the type and number of sub-modules required. The sub-module types are described below.

Init: Init1

Design Rationale

Refer FDD

Module Outputs

Refer FDD

Per: Per1

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

ClrBmwRackCentrToVehCentrOffs_Oper

Design Rationale

Refer FDD

(Processing of function)………

Refer FDD

ClrVehCentrPosn_Oper

Design Rationale

Refer FDD

(Processing of function)………

Refer FDD

SetVehCentrPosn_Oper

Design Rationale

Refer FDD

(Processing of function)………

Refer FDD

Interrupt Functions

None

Module Internal (Local) Functions

HwAgSnsrNotTrimNTC

Function NameHwAgSnsrNotTrimNTCTypeMinMax
Arguments PassedNone
Return ValueHwAgSnsrNotTrimFlt_Cnt_T_loglbooleanFALSETRUE

Design Rationale

Refer FDD

Processing

Refer FDD

HwPosnFltDetn

Function NameHwPosnFltDetnTypeMinMax
Arguments PassedMotAgVld_Cnt_T_loglbooleanFALSETRUE
HwAgSnsrNotTrimFlt_Cnt_T_loglbooleanFALSETRUE
Return ValuePinionAgFltTmrElpd_Cnt_T_loglbooleanFALSETRUE

Design Rationale

Refer FDD

Processing

Refer FDD

PinionAgFltTmr

Function NamePinionAgFltTmrTypeMinMax
Arguments PassedHwAgSnsrNotTrimFlt_Cnt_T_loglbooleanFALSETRUE
Return ValuePinionAgFltTmrElpd_Cnt_T_loglbooleanFALSETRUE

Design Rationale

Refer FDD

Processing

Refer FDD

OffsCorrnTmr

Function NameOffsCorrnTmrTypeMinMax
Arguments PassedNone
Return ValueOffsCorrnTmrElpd_Cnt_T_loglbooleanFALSETRUE

Design Rationale

Refer FDD

Processing

Refer FDD

InitTmr

Function NameInitTmrTypeMinMax
Arguments PassedNone
Return ValueAllwExitFromInit_Cnt_T_loglbooleanFALSETRUE

Design Rationale

Refer FDD

Processing

Refer FDD

CalcBmwMotAgOffsSelnSt

Function NameCalcBmwMotAgOffsSelnStTypeMinMax
Arguments PassedTurnCntrVld_Cnt_T_loglbooleanFALSETRUE
BmwQuadOffsSts_Cnt_T_enumenum015
PinionAgFltTmrElpd_Cnt_T_loglbooleanFALSETRUE
OffsCorrnTmrElpd_Cnt_T_loglbooleanFALSETRUE
HwAgNotVldFltPrsnt_Cnt_T_loglbooleanFALSETRUE
AllwExitFromInit_Cnt_T_loglbooleanFALSETRUE
AllwTran_Cnt_T_loglbooleanFALSETRUE
Return ValueNone

Design Rationale

Refer FDD

Processing

Refer FDD

CalcBmwMotAgOffsSelnStOffsCmpd

Function NameCalcBmwMotAgOffsSelnStOffsCmpdTypeMinMax
Arguments PassedTurnCntrVld_Cnt_T_loglbooleanFALSETRUE
BmwQuadOffsSts_Cnt_T_enumenum015
HwAgNotVldFltPrsnt_Cnt_T_loglbooleanFALSETRUE
AllwTran_Cnt_T_loglbooleanFALSETRUE
Return ValueNone

Design Rationale

Refer FDD

Processing

Refer FDD

CalcBmwMotAgOffsSelnStSubVal

Function NameCalcBmwMotAgOffsSelnStSubValTypeMinMax
Arguments PassedBmwQuadOffsSts_Cnt_T_enumenum015
HwAgNotVldFltPrsnt_Cnt_T_loglbooleanFALSETRUE
AllwTran_Cnt_T_loglbooleanFALSETRUE
Return ValueNone

Design Rationale

Refer FDD

Processing

Refer FDD

CalcBmwMotAgOffsSelnStTmpCmpd

Function NameCalcBmwMotAgOffsSelnStTmpCmpdTypeMinMax
Arguments PassedBmwQuadOffsSts_Cnt_T_enumenum015
HwAgNotVldFltPrsnt_Cnt_T_loglbooleanFALSETRUE
AllwTran_Cnt_T_loglbooleanFALSETRUE
Return ValueNone

Design Rationale

Refer FDD

Processing

Refer FDD

CalcBmwMotAgOffsSelnStOffsCorrn

Function NameCalcBmwMotAgOffsSelnStOffsCorrnTypeMinMax
Arguments PassedOffsCorrnTmrElpd_Cnt_T_loglbooleanFALSETRUE
HwAgNotVldFltPrsnt_Cnt_T_loglbooleanFALSETRUE
AllwTran_Cnt_T_loglbooleanFALSETRUE
Return ValueNone

Design Rationale

Refer FDD

Processing

Refer FDD

CalcBmwMotAgOffsSelnStSigInvld

Function NameCalcBmwMotAgOffsSelnStSigInvldTypeMinMax
Arguments PassedTurnCntrVld_Cnt_T_loglbooleanFALSETRUE
PinionAgFltTmrElpd_Cnt_T_loglbooleanFALSETRUE
HwAgNotVldFltPrsnt_Cnt_T_loglbooleanFALSETRUE
AllwTran_Cnt_T_loglbooleanFALSETRUE
Return ValueNone

Design Rationale

Refer FDD

Processing

Refer FDD

CalcBmwMotAgOffsSelnStIni

Function NameCalcBmwMotAgOffsSelnStIniTypeMinMax
Arguments PassedTurnCntrVld_Cnt_T_loglbooleanFALSETRUE
HwAgNotVldFltPrsnt_Cnt_T_loglbooleanFALSETRUE
AllwExitFromInit_Cnt_T_loglbooleanFALSETRUE
AllwTran_Cnt_T_loglbooleanFALSETRUE
Return ValueNone

Design Rationale

Refer FDD

Processing

Refer FDD

BmwMotAgOffsSelnStTranCase

Function NameBmwMotAgOffsSelnStTranCaseTypeMinMax
Arguments PassedBmwQuadOffsSts_Cnt_T_enumenum015
HwAgSnsrNotTrimFlt_Cnt_T_loglbooleanFALSETRUE
MotAgTurnCntrDeg_MotDeg_T_f32float32-8294400083008800
TurnCntrVld_Cnt_T_loglbooleanFALSETRUE
PrevLoopBmwMotAgSelnSt_Cnt_T_enumenum215
BmwQuadRotorOffs_MotRev_T_s08sint8-127127
MotAgCumvAlgnMrf_MotDeg_T_f32float32-262144262143.9998
Return ValuePinionAgTarConf_Uls_T_f32float3201
MotPosnDegArbd_MotDeg_T_f32float32- 8320614483270944>

ChkNrcvrlFlt

Function NameChkNrcvrlFltTypeMinMax
Arguments PassedNtc8CSts_Cnt_T_enumenum12
Ntc8ESts_Cnt_T_enumenum12
Return Value----

TurnCntrCorrlnStsTmr

Function NameTurnCntrCorrlnStsTmrTypeMinMax
Arguments PassedTurnCntrCorrlnSts_Cnt_T_u08enum03
Return Value----

ChkTurnCntrCorrlnStsCdn

Function NameChkTurnCntrCorrlnStsCdnTypeMinMax
Arguments PassedTurnCntrCorrlnSts_Cnt_T_u08enum03
Return Value----

ProcessBmwQuadRotorOffs1

Function NameProcessBmwQuadRotorOffsTypeMinMax
Arguments PassedBmwQuadOffsSts_Cnt_T_enum, ,Enum015
BmwQuadRotorOffs_MotRev_T_s08sint8-127127
ChgdValDetd_Cnt_T_loglbooleanFALSETRUE
Return Value----

ProcessBmwQuadRotorOffs2

Function NameProcessBmwQuadRotorOffsTypeMinMax
Arguments PassedBmwQuadOffsSts_Cnt_T_enum, ,Enum015
BmwQuadRotorOffs_MotRev_T_s08sint8-127127
ChgdValDetd_Cnt_T_loglbooleanFALSETRUE
Return Value----

ProcessBmwQuadOffsSts

Function NameProcessBmwQuadOffsStsTypeMinMax
Arguments PassedBmwQuadOffsSts_Cnt_T_enumenum015
ChgdValDetd_Cnt_T_loglbooleanFALSETRUE
Return Value----

ActvtLpFil

Function NameActvtLpFilTypeMinMax
Arguments Passed----
Return Value----

CalcBmwPinionAgOffs

Function NameCalcBmwPinionAgOffsTypeMinMax
Arguments PassedBmwPinionAgOffs_HwDeg_T_f32float32-4545
BmwPinionAgOffsSts_Cnt_T_enumenum14
Return Value-BmwPinionAgOffsOutp_HwDeg_T_f32float32-14401440

Design Rationale

Refer FDD

Processing

Refer FDD

BmwMotAgSelnStOffsCmpd

Function NameBmwMotAgSelnStOffsCmpdTypeMinMax
Arguments PassedBmwQuadRotorOffs_MotRev_T_s08sint8-127127
Return ValuePinionAgTarConf_Uls_T_f32float3201

Design Rationale

Refer FDD

Processing

Refer FDD

BmwMotAgSelnStSigInvld

Function NameBmwMotAgSelnStSigInvldTypeMinMax
Arguments PassedTurnCntrVld_Cnt_T_loglbooleanFALSETRUE
PrevLoopBmwMotAgSelnSt_Cnt_T_enumenum215
HwAgSnsrNotTrimFlt_Cnt_T_loglbooleanFALSETRUE
MotAgTurnCntrDeg_MotDeg_T_f32float32-8294400083008800
Return ValuePinionAgTarConf_Uls_T_f32float3200

Design Rationale

Refer FDD

Processing

Refer FDD

PinionAgCalc

Function NamePinionAgCalcTypeMinMax
Arguments PassedOffsCpmpdMotPosn_MotDeg_T_f32float32-8298972083054520
CmplncErrMotToPinion_HwDeg_T_f32float32-55
Return ValueBmwPinionAg_HwDeg_T_f32float32-14401440

Design Rationale

Refer FDD

Processing

Refer FDD

ClrNotCmplPinionAgFlg

Function NameClrNotCmplPinionAgFlgTypeMinMax
Arguments PassedLongTermRackCentrCmpl_Cnt_T_loglbooleanFALSETRUE
Return ValueNone

Design Rationale

Refer FDD

Processing

Refer FDD

CalcEot

Function NameCalcEotTypeMinMax
Arguments PassedTotRackTrvl_HwDeg_T_f32float32-28802880
LongTermRackCentrCmpl_Cnt_T_loglbooleanFALSETRUE
Return ValueHwAgEotCw_HwDeg_T_f32float32360900
HwAgEotCcw_HwDeg_T_f32float32-900-360
HwAgCwDetd_Cnt_T_loglbooleanFALSETRUE
HwAgCcwDetd_Cnt_T_loglbooleanFALSETRUE

Design Rationale

Refer FDD

Processing

Refer FDD

SetBmwRackCentrToVehCentrOffs

Function NameSetBmwRackCentrToVehCentrOffsTypeMinMax
Arguments PassedLongTermRackCentrCmpl_Cnt_T_loglbooleanFALSETRUE
RackCentrPinionAg_HwDeg_T_f32float32-14401440
Return ValueNone

Design Rationale

Refer FDD

Processing

Refer FDD

HndlgNTC

Function NameHndlgNTCTypeMinMax
Arguments PassedVehSpdVld_Cnt_T_loglbooleanFALSETRUE
VehSpd_Kph_T_f32float320350
BmwVehSpdSts_Cnt_T_enumenum115
DiKineIntegrityTest_Cnt_T_loglbooleanFALSETRUE
Return ValueNone

Design Rationale

Refer FDD

Processing

Refer FDD

GLOBAL Function/Macro Definitions

None

Known Limitations with Design

None

UNIT TEST CONSIDERATION

None

Abbreviations and Acronyms

Abbreviation or AcronymDescription
FDDFunctional Design Document. (See references)

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.4.0 R4.0 Rev 3
2MDD Guideline EA401.00.01
3EA4 Software Naming Conventions01.01.00
4Software Design and Coding Standards2.1
5CF071A_BmwHwAgArbnAndEotPosn_DesignSee Synergy Sub Project Version
Last modified October 12, 2025: Initial commit (af72ad2)