BmwDrvgDynStMac_MDD

Module Design Document

For

BmwDrvgDynStMac

April 13, 2018

Prepared For:

Software Engineering

Nexteer Automotive,

Saginaw, MI, USA

Prepared By:

Software Group,

Nexteer Automotive,

Saginaw, MI, USA
Change History

DescriptionAuthorVersionDate
Initial versionKrzysztof Byrski117-Apr-2018


Table of Contents

1 Introduction 5

1.1 Purpose 5

1.2 Scope 5

2 BmwDrvgDynStMac & High-Level Description 6

3 Design details of software module 7

3.1 Graphical representation of BmwDrvgDynStMac 7

3.2 Data Flow Diagram 7

3.2.1 Component level DFD 7

3.2.2 Function level DFD 7

4 Constant Data Dictionary 8

4.1 Program (fixed) Constants 8

4.1.1 Embedded Constants 8

5 Software Component Implementation 9

5.1 Sub-Module Functions 9

5.1.1 Init: BmwDrvgDynStMacInit1 9

5.1.2 Per: BmwDrvgDynStMacPer1 9

5.2 Server Runables 9

5.3 Interrupt Functions 9

5.4 Module Internal (Local) Functions 10

5.4.1 Local Function DetermineErrorMode 10

5.4.2 Local Function Fac 10

5.4.3 Local Function AssiLvlCnd 11

5.4.4 Local Function CheckActivityTime 11

5.4.5 Local Function CheckDeactivateTime 11

5.4.6 Local Function ErrorIfTi 12

5.4.7 Local Function StateMachine 12

5.4.8 Local Function StateMachineInit 13

5.4.9 Local Function StateMachineIfAvl 13

5.4.10 Local Function StateMachineIfActv 14

5.4.11 Local Function StateMachineStbEpsSts 14

5.4.12 Local Function StateMachineEntry 15

5.5 GLOBAL Function/Macro Definitions 16

6 Known Limitations with Design 17

7 UNIT TEST CONSIDERATION 18

Appendix A Abbreviations and Acronyms 19

Appendix B Glossary 20

Appendix C References 21

Introduction

Purpose

Model Deign Document for CF089A_BmwDrvgDynStMac_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.

BmwDrvgDynStMac & High-Level Description

The component implements the functionality of Driving Dynamics State Machine. It is based on requirements for DD State Machine in LH10716411 starting from ID_6159. It outputs signals for CF083A and CF040A.

Design details of software module

Graphical representation of BmwDrvgDynStMac

Data Flow Diagram

Refer FDD

Component level DFD

None

Function level DFD

None

Constant Data Dictionary

Program (fixed) Constants

Embedded Constants

Local Constants

Constant NameResolutionUnitsValue
*

*Refer FDD for local constants

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: BmwDrvgDynStMacInit1

Design Rationale

Refer FDD

Module Outputs

None

Per: BmwDrvgDynStMacPer1

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 DetermineErrorMode

Function NameDetermineErrorModeTypeMinMax
Arguments PassedSysStFltOutpReqDi_Cnt_T_loglboolean01
DiagcStsNonRcvrlReqDiFltPrsnt_Cnt_T_loglboolean01
DiagcStsCtrldShtDwnFltPrsnt_Cnt_T_loglboolean01
StsSteerAssi_Cnt_T_enumenum01
BmwVehCdn_Cnt_T_enumenum115
Return ValueErrMod_Cnt_T_loglbooleanFALSETRUE

Design Rationale

Implementation of "DetermineErrorMode" Simulink block

Processing

Refer FDD

Local Function Fac

Function NameFacTypeMinMax
Arguments PassedEffortCmdSca_Uls_T_f32float3212
DampgCmdSca_Uls_T_f32float3201
RtnCmdSca_Uls_T_f32float3201
Return ValueFac_Cnt_T_loglbooleanFALSETRUE

Design Rationale

Implementation of "Fac" Simulink block

Processing

Refer FDD

Local Function AssiLvlCnd

Function NameAssiLvlCndTypeMinMax
Arguments PassedMotTqCmdPwrLimd_MotNwtMtr_T_f32float32-8.88.8
Return ValueMotTqCmdPwrLimdActvtUppr_Cnt_T_loglbooleanFALSETRUE
MotTqCmdPwrLimdActvtLowr_Cnt_T_loglbooleanFALSETRUE
MotTqCmdPwrLimdDeactvtLowr_Cnt_T_loglbooleanFALSETRUE

Design Rationale

Implementation of "AssiLvlCnd" Simulink block

Processing

Refer FDD

Local Function CheckActivityTime

Function NameCheckActivityTimeTypeMinMax
Arguments PassedMotTqCmdPwrLimdCdnActvt_Cnt_T_loglbooleanFALSETRUE
Return ValueMotTqCmdPwrLimdActvt_Cnt_T_loglbooleanFALSETRUE

Design Rationale

Implementation of "CheckActivity Time" Simulink block

Processing

Refer FDD

Local Function CheckDeactivateTime

Function NameCheckDeactivateTimeTypeMinMax
Arguments PassedMotTqCmdPwrLimdCdnDeactvt_Cnt_T_loglbooleanFALSETRUE
Return ValueMotTqCmdPwrLimdDeactvt_Cnt_T_loglbooleanFALSETRUE

Design Rationale

Implementation of "CheckDeactivate Time" Simulink block

Processing

Refer FDD

Local Function ErrorIfTi

Function NameErrorIfTiTypeMinMax
Arguments PassedErrIf_Cnt_T_loglbooleanFALSETRUE
Return ValueErrIfTi_Cnt_T_loglbooleanFALSETRUE

Design Rationale

Implementation of "ErrorIfTi" Simulink block

Processing

Refer FDD

Local Function StateMachine

Function NameStateMachineTypeMinMax
Arguments PassedErrMod_Cnt_T_loglbooleanFALSETRUE
AllwTran_Cnt_T_loglbooleanFALSETRUE
ErrIf_Cnt_T_loglbooleanFALSETRUE
BmwTarHwTqOvrlQlfr_Cnt_T_enumenum215
BmwDrvgDynFacQlfr_Cnt_T_enumenum215
BmwTarSteerTqDrvrActrQlfr_Cnt_T_enumenum215
BmwTrfcJamAssiDampgStReq_Cnt_T_enumenum115
Fac_Cnt_T_loglbooleanFALSETRUE
MotTqCmdOvrlEquZero_Cnt_T_loglbooleanFALSETRUE
MotTqCmdPwrLimd_MotNwtMtr_T_f32float32-8.88.8
Return ValueN/A

Design Rationale

Implementation of "StateMachine" Simulink state machine

Processing

Refer FDD

Local Function StateMachineInit

Function NameStateMachineInitTypeMinMax
Arguments PassedErrMod_Cnt_T_loglbooleanFALSETRUE
AllwTran_Cnt_T_loglbooleanFALSETRUE
ErrIf_Cnt_T_loglbooleanFALSETRUE
BmwTarHwTqOvrlQlfr_Cnt_T_enumenum215
BmwDrvgDynFacQlfr_Cnt_T_enumenum215
BmwTarSteerTqDrvrActrQlfr_Cnt_T_enumenum215
BmwTrfcJamAssiDampgStReq_Cnt_T_enumenum115
MotTqCmdPwrLimdActvtUppr_Cnt_T_loglbooleanFALSETRUE
MotTqCmdPwrLimdActvtLowr_Cnt_T_loglbooleanFALSETRUE
Return ValueN/A

Design Rationale

Implementation of INIT State

Processing

Refer FDD

Local Function StateMachineIfAvl

Function NameStateMachineIfAvlTypeMinMax
Arguments PassedErrMod_Cnt_T_loglbooleanFALSETRUE
AllwTran_Cnt_T_loglbooleanFALSETRUE
ErrIf_Cnt_T_loglbooleanFALSETRUE
BmwTarHwTqOvrlQlfr_Cnt_T_enumenum215
BmwDrvgDynFacQlfr_Cnt_T_enumenum215
BmwTarSteerTqDrvrActrQlfr_Cnt_T_enumenum215
BmwTrfcJamAssiDampgStReq_Cnt_T_enumenum115
MotTqCmdPwrLimdDeactvtLowr_Cnt_T_loglbooleanFALSETRUE
Return ValueN/A

Design Rationale

Implementation of IF_AVL State

Processing

Refer FDD

Local Function StateMachineIfActv

Function NameStateMachineIfActvTypeMinMax
Arguments PassedErrMod_Cnt_T_loglbooleanFALSETRUE
AllwTran_Cnt_T_loglbooleanFALSETRUE
ErrIf_Cnt_T_loglbooleanFALSETRUE
BmwTarHwTqOvrlQlfr_Cnt_T_enumenum215
BmwDrvgDynFacQlfr_Cnt_T_enumenum215
BmwTarSteerTqDrvrActrQlfr_Cnt_T_enumenum215
BmwTrfcJamAssiDampgStReq_Cnt_T_enumenum115
ErrIfTi_Cnt_T_loglbooleanFALSETRUE
Return ValueN/A

Design Rationale

Implementation of IF_ACTV State

Processing

Refer FDD

Local Function StateMachineStbEpsSts

Function NameStateMachineStbEpsStsTypeMinMax
Arguments PassedErrMod_Cnt_T_loglbooleanFALSETRUE
AllwTran_Cnt_T_loglbooleanFALSETRUE
ErrIf_Cnt_T_loglbooleanFALSETRUE
BmwTarHwTqOvrlQlfr_Cnt_T_enumenum215
BmwDrvgDynFacQlfr_Cnt_T_enumenum215
BmwTarSteerTqDrvrActrQlfr_Cnt_T_enumenum215
BmwTrfcJamAssiDampgStReq_Cnt_T_enumenum115
Fac_Cnt_T_loglbooleanFALSETRUE
MotTqCmdOvrlEquZero_Cnt_T_loglbooleanFALSETRUE
MotTqCmdPwrLimdActvtUppr_Cnt_T_loglbooleanFALSETRUE
Return ValueN/A

Design Rationale

Implementation of STB_EPS_STS State

Processing

Refer FDD

Local Function StateMachineEntry

Function NameStateSrvNotAvlStbEpsStsTypeMinMax
Arguments PassedN/A
Return ValueDrvgDynActv_Cnt_T_loglbooleanFALSETRUE
DrvgDynIfSt_Cnt_T_enumenum32255
OutpTqOvrlRampInEna_Cnt_T_loglbooleanFALSETRUE

Design Rationale

Implementation of "StateMachine" Entry sections

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 EA41.02
3EA4 Software Naming Conventions1.01
4Software Design and Coding Standards2.01
5CF089A_BmwDrvgDynStMac_DesignSee Synergy Sub Project Version
Last modified October 12, 2025: Initial commit (af72ad2)