GmVehSpdArbn_MDD

Module Design Document

For

GmVehSpdArbn

March 15, 2016

Prepared For:

Software Engineering

Nexteer Automotive,

Saginaw, MI, USA

Prepared By:

Nick Saxton,

Nexteer Automotive,

Saginaw, MI, USA
Change History

DescriptionAuthorVersionDate
Initial VersionN. Saxton1.003-Sep-2015
Updated graphical representationN. Saxton2.012-Nov-2015
Added Init function to sub-module functions and Updated graphical representation for addition of timer functionsN. Saxton3.015-Mar-2016

Table of Contents

1 GmVehSpdArbn High-Level Description 5

2 Design details of software module 6

2.1 Graphical representation of GmVehSpdArbn 6

2.2 Data Flow Diagram 6

2.2.1 Component level DFD 6

2.2.2 Function level DFD 6

3 Constant Data Dictionary 7

3.1 Program (fixed) Constants 7

3.1.1 Embedded Constants 7

4 Software Component Implementation 8

4.1 Sub-Module Functions 8

4.1.1 Per: GmVehSpdArbnPer1 8

4.1.1.1 Design Rationale 8

4.1.1.2 Store Module Inputs to Local copies 8

4.1.1.3 (Processing of function)……… 8

4.1.1.4 Store Local copy of outputs into Module Outputs 8

4.1.2 Init: GmVehSpdArbnInit1 8

4.1.2.1 Design Rationale 8

4.1.2.2 Store Module Inputs to Local copies 8

4.1.2.3 (Processing of function)……… 8

4.1.2.4 Store Local copy of outputs into Module Outputs 8

4.2 Server Runables 8

4.3 Interrupt Functions 8

4.4 Module Internal (Local) Functions 8

4.4.1 Local Function #1 8

4.4.1.1 Design Rationale 9

4.4.1.2 Processing 9

4.4.2 Local Function #2 9

4.4.2.1 Design Rationale 9

4.4.2.2 Processing 9

4.4.3 Local Function #3 9

4.4.3.1 Design Rationale 9

4.4.3.2 Processing 9

4.4.4 Local Function #4 9

4.4.4.1 Design Rationale 10

4.4.4.2 Processing 10

4.4.5 Local Function #5 10

4.4.5.1 Design Rationale 10

4.4.5.2 Processing 10

4.5 GLOBAL Function/Macro Definitions 10

5 Known Limitations with Design 11

6 UNIT TEST CONSIDERATION 12

Appendix A Abbreviations and Acronyms 13

Appendix B Glossary 14

Appendix C References 15

GmVehSpdArbn High-Level Description

This GM specific function determines how EPS shall calculate Secure Vehicle Speed, Non-Secure Vehicle Speed, and how to arbitrate between those signals in addition to a serial communication supplied vehicle speed signal.

Design details of software module

Graphical representation of GmVehSpdArbn

Data Flow Diagram

Simulink model being created for component in near future

Component level DFD

Function level DFD

Constant Data Dictionary

Program (fixed) Constants

Embedded Constants

Local Constants

Refer DataDict.m file.

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.

Per: GmVehSpdArbnPer1

Design Rationale

Simulink model being created for component in near future

Store Module Inputs to Local copies

(Processing of function)………

Store Local copy of outputs into Module Outputs

Init: GmVehSpdArbnInit1

Design Rationale

Simulink model being created for component in near future

Store Module Inputs to Local copies

(Processing of function)………

Store Local copy of outputs into Module Outputs

Server Runables

None

Interrupt Functions

None

Module Internal (Local) Functions

Local Function #1

Function NameDetVldTypeMinMax
Arguments PassedVldSig1_Cnt_T_loglBooleanFALSETRUE
VldSig2_Cnt_T_loglBooleanFALSETRUE
StuckSig1_Cnt_T_loglBooleanFALSETRUE
StuckSig2_Cnt_T_loglBooleanFALSETRUE
Return ValueOverallVld_Cnt_T_loglBooleanFALSETRUE

Design Rationale

Created to reduce static path count and avoid repeated code.

Processing

This function checks to see if at least one of the input valid signals is FALSE (invalid) or input stuck signals is TRUE (stuck) , returning an overall validity (OverallVld) of FALSE (invalid) if so, and TRUE (valid) otherwise.

Local Function #2

Function NameDetInvldTypeMinMax
Arguments PassedVldSig1_Cnt_T_loglBooleanFALSETRUE
VldSig2_Cnt_T_loglBooleanFALSETRUE
VldSig3_Cnt_T_loglBooleanFALSETRUE
VldSig4_Cnt_T_loglBooleanFALSETRUE
Return ValueOverallInvld_Cnt_T_loglBooleanFALSETRUE

Design Rationale

Created to reduce static path count and avoid repeated code.

Processing

This function checks to see if all of the input signals (VldSig1 – 4) are FALSE (invalid), returning an overall invalidity (OverallInvld) of TRUE (invalid) if so, and FALSE (valid) otherwise.

Local Function #3

Function NameUpdtAvgTypeMinMax
Arguments PassedVldSig_Cnt_T_loglBooleanFALSETRUE
VelSig_Kph_T_f32Float320.0511.0
*AvgSum_Kph_T_f32Float320.02044.0
*AvgCnt_Cnt_T_f32Float320.04.0

Design Rationale

Created to reduce static path count and avoid repeated code

* AvgSum and AvgCnt are outputs of this function

Processing

This function adds the velocity signal input (VelSig) to the average sum (AvgSum) and increments the average count (AvgCnt) if the input signal is valid (VldSig).

Local Function #4

Function NameCondMaxTypeMinMax
Arguments PassedVldSig_Cnt_T_loglBooleanFALSETRUE
VelSig1_Kph_T_f32Float320.0511.0
VelSig2_Kph_T_f32Float320.0511.0
*MaxVel_Kph_T_f32Float320.0511.0

Design Rationale

Created to reduce static path count and avoid repeated code.

* MaxVel_Kph_T_f32 is an output of this function

Processing

This function sets max velocity (MaxVel) to the maximum of the previous value of max velocity, velocity signal 1 (VelSig1), and velocity signal 2 (VelSig2) given that the valid signal condition (VldSig) is TRUE (valid).

Local Function #5

Function NameCondMinTypeMinMax
Arguments PassedVldSig_Cnt_T_loglBooleanFALSETRUE
VelSig1_Kph_T_f32Float320.0511.0
VelSig2_Kph_T_f32Float320.0511.0
*MinVel_Kph_T_f32Float320.0511.0

Design Rationale

Created to reduce static path count and avoid repeated code.

* MinVel_Kph_T_f32 is an output of this function

Processing

This function sets minimum velocity (MinVel) to the minimum of the previous value of minimum velocity, velocity signal 1 (VelSig1), and velocity signal 2 (VelSig2), given that VldSig is TRUE.

GLOBAL Function/Macro Definitions

None

Known Limitations with Design

Simulink model being created for component in near future

UNIT TEST CONSIDERATION

Simulink model being created for component in near future

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.00
3EA4 Software Naming Conventions.doc01.00.00
4Software Design and Coding Standards.doc2.1
5CF016A_GmVehSpdArbn_DesignSee Synergy subproject version
Last modified October 12, 2025: Initial commit (1fadfc4)