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
Description | Author | Version | Date |
Initial Version | N. Saxton | 1.0 | 03-Sep-2015 |
Updated graphical representation | N. Saxton | 2.0 | 12-Nov-2015 |
Added Init function to sub-module functions and Updated graphical representation for addition of timer functions | N. Saxton | 3.0 | 15-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
3.1 Program (fixed) Constants 7
4 Software Component Implementation 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.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.4 Module Internal (Local) Functions 8
4.5 GLOBAL Function/Macro Definitions 10
5 Known Limitations with Design 11
Appendix A Abbreviations and Acronyms 13
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 Name | DetVld | Type | Min | Max |
Arguments Passed | VldSig1_Cnt_T_logl | Boolean | FALSE | TRUE |
VldSig2_Cnt_T_logl | Boolean | FALSE | TRUE | |
StuckSig1_Cnt_T_logl | Boolean | FALSE | TRUE | |
StuckSig2_Cnt_T_logl | Boolean | FALSE | TRUE | |
Return Value | OverallVld_Cnt_T_logl | Boolean | FALSE | TRUE |
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 Name | DetInvld | Type | Min | Max |
Arguments Passed | VldSig1_Cnt_T_logl | Boolean | FALSE | TRUE |
VldSig2_Cnt_T_logl | Boolean | FALSE | TRUE | |
VldSig3_Cnt_T_logl | Boolean | FALSE | TRUE | |
VldSig4_Cnt_T_logl | Boolean | FALSE | TRUE | |
Return Value | OverallInvld_Cnt_T_logl | Boolean | FALSE | TRUE |
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 Name | UpdtAvg | Type | Min | Max |
Arguments Passed | VldSig_Cnt_T_logl | Boolean | FALSE | TRUE |
VelSig_Kph_T_f32 | Float32 | 0.0 | 511.0 | |
*AvgSum_Kph_T_f32 | Float32 | 0.0 | 2044.0 | |
*AvgCnt_Cnt_T_f32 | Float32 | 0.0 | 4.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 Name | CondMax | Type | Min | Max |
Arguments Passed | VldSig_Cnt_T_logl | Boolean | FALSE | TRUE |
VelSig1_Kph_T_f32 | Float32 | 0.0 | 511.0 | |
VelSig2_Kph_T_f32 | Float32 | 0.0 | 511.0 | |
*MaxVel_Kph_T_f32 | Float32 | 0.0 | 511.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 Name | CondMin | Type | Min | Max |
Arguments Passed | VldSig_Cnt_T_logl | Boolean | FALSE | TRUE |
VelSig1_Kph_T_f32 | Float32 | 0.0 | 511.0 | |
VelSig2_Kph_T_f32 | Float32 | 0.0 | 511.0 | |
*MinVel_Kph_T_f32 | Float32 | 0.0 | 511.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 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.00 |
3 | EA4 Software Naming Conventions.doc | 01.00.00 |
4 | Software Design and Coding Standards.doc | 2.1 |
5 | CF016A_GmVehSpdArbn_Design | See Synergy subproject version |