This is the multi-page printable view of this section. Click here to print.
Component Implementation
1 - HwAg0Meas_DesignReview
Overview
Summary SheetSynergy Project
Davinci Files
Sheet 1: Summary Sheet

Sheet 2: Synergy Project
Sheet 3: Davinci Files
2 - HwAg0Meas_IntegrationManual
Integration Manual
For
HwAg0Meas
VERSION: 5.0
DATE: 21-Jun-2016
Prepared By:
TATA ELXSI
Chennai Location: The official version of this document is stored in the Nexteer Configuration Management System.
Revision History
Sl. No. | Description | Author | Version | Date |
1 | Initial version | Selva Sengottaiyan | 1.0 | 14-July-2015 |
2 | Updated to v1.4.0 of FDD | Selva Sengottaiyan | 2.0 | 9-Sep-2015 |
3 | Updated to v1.6.0 of FDD | Selva Sengottaiyan | 4.0 | 23-Dec-2015 |
4 | Updated to v1.11.0 of FDD | TATA | 5.0 | 21-Jun-2016 |
Table of Contents
3.2 Global Functions(Non RTE) to be provided to Integration Project 6
4 Configuration REQUIREMeNTS 7
4.2 Configuration Files to be provided by Integration Project 7
4.3 Da Vinci Parameter Configuration Changes 7
4.4 DaVinci Interrupt Configuration Changes 7
4.5 Manual Configuration Changes 7
5 Integration DATAFLOW REQUIREMENTS 8
5.1 Required Global Data Inputs 8
5.2 Required Global Data Outputs 8
5.3 Specific Include Path present 8
Abbrevations And Acronyms
Abbreviation | Description |
DFD | Design functional diagram |
MDD | Module design Document |
References
This section lists the title & version of all the documents that are referred for development of this document
Sr. No. | Title | Version |
v | FDD – CM690A_HwAg0Meas_Design | See Synergy sub project version |
2 | Software Naming Conventions | Process 4.01.00 |
3 | Software Design and Coding Standards | Process 4.01.00 |
Dependencies
SWCs
Module | Required Feature |
None |
Global Functions(Non RTE) to be provided to Integration Project
None
Configuration REQUIREMeNTS
Build Time Config
Modules | Notes | |
FLTINJENA | Set to ‘STD_ON’ for fault injection |
Configuration Files to be provided by Integration Project
HwAg0Meas_Cfg.h
Da Vinci Parameter Configuration Changes
Parameter | Notes | SWC |
Refer the . m file in the design | CM10 FDD will provide NTC Configuration information | |
DaVinci Interrupt Configuration Changes
ISR Name | VIM # | Priority Dependency | Notes |
None |
Manual Configuration Changes
Constant | Notes | SWC |
None |
Integration DATAFLOW REQUIREMENTS
Required Global Data Inputs
Refer DataDict.m file in the FDD
Required Global Data Outputs
Refer DataDict.m file file in the FDD
Specific Include Path present
’
No
Runnable Scheduling
This section specifies the required runnable scheduling.
Init | Scheduling Requirements | Trigger |
HwAg0MeasInit1 | None | RTE (Init) |
Runnable | Scheduling Requirements | Trigger |
HwAg0MeasPer1 | None | RTE (2 ms) |
HwAg0MeasPer2 | None | RTE (2 ms) |
HwAg0MeasPer3 | None | RTE (2 ms) |
HwAg0MeasPer4 | None | RTE (2 ms) |
HwAg0MeasPer5 | None | RTE (100 ms) |
HwAg0MeasHwAg0AutTrim_Oper | None | Server invocation |
HwAg0MeasHwAg0ClrTrim_Oper | None | Server invocation |
HwAg0MeasHwAg0ReadTrim_Oper | None | Server invocation |
HwAg0MeasHwAg0TrimPrfmdSts_Oper | None | Server invocation |
HwAg0MeasHwAg0WrTrim_Oper | None | Server invocation |
.
Memory Map REQUIREMENTS
Mapping
Memory Section | Contents | Notes |
None | ||
* Each …START_SEC… constant is terminated by a …STOP_SEC… constant as specified in the AUTOSAR Memory Mapping requirements.
Usage
Feature | RAM | ROM |
None |
Table 1: ARM Cortex R4 Memory Usage
NvM Blocks
RTE NvM Blocks
Block Name |
HwAg0Offs |
Note : Size of the NVM block if configured in developer
Compiler Settings
Preprocessor MACRO
None.
Optimization Settings
None.
Appendix
Refer CM10 for SPCO port configuration (SENT4SPCO shall be Port level High). Port Configuration SENT4SPCO output:
Port (that’s needs to be configured as SENT4SPCO) should be initialized as input DIO with level high.
The client call IoHwAb_SetFctPrphlHwAg0_Oper will reset the pin to output Alterante mode for SENT4SPCO.
Design Recommandation :
- Port Config RSENT2 IO pin shall setup default input.
- Schedule execution of tasks as per below order at the end of 2ms task
1. "HwAg0MeasPer2"
2. "HwAg0MeasPer3"
3. "HwAg0MeasPer4"
4. "HwAg0MeasPer1"
- Schedule "HwAg0MeasPer4" & "HwAg0MeasPer1" shall at least 110us apart.
3 - HwAg0Meas_MDD
Module Design Document
For
HwAg0Meas
Jun 21, 2016
Prepared For:
Software Engineering
Nexteer Automotive,
Saginaw, MI, USA
Prepared By:
TATA ELXSI
Chennai
Change History
Description | Author | Version | Date |
Initial Version | Selva Sengottaiyan | 1.0 | 21-July-2015 |
Updated for V1.5.0 | Selva Sengottaiyan | 2.0 | 9-Sep-2015 |
Updated for v1.6.0 | Selva Sengottaiyan | 4.0 | 23-Dec-2015 |
Updated for v1.11.0 | TATA | 5.0 | 21-Jun-2016 |
Table of Contents
1 Introduction 6
1.1 Purpose 6
1.2 Scope 6
2 HwAg0Meas High-Level Description 7
3 Design details of software module 8
3.1 Graphical representation of HwAg0Meas 8
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.1 Sub-Module Functions 10
5.1.2 Interrupt Service Routines 11
5.1.3 Server Runnable Functions 11
5.1.4 Module Internal (Local) Functions 11
5.1.4.1 Local Function #1 11
5.1.4.2 Description 12
5.1.5 Transition Functions 12
6 Known Limitations with Design 13
7 UNIT TEST CONSIDERATION 14
Appendix A Abbreviations and Acronyms 15
Appendix B Glossary 16
Appendix C References 17
Introduction
Purpose
Scope
HwAg0Meas High-Level Description
Refer to FDD
Design details of software module
Graphical representation of HwAg0Meas
Data Flow Diagram
Component level DFD
Refer FDD
Function level DFD
Refer FDD
Constant Data Dictionary
Program (fixed) Constants
Embedded Constants
Local Constants
Constant Name | Value |
---|---|
MAXWAITININ_MICROSEC_U32 | ((uint32)2U) |
DATAAVLMAXWAIT_MICROSEC_U32 | ((uint32)300U) |
COMSTSMAXWAIT_MICROSEC_U32 | ((uint32)5U) |
PRTCLFLTMASK_CNT_U32 | 0xFEU |
SNSRIDMASK_CNT_U08 | 0x00FU |
MSGSTSMASK_CNT_U08 | 0x01U |
COMSTSMASK_CNT_U32 | 0x30000000UL |
DATAMASK_CNT_U16 | 0xFFF0U |
Software Component Implementation
Sub-Module Functions
Initialization sub-module {_Init()}
HwAg0MeasInit1 (Refer FDD for details)
Periodic sub-module {_Per()}
HwAg0MeasPer1 (Refer FDD for details)
Periodic sub-module {_Per()}
HwAg0MeasPer2 (Refer FDD for details)
Periodic sub-module {_Per()}
HwAg0MeasPer3 (Refer FDD for details)
Periodic sub-module {_Per()}
HwAg0MeasPer4 (Refer FDD for details)
Periodic sub-module {_Per()}
HwAg0MeasPer5 (Refer FDD for details)
Design Rationale:
The implementation brings in the block “HwAg0Final” inside the True Condition of the “finalAbsAg” as the other error condition will just retain the previous value and rolling counter will not change. It saves extra instructions in the implementation to the match the FDD. Final Functionality is still the same.
Interrupt Service Routines
None
Server Runnable Functions
Server Runnable: HwAg0MeasHwAg0AutTrim
Refer FDD for details
Server Runnable: HwAg0MeasHwAg0ClrTrim
Refer FDD for details
Server Runnable: HwAg0MeasHwAg0ReadTrim
Refer FDD for details
Server Runnable: HwAg0MeasHwAg0TrimPrfmdSts
Refer FDD for details
Server Runnable: HwAg0MeasHwAg0WrTrim
Refer FDD for details
Module Internal (Local) Functions
Local Function #1
Function Name | CalcHwAgIdx | Type | Min | Max |
Arguments Passed | HwAgStep_HwDeg_T_f32 | float32 | -900 | 900 |
Return Value | Index_Cnt_T_u08 | uint16 | 0 | 22 |
Description
The implementation deviates from the FDD block “Intpn” block. The implementation finds the minimum of absolute values of the difference between HwAg0Step with all the values from the Calibration table and find the index associated with minimum value of the difference in the calibration table.
Local Function #2
Function Name | ReadRegister | Type | Min | Max |
Arguments Passed | RegisterDummyRead_Cnt_T_u32 | N/A | N/A | N/A |
Return Value | RegisterDummyRead_Cnt_T_u32 | N/A | N/A | N/A |
Design Rationale
This function can be used both for read-and-use and for read-and-discard
Transition Functions
None
Known Limitations with Design
None
UNIT TEST CONSIDERATION
Roll Over is intentional for
*Rte_Pim_HwAg0Snsr0ComStsErrCntr()
*Rte_Pim_HwAg0Snsr0IdErrCntr()
*Rte_Pim_HwAg0Snsr0IntSnsrErrCntr()
*Rte_Pim_HwAg0Snsr0NoMsgErrCntr()
*Rte_Pim_HwAg0Snsr1ComStsErrCntr()
*Rte_Pim_HwAg0Snsr1IdErrCntr()
*Rte_Pim_HwAg0Snsr1IntSnsrErrCntr()
*Rte_Pim_HwAg0Snsr1NoMsgErrCntr()
(*Rte_Pim_HwAg0PrevRollCnt).
Thus counter acts in circular
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 | Software Naming Conventions.doc | 1.0 |
4 | Software Design and Coding Standards.doc | 2.1 |
5 | FDD - CM690A_HwAg0Meas_Design | See Synergy sub project version |
4 - requirements
FDD | ID | Source | Function | Line(s) | Status | Comment |
---|---|---|---|---|---|---|
.SwFileName | .SwFuncName | .SwLines | .SwStatus | .SwComment | ||
CM670A | 28 | HwAg0Meas.c | HwAg0MeasPer2 | 1171 | I | |
CM670A | 67 | HwAg0Meas.c | HwAg0MeasPer3 | 1294 | I | |
CM690A | 29 | HwAg0Meas.c | HwAg0MeasPer4 | 1516,1538,1554 | I | |
CM670A | 60 | HwAg0Meas.c | HwAg0MeasPer3 | 1329 | I | |
CM670A | 61 | HwAg0Meas.c | HwAg0MeasPer3 | 1329 | I | |
CM670A | 62 | HwAg0Meas.c | HwAg0MeasPer3 | 1329 | I | |
CM670A | 63 | HwAg0Meas.c | HwAg0MeasPer3 | 1329 | I | |
CM670A | 111 | HwAg0Meas.c | HwAg0MeasPer3 | 1303 | I | |
CM670A | 110 | HwAg0Meas.c | HwAg0MeasPer2 | 1159 | I | |
CM690A | 112 | HwAg0Meas.c | HwAg0MeasPer1 | 1048-1075 | I | |
CM690A | 100 | HwAg0Meas.c | HwAg0MeasPer5 | 1624,1629 | I | |
CM690A | 86 | HwAg0Meas.c | HwAg0MeasPer2,HwAg0MeasPer3 | 1126-1215,1269-1383 | I | |
CM690A | 102 | HwAg0Meas.c | HwAg0MeasPer5 | 1621-1631 | I | |
CM690A | 85 | HwAg0Meas.c | HwAg0MeasPer4 | 1515 | I | |
CM690A | 26 | HwAg0Meas.c | HwAg0MeasPer4 | 1554 | I | |
CM670A | 27 | HwAg0Meas.c | HwAg0MeasPer2,HwAg0MeasPer3 | 1139-1196,1283-1374 | I | |
CM670A | 48 | HwAg0Meas.c | HwAg0MeasPer2 | 1171 | I | |
CM670A | 49 | HwAg0Meas.c | HwAg0MeasPer2 | 1152 | I | |
CM670A | 46 | HwAg0Meas.c | HwAg0MeasPer2 | 1180 | I | |
CM670A | 47 | HwAg0Meas.c | HwAg0MeasPer2 | 1190 | I | |
CM670A | 44 | HwAg0Meas.c | HwAg0MeasPer2 | 1180 | I | |
CM670A | 45 | HwAg0Meas.c | HwAg0MeasPer2 | 1180 | I | |
CM670A | 42 | HwAg0Meas.c | HwAg0MeasPer2 | 1180 | I | |
CM670A | 43 | HwAg0Meas.c | HwAg0MeasPer2 | 1180 | I | |
CM670A | 40 | HwAg0Meas.c | HwAg0MeasPer2 | 1180 | I | |
CM670A | 41 | HwAg0Meas.c | HwAg0MeasPer2 | 1180 | I | |
CM690A | 76 | HwAg0Meas.c | HwAg0MeasPer4 | 1524 | I | |
CM690A | 108 | HwAg0Meas.c | HwAg0MeasPer4 | 1573 | I | |
CM690A | 109 | HwAg0Meas.c | HwAg0MeasPer2 | 1144 | I | |
CM690A | 73 | HwAg0Meas.c | HwAg0MeasPer4 | 1470-1587 | I | |
CM690A | 71 | HwAg0Meas.c | HwAg0MeasPer4 | 1515,1524,1533 | I | |
CM690A | 91 | HwAg0Meas.c | HwAg0MeasPer4 | 1483,1486,1508,1509 | I | |
CM690A | 90 | HwAg0Meas.c | HwAg0MeasPer4 | 1538,1554 | I | |
CM690A | 93 | HwAg0Meas.c | HwAg0MeasHwAg0TrimPrfmdSts_Oper | 878 | I | |
CM690A | 92 | HwAg0Meas.c | HwAg0MeasHwAg0AutTrim_Oper,HwAg0MeasHwAg0ClrTrim_Oper,HwAg0MeasHwAg0ReadTrim_Oper,HwAg0MeasHwAg0WrTrim_Oper | 773,774,816,818,848,919,921 | I | |
CM690A | 95 | HwAg0Meas.c | HwAg0MeasHwAg0WrTrim_Oper | 918-922 | I | |
CM690A | 94 | HwAg0Meas.c | HwAg0MeasHwAg0ClrTrim_Oper | 815-819 | I | |
CM690A | 104 | HwAg0Meas.c | HwAg0MeasPer5 | 1629 | I | |
CM690A | 96 | HwAg0Meas.c | HwAg0MeasHwAg0AutTrim_Oper | 770-775 | I | |
CM690A | 39 | HwAg0Meas.c | HwAg0MeasPer2 | 1127-1216 | I | |
CM670A | 38 | HwAg0Meas.c | HwAg0MeasPer2 | 1169,1190-1196 | I | |
CM670A | 59 | HwAg0Meas.c | HwAg0MeasPer3 | 1329 | I | |
CM670A | 58 | HwAg0Meas.c | HwAg0MeasPer3 | 1329 | I | |
CM690A | 55 | HwAg0Meas.c | HwAg0MeasPer3,HwAg0MeasPer4 | 1270-1384,1471 | I | |
CM690A | 32 | HwAg0Meas.c | HwAg0MeasPer4 | 1538,1554 | I | |
CM670A | 57 | HwAg0Meas.c | HwAg0MeasPer3 | 1329 | I | |
CM690A | 30 | HwAg0Meas.c | HwAg0MeasPer4 | 1584 | I | |
CM690A | 50 | HwAg0Meas.c | HwAg0MeasHwAg0AutTrim_Oper,HwAg0MeasHwAg0ClrTrim_Oper,HwAg0MeasHwAg0WrTrim_Oper | 772,774,817,818,920,921 | I | |
CM670A | 53 | HwAg0Meas.c | HwAg0MeasPer3 | 1294,1303,1315,1327,1338 | I | |
CM690A | 107 | HwAg0Meas.c | HwAg0MeasPer5 | 1624 | I | |
CM670A | 64 | HwAg0Meas.c | HwAg0MeasPer3 | 1338 | I | |
CM690A | 31 | HwAg0Meas.c | HwAg0MeasPer4 | 1586 | I | |
CM670A | 65 | HwAg0Meas.c | HwAg0MeasPer3 | 1317 | I |