BmwSwFctDi_MDD

Module Design Document

For

BmwSwFctDi

July 28, 2018

Prepared By:

Akilan Rathakrishnan,

Nexteer Automotive,

Saginaw, USA
Change History

DescriptionAuthorVersionDate
Initial versionAkilan Rathakrishnan1.028-Jul-2018
Updated Design rationale for periodic and init runnablesAkilan Rathakrishanan2.030-Jul-2018


Table of Contents

1 Introduction 5

1.1 Purpose 5

1.2 Scope 5

2 BmwSwFctDi High-Level Description 6

3 Design details of software module 7

3.1 Graphical representation of BmwVehSpd 8

3.2 Data Flow Diagram 9

3.2.1 Component level DFD 9

3.2.2 Function level DFD 9

4 Constant Data Dictionary 10

4.1 Program (fixed) Constants 10

4.1.1 Embedded Constants 10

5 Software Component Implementation 11

5.1 Sub-Module Functions 11

5.1.1 BmwSwFctDiInit1 11

5.1.1.1 Design Rationale 11

5.1.1.2 Module Outputs 11

5.1.2 BmwSwFctDiPer1 11

5.1.2.1 Design Rationale 11

5.1.2.2 Module Outputs 11

5.2 Server Runnables 11

5.3 Interrupt Functions 11

5.3.1 Interrupt Function Name 11

5.4 Module Internal (Local) Functions 11

5.4.1 UpdCodingBits 11

5.4.2 ReadCodingData 11

5.4.3 PullCmpCmdDiBmwOvrd 12

5.4.4 InertiaCmpVelCmdDiBmwOvrd 12

5.4.5 ClsdLoopHysEna 12

5.4.6 CtrldVelRtnEna 12

5.4.7 OvrdCmdEna 12

5.5 GLOBAL Function/Macro Definitions 12

6 Known Limitations with Design 13

7 UNIT TEST CONSIDERATION 14

Appendix A Abbreviations and Acronyms 15

Appendix B Glossary 16

Appendix C Please references 17

Introduction

Purpose

Module Design Document for CF0108A_BmwSwFctDi_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.

BmwSwFctDi High-Level Description

This is BMW specific and will allow features to be disabled per customer requirements without altering multiple SF''s. It will also take a client call from the BAC module coding and output Boolean logic to allow BMW to disable the required features. This client call will be changing over time from BMW and this function allows change to happen in one component instead of adjusting all the CF components that need and output from this.

Design details of software module

Please refer FDD

Graphical representation of BmwVehSpd

Data Flow Diagram

Please refer FDD

Component level DFD

Please refer FDD

Function level DFD

Please refer FDD

Constant Data Dictionary

Program (fixed) Constants

Embedded Constants

Local Constants

Constant NameResolutionUnitsValue
Please refer .m file for constants

Software Component Implementation

Sub-Module Functions

BmwSwFctDiInit1

Design Rationale

Implementation of the init runnable differs from design due to the way this component need to interact with BMW BAC Coding component.

Module Outputs

None

BmwSwFctDiPer1

Design Rationale

Implementation of the periodic differs from design due to the way this component need to interact with BMW BAC Coding component.

Module Outputs

None

Server Runnables

None

Interrupt Functions

None

Interrupt Function Name

None

Module Internal (Local) Functions

UpdCodingBits

Function NameUpdCodingBitsTypeMinMax
Arguments PassedCodingDataMode_Cnt_T_u08Uint805
Return ValueNone---

ReadCodingData

Function NameReadCodingDataTypeMinMax
Arguments PassedCodingDataMode_Cnt_T_u08uint805
Return ValueNone---

PullCmpCmdDiBmwOvrd

Function NameVehSpdRateLimTypeMinMax
Arguments PassedPullCmpCmdDi_Cnt_T_loglBooleanFALSETRUE
Return ValuePullCmpCmdDiBmwOvrd_Cnt_T_loglBooleanFALSETRUE

InertiaCmpVelCmdDiBmwOvrd

Function NameInertiaCmpVelCmdDiBmwOvrdTypeMinMax
Arguments PassedInertiaCmpVelCmdDi_Cnt_T_loglbooleanFALSETRUE
Return ValueInertiaCmpVelCmdDiBmwOvrd_Cnt_T_loglbooleanFALSETRUE

ClsdLoopHysEna

Function NameClsdLoopHysEnaTypeMinMax
Arguments PassedHwTqCmdHys_HwNwtMtr_T_f32Float32-1010
Return ValueHwTqCmdHysBmwOvrd_HwNwtMtr_T_f32Float32-1010

CtrldVelRtnEna

Function NameCtrldVelRtnEnaTypeMinMax
Arguments PassedCtrldVelRtnCmd_MotNwtMtr_T_f32Float32-8.88.8
Return ValueCtrldVelRtnCmdBmwOvrd_MotNwtMtr_T_f32Float32-8.88.8

OvrdCmdEna

Function NameProcessFourthAndGateStateTypeMinMax
Arguments PassedOvrdCal_Cnt_T_u08Uint80255
CodingBit_Cnt_T_u08Uint80255
Return ValueOvrlCmdEna_Cnt_T_loglbooleanFALSETRUE

GLOBAL Function/Macro Definitions

None

Known Limitations with Design

None.

UNIT TEST CONSIDERATION

  1. Client calls to BMW BAC Coding component are not listed in the design since this will require modeling 3rd party software.

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 Please 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

Please references

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