1 - HwTq1Meas_IntegrationManual

Integration Manual

For

HwTq1Meas

VERSION: 3.0

DATE: 21-Dec-2015

Prepared By:

Software Group,

Nexteer Automotive,

Saginaw, MI, USA

Location: The official version of this document is stored in the Nexteer Configuration Management System.

Revision History

Sl. No.DescriptionAuthorVersionDate
1Initial versionRijvi Ahmed1.011-Aug-2015
2Updated for CM660A_HwTq1Meas_Design_1.4.0Selva2.014-Oct-2015
3Updated for CM660A_HwTq1Meas_Design_1.6.0Selva3.021-Dec-2015

Table of Contents

1 Abbrevations And Acronyms 4

2 References 5

3 Dependencies 6

3.1 SWCs 6

3.2 Global Functions(Non RTE) to be provided to Integration Project 6

4 Configuration REQUIREMeNTS 7

4.1 Build Time Config 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

6 Runnable Scheduling 9

7 Memory Map REQUIREMENTS 10

7.1 Mapping 10

7.2 Usage 10

7.3 NvM Blocks 10

8 Compiler Settings 11

8.1 Preprocessor MACRO 11

8.2 Optimization Settings 11

9 Appendix 12

Abbrevations And Acronyms

AbbreviationDescription
DFDDesign functional diagram
MDDModule design Document
FDDFunctional Design Document

References

This section lists the title & version of all the documents that are referred for development of this document

Sr. No.TitleVersion
1FDD – CM660A HwTq1MeasSee Synergy subproject version
2Software Naming ConventionsProcess 04.02.00
3Software Coding StandardsProcess 04.02.00

Dependencies

SWCs

ModuleRequired Feature
None

Note : Referencing the external components should be avoided in most cases. Only in unavoidable circumstance external components should be referred. Developer should track the references.

Global Functions(Non RTE) to be provided to Integration Project

None

Configuration REQUIREMeNTS

Build Time Config

ModulesNotes
None

Configuration Files to be provided by Integration Project

CDD_HwTq1Meas_Cfg.h

Note: Temporarily this file can be copied from the contract folder. Later revision will have the Davinci configuration parameter to generate the file.

Da Vinci Parameter Configuration Changes

ParameterNotesSWC
None

DaVinci Interrupt Configuration Changes

ISR NameVIM #Priority DependencyNotes
None

Manual Configuration Changes

ConstantNotesSWC
None

Integration DATAFLOW REQUIREMENTS

Required Global Data Inputs

Refer DataDict.m file

Required Global Data Outputs

Refer DataDict.m file

Specific Include Path present

Yes

Runnable Scheduling

This section specifies the required runnable scheduling.

InitScheduling RequirementsTrigger
HwTq1MeasInit1NoneRTE (Init)
RunnableScheduling RequirementsTrigger
HwTq1MeasPer1NoneRTE (2 ms)
HwTq1MeasPer2NoneRTE (100 ms)
HwTq1MeasHwTq1AutTrim_OperNoneOn event
HwTq1MeasHwTq1ClrTrim_OperNoneOn event
HwTq1MeasHwTq1ReadTrim_OperNoneOn event
HwTq1MeasHwTq1TrimPrfmdSts_OperNoneOn event
HwTq1MeasHwTq1WrTrim_OperNoneOn event
HwTq1MeasTrigStrt_OperNoneOn event

Memory Map REQUIREMENTS

Mapping

Memory SectionContentsNotes
None

* Each …START_SEC… constant is terminated by a …STOP_SEC… constant as specified in the AUTOSAR Memory Mapping requirements.

Usage

FeatureRAMROM
None

Table 1: ARM Cortex R4 Memory Usage

NvM Blocks

*See DataDict.m

Compiler Settings

Preprocessor MACRO

None

Optimization Settings

None

Appendix

Port Configuration SENT1SPCO output:

Port (that’s needs to be configured as SENT1SPCO) should be initialized as input DIO with level high.

The client call IoHwAb_SetFctPrphlHwTq1_Oper will reset the pin to output Alterante mode for SENT1SPCO.

2 - HwTq1Meas_MDD

Module Design Document

For

HandWheel Torque 1 Measurement

Dec 21 2015

Prepared For:

Software Engineering

Nexteer Automotive,

Saginaw, MI, USA

Prepared By:

Software Group,

Nexteer Automotive,

Saginaw, MI, USAChange History

DescriptionAuthorVersionDate
Initial VersionRijvi Ahmed1.011-Aug-2015
Inplement Rack Limiter EOTRijvi Ahmed2.018-Sep-2015
Updated for CM660A_HwTq1Meas_Design_1.4.0Selva3.014-Oct-2015
Updated for CM660A_HwTq1Meas_Design_1.6.0Selva4.021-Dec-15

Table of Contents

1 Introduction 5

1.1 Purpose 5

2 HwTq1Meas & High-Level Description 6

3 Design details of software module 7

3.1 Graphical representation of HwTq1Meas 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: HwTq1MeasInit1 9

5.1.1.1 Design Rationale 9

5.1.1.2 Module Outputs 9

5.1.2 Per: HwTq1MeasPer1 9

5.1.2.1 Design Rationale 9

5.1.2.2 Store Module Inputs to Local copies 9

5.1.2.3 (Processing of function)……… 9

5.1.2.4 Store Local copy of outputs into Module Outputs 9

5.1.3 Per: HwTq1MeasPer2 9

5.1.3.1 Design Rationale 9

5.1.3.2 Store Module Inputs to Local copies 10

5.1.3.3 (Processing of function)……… 10

5.1.3.4 Store Local copy of outputs into Module Outputs 10

5.2 Server Runables 10

5.2.1 HwTq1MeasHwTq1AutTrim_oper 10

5.2.1.1 Design Rationale 10

5.2.1.2 (Processing of function)……… 10

5.2.2 HwTq1MeasHwTq1ClrTrim_Oper 10

5.2.2.1 Design Rationale 10

5.2.2.2 (Processing of function)……… 10

5.2.3 HwTq1MeasHwTq1ReadTrim_Oper 10

5.2.3.1 Design Rationale 10

5.2.3.2 (Processing of function)……… 10

5.2.4 HwTq1MeasHwTq1TrimPrfmdSts_Oper 10

5.2.4.1 Design Rationale 10

5.2.4.2 (Processing of function)……… 11

5.2.5 HwTq1MeasHwTq1WrTrim_Oper 11

5.2.5.1 Design Rationale 11

5.2.5.2 (Processing of function)……… 11

5.2.6 HwTq1MeasTrigStrt_Oper 11

5.2.6.1 Design Rationale 11

5.2.6.2 (Processing of function)……… 11

5.3 Interrupt Functions 11

5.4 Module Internal (Local) Functions 11

5.4.1 Local Function #1 11

5.4.1.1 Design Rationale 11

5.4.2 Local Function #2 11

5.4.2.1 Design Rationale 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 References 18

Introduction

Purpose

Module design document for Hand Wheel Torque 1 Measurement Function.

HwTq1Meas & High-Level Description

This module configures and processes the RSENT1 peripheral, which is connected to the handwheel torque 1 sensor. The module configures the peripheral, triggers transfers, and processes the received data.

This module also reads and provides the rack limiter EOT information which is stored in torque sensor 1 scratchpad.

Design details of software module

Graphical representation of HwTq1Meas

Data Flow Diagram

Component level DFD

N/A

Function level DFD

N/A

Constant Data Dictionary

Program (fixed) Constants

Embedded Constants

Local Constants

Constant NameResolutionUnitsValue
STSFLTMASK_CNT_U321Cnt0x000000FEUL
TQDATAMASK_CNT_U321Cnt0x00000FFFUL
SENTSYNCTRIG_CNT_U321Cnt16UL
REGCFGWAITTI_CNT_U321Cnt2UL
RACKLIMREOTSIGHILIM_HWDEG_F32Single point precisionHwDeg(800.0F)
RACKLIMREOTSIGLOLIM_HWDEG_F32Single point precisionHwDeg(-800.0F)
RACKLIMRCCWEOTSCA_ULS_F32Single point precisionUls(-0.1953F)
RACKLIMRCWEOTSCA_ULS_F32Single point precisionUls(0.1953F)
EOTCSMASK_CNT_U321Cnt0x00000700UL
EOTIDTWO_CNT_U081Cnt2U
EOTIDTHREE_CNT_U081Cnt3U
EOTIDFOUR_CNT_U081Cnt4U
EOTDATAMASK_CNT_U321Cnt0x00000FF0UL
EOTIDMASK_CNT_U321Cnt0x0000000FUL
FRSMASK_CNT_U321Cnt0x00000001UL
CSMASK_CNT_U321Cnt0x000000FEUL
FCCNMASK_CNT_U321Cnt0x30000000UL
SLOWMSGDATAMASK_CNT_U321Cnt0x80000000UL

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

Design Rationale

Magic numbers are used due to the large number of numeric values (for peripheral register configuration), it is more readable and easier to maintain without using embedded constants for these values. The values are shown in code comments, and line up exactly with the definitions given in the design module (a special spreadsheet was included in the design for this purpose).

See CM660A_HwTq1Meas_RSENTPeripheralCfg.xlsx in design module.

Module Outputs

Refer to FDD

Per: HwTq1MeasPer1

Design Rationale

None

Store Module Inputs to Local copies

Refer to FDD

(Processing of function)………

Refer to FDD

Store Local copy of outputs into Module Outputs

Refer to FDD

Per: HwTq1MeasPer2

Design Rationale

None

Store Module Inputs to Local copies

Refer to FDD

(Processing of function)………

Refer to FDD

Store Local copy of outputs into Module Outputs

Refer to FDD

Server Runables

HwTq1MeasHwTq1AutTrim_oper

Design Rationale

None

(Processing of function)………

See block “HwTq1MeasHwTq1AutTrim” in the Simulink model of the design.

HwTq1MeasHwTq1ClrTrim_Oper

Design Rationale

None

(Processing of function)………

See block “HwTq1MeasHwTq1ClrTrim” in the Simulink model of the design.

HwTq1MeasHwTq1ReadTrim_Oper

Design Rationale

None

(Processing of function)………

See block “HwTq1MeasHwTq1ReadTrim” in the Simulink model of the design.

HwTq1MeasHwTq1TrimPrfmdSts_Oper

Design Rationale

None

(Processing of function)………

See block “HwTq1MeasHwTq1TrimPrfmdSts” in the Simulink model of the design.

HwTq1MeasHwTq1WrTrim_Oper

Design Rationale

None

(Processing of function)………

See block “HwTq1MeasHwTq1WrTrim” in the Simulink model of the design.

HwTq1MeasTrigStrt_Oper

Design Rationale

None

(Processing of function)………

See block “HwTq1MeasTrigStrt” in the Simulink model of the design.

Interrupt Functions

None

Module Internal (Local) Functions

Local Function #1

Function NameRackLimrEotSigReadTypeMinMax
Arguments PassedNoneN/AN/AN/A
Return ValueN/AN/AN/AN/A

Design Rationale

See RackLimrEot/RackLimrEotSigRead block in the Simulink model of the design.

Local Function #2

Function NameReadRegisterTypeMinMax
Arguments PassedRegisterDummyRead_Cnt_T_u32N/AN/AN/A
Return ValueRegisterDummyRead_Cnt_T_u32N/AN/AN/A

Design Rationale

This function can be used both for read-and-use and for read-and-discard

GLOBAL Function/Macro Definitions

None

Known Limitations with Design

None

UNIT TEST CONSIDERATION

Overflow for the variables Rte_Pim_HwTq1MeasPrevRollgCntr, Rte_Pim_HwTq1MsgMissRxCnt, Rte_Pim_HwTq1ComStsErrCntr, Rte_Pim_HwTq1IntSnsrErrCntr are intentional as these are used as rolling counters.

Abbreviations and Acronyms

Abbreviation or AcronymDescription
DFDDesign functional diagram
MDDModule design Document

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
3Software Naming Conventions.doc1.0
4Software Design and Coding Standards.doc2.0
5FDD – CM660A HwTq1MeasSee Synergy subproject version

3 - HwTq1Meas_PeerReviewChecklist


Overview

Summary Sheet
Synergy Project


Sheet 1: Summary Sheet
























Rev 1.28-Jun-15

Peer Review Summary Sheet


























Synergy Project Name:


kzshz2: Intended Use: Identify which component is being reviewed. This should be the Module Short Name from Synergy Rationale: Required for traceability. It will help to ensure this form is not attaced to the the wrong change request. CM660A_HwTq1Meas_Impl
Revision / Baseline:


kzshz2: Intended Use: Identify which Synergy revision of this component is being reviewed Rationale: Required for traceability. It will help to ensure this form is not attaced to the the wrong change request. CM660A_HwTq1Meas_Impl_1.7.0

























Change Owner:


kzshz2: Intended Use: Identify the developer who made the change(s) Rationale: A change request may have more than one resolver, this will help identify who made what change. Change owner identification may be required by indusrty standards. Avinash James
Work CR ID:


EA4#8590





























kzshz2: Intended Use: Intended to identify at a high level to the reviewers which areas of the component have been changed. Rationale: This will be good information to know when ensuring appropriate reviews have been completed. Modified File Types:















































































































































































kzshz2: Intended Use: Identify who where the reviewers, what they reviewed, and if the reviewed changes have been approved to release the code for testing. Comments here should be at a highlevel, the specific comments should be present on the specific review form sheet. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. ADD DR Level Move reviewer and approval to individual checklist form Review Checklist Summary:






















































Reviewed:































N/AMDD


N/ASource Code


N/APolySpace









































N/AIntegration Manual


N/ADavinci Files








































































Comments:

Quality updates- Just imported the latest design project



























































































General Guidelines:
- The reviews shall be performed over the portions of the component that were modified as a result of the Change Request.
- New components should include FDD Owner and Integrator as apart of the Group Review Board (Source Code, Integration Manual, and Davinci Files)
- Enter any rework required into the comment field and select No. When the rework is complete, review again using this same review sheet and select Yes. Add date and additional comment stating that the rework is completed.
- To review a component with multiple source code files use the "Add Source" button to create a Source code tab for each source file.
- .h file should be reviewed with the source file as part of the source file.





















Sheet 2: Synergy Project

Peer Review Meeting Log (Component Synergy Project Review)



















































Quality Check Items:




































Rationale is required for all answers of No










New baseline version name from Summary Sheet follows








Yes
Comments:



naming convention





































Project contains necessary subprojects








Yes
Comments:










































Project contains the correct version of subprojects








Yes
Comments:










































Design subproject is correct version








Yes
Comments:











































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Avinash James


Review Date :

12/06/16
































Lead Peer Reviewer:


Shruthi Raghavan


Approved by Reviewer(s):



Yes































Other Reviewer(s):









































































4 - requirements

FDDIDSourceFunctionLine(s)StatusComment
.SwFileName.SwFuncName.SwLines.SwStatus.SwComment
CM660A30CDD_HwTq1Meas.cHwTq1MeasPer11244I
CM660A42CDD_HwTq1Meas.cHwTq1MeasPer11140-1145I
CM660A29CDD_HwTq1Meas.cHwTq1MeasPer11171-1185I
CM660A61CDD_HwTq1Meas.cHwTq1MeasPer21281-1290I
CM660A63CDD_HwTq1Meas.cHwTq1MeasPer21281-1290I
CM660A65CDD_HwTq1Meas.cHwTq1MeasPer21281-1290I
CM660A67CDD_HwTq1Meas.cHwTq1MeasPer21281-1290I
CM660A26CDD_HwTq1Meas.cHwTq1MeasPer11184I
CM660A27CDD_HwTq1Meas.cHwTq1MeasPer11066-1247I
CM660A48CDD_HwTq1Meas.cHwTq1MeasPer11129-1134I
CM660A49CDD_HwTq1Meas.cHwTq1MeasPer11120-1124I
CM660A46CDD_HwTq1Meas.cHwTq1MeasPer11141-1146I
CM660A47CDD_HwTq1Meas.cHwTq1MeasPer11154-1159I
CM660A44CDD_HwTq1Meas.cHwTq1MeasPer11141-1146I
CM660A45CDD_HwTq1Meas.cHwTq1MeasPer11141-1146I
CM660A28CDD_HwTq1Meas.cHwTq1MeasPer11129-1134I
CM660A43CDD_HwTq1Meas.cHwTq1MeasPer11140-1145I
CM660A40CDD_HwTq1Meas.cHwTq1MeasPer11140-1145I
CM660A41CDD_HwTq1Meas.cHwTq1MeasPer11140-1145I
CM660A76CDD_HwTq1Meas.cHwTq1MeasPer11225I
CM660A75CDD_HwTq1Meas.cRackLimrEotSigRead1425I
CM660A71CDD_HwTq1Meas.cRackLimrEotSigRead1411-1419I
CM660A70CDD_HwTq1Meas.cRackLimrEotSigRead1411-1419,1423,1424I
CM660A39CDD_HwTq1Meas.cHwTq1MeasPer11066-1247I
CM660A38CDD_HwTq1Meas.cHwTq1MeasPer11198,1203I
CM660A55CDD_HwTq1Meas.cHwTq1MeasHwTq1WrTrim_Oper909-916I
CM660A54CDD_HwTq1Meas.cHwTq1MeasHwTq1ClrTrim_Oper799-806I
CM660A31CDD_HwTq1Meas.cHwTq1MeasPer11245I
CM660A56CDD_HwTq1Meas.cHwTq1MeasHwTq1AutTrim_Oper751-758I
CM660A50CDD_HwTq1Meas.cHwTq1MeasHwTq1AutTrim_Oper,HwTq1MeasHwTq1ClrTrim_Oper,HwTq1MeasHwTq1WrTrim_Oper,HwTq1MeasPer1751-758,799-806,909-916,1175I
CM660A53CDD_HwTq1Meas.cHwTq1MeasHwTq1TrimPrfmdSts_Oper868I
CM660A52CDD_HwTq1Meas.cHwTq1MeasHwTq1ReadTrim_Oper837I
CM660A33CDD_HwTq1Meas.cHwTq1MeasTrigStrt_Oper1336-1353I
CM660A32CDD_HwTq1Meas.cHwTq1MeasPer11171-1185I