1 - HwTq3Meas_IntegrationManual

Integration Manual

For

HwTq3Meas

VERSION: 2.0

DATE: 23-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.012-Aug-2015
2Updated for FDD v 1.2.0Selva2.014-Oct-2015
3CM700A HwTq3Meas Rev1.3.0 - Implementation (A3079) EA4#3162Selva Sengottaiyan3.022-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 – CM700A HwTq3MeasSee 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_HwTq3Meas_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
HwTq3MeasInit1NoneRTE (Init)
RunnableScheduling RequirementsTrigger
HwTq3MeasPer1NoneRTE (2 ms)
HwTq3MeasPer2NoneRTE (100 ms)
HwTq3MeasHwTq3AutTrim_OperNoneOn event
HwTq3MeasHwTq3ClrTrim_OperNoneOn event
HwTq3MeasHwTq3ReadTrim_OperNoneOn event
HwTq3MeasHwTq3TrimPrfmdSts_OperNoneOn event
HwTq3MeasHwTq3WrTrim_OperNoneOn event
HwTq3MeasTrigStrt_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 SENT5SPCO output:

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

The client call IoHwAb_SetFctPrphlHwTq3_Oper will reset the pin to output Alterante mode for SENT5SPCO.

2 - HwTq3Meas_MDD

Module Design Document

For

HandWheel Torque 3 Measurement

June 02, 2016Mar 31, 2016

Prepared For:

Software Engineering

Nexteer Automotive,

Saginaw, MI, USA

Prepared By:

Krishna Anne,

Nexteer Automotive,

Saginaw, MI, USAChange History

DescriptionAuthorVersionDate
Initial VersionRijvi Ahmed1.012-Aug-2015
Updated to v 1.2.0Selva Sengottaiyan2.014-Oct-2015
Updated for CM700A_HwTq2Meas_Design_1.3.0Selva Sengottaiyan3.022-Dec-15
Updated for CM700A_HwTq2Meas_Design_2.0.0Krishna Anne4.031-Mar-16
Updated for CM700A_HwTq2Meas_Design_2.0.1Krishna Anne5.002-Jun-16

Table of Contents

1 Introduction 5

1.1 Purpose 5

2 HwTq3Meas & High-Level Description 6

3 Design details of software module 7

3.1 Graphical representation of HwTq3Meas 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: HwTq3MeasInit1 9

5.1.1.1 Design Rationale 9

5.1.1.2 Module Outputs 9

5.1.2 Per: HwTq3MeasPer1 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: HwTq3MeasPer2 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 HwTq3MeasHwTq3AutTrim_oper 10

5.2.1.1 Design Rationale 10

5.2.1.2 (Processing of function)……… 10

5.2.2 HwTq3MeasHwTq3ClrTrim_Oper 10

5.2.2.1 Design Rationale 10

5.2.2.2 (Processing of function)……… 10

5.2.3 HwTq3MeasHwTq3ReadTrim_Oper 10

5.2.3.1 Design Rationale 10

5.2.3.2 (Processing of function)……… 10

5.2.4 HwTq3MeasHwTq3TrimPrfmdSts_Oper 11

5.2.4.1 Design Rationale 11

5.2.4.2 (Processing of function)……… 11

5.2.5 HwTq3MeasHwTq3WrTrim_Oper 11

5.2.5.1 Design Rationale 11

5.2.5.2 (Processing of function)……… 11

5.2.6 HwTq3MeasTrigStrt_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 12

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 3 Measurement Function.

HwTq3Meas & High-Level Description

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

Design details of software module

Graphical representation of HwTq3Meas

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
TQDATAMASK_CNT_U321Cnt0x00000FFFUL
SENTSYNCTRIG_CNT_U321Cnt16UL
REGCFGWAITTI_CNT_U321Cnt2UL
FRSMASK_CNT_U321Cnt0x00000001UL
CSMASK_CNT_U321Cnt0x000000FEUL
FCCNMASK_CNT_U321Cnt0x30000000UL
SLOWNEWMSGDATAMASK_CNT_U321Cnt0x80000000UL
SLOWCSMASK_ULS_U321Cnt0x00000700UL
SLOWMSGIDMASK_CNT_U321Cnt0x00000F00UL
SLOWMSGDATAMASK_CNT_U321Cnt0x000000FFUL
GEARIDN2MIN_CNT_U081Cnt0U
GEARIDN2MAX_CNT_U081Cnt63U

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

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 CM700A_HwTq3Meas_RSENTPeripheralCfg.xlsx in design module.

Module Outputs

Refer to FDD

Per: HwTq3MeasPer1

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

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

HwTq3MeasHwTq3AutTrim_oper

Design Rationale

None

(Processing of function)………

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

HwTq3MeasHwTq3ClrTrim_Oper

Design Rationale

None

(Processing of function)………

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

HwTq3MeasHwTq3ReadTrim_Oper

Design Rationale

None

(Processing of function)………

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

HwTq3MeasHwTq3TrimPrfmdSts_Oper

Design Rationale

None

(Processing of function)………

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

HwTq3MeasHwTq3WrTrim_Oper

Design Rationale

None

(Processing of function)………

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

HwTq3MeasTrigStrt_Oper

Design Rationale

None

(Processing of function)………

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

Interrupt Functions

None

Module Internal (Local) Functions

Local Function #1

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

Local Function #2

Function NameSlowSerlDataReadTypeMinMax
Arguments PassedSlowSerlSND_Cnt_T_u32uint320x00000000UL0x80000000UL
Arguments PassedSlowSerlCS_Cnt_T_u32uint320x00000000UL0x00000700UL
Arguments PassedSlowSerlMsgID_Cnt_T_u08uint80x00000000UL0x00000F00UL
Arguments PassedSlowSerlMsgData_Cnt_T_u08uint80x00000000UL0x000000FFUL
Return ValueNoneNANANA

Design Rationale

This function is split from SlowSerlDataRead block of Per1 to deal with cyclomatic complexity.

GLOBAL Function/Macro Definitions

None

Known Limitations with Design

None

UNIT TEST CONSIDERATION

Overflow for the variables Rte_Pim_HwTq3MeasPrevRollgCntr and Rte_Pim_HwTq3MsgMissRxCnt, Rte_Pim_HwTq3ComStsErrCntr, Rte_Pim_HwTq3IntSnsrErrCntr 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 – CM700A HwTq3MeasSee Synergy subproject version

3 - HwTq3Meas_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. CM700A_HwTq3Meas_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. CM700A_HwTq3Meas_Impl_2.1.1

























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. Shruthi Raghavan
Work CR ID:


EA4#8598





























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:

Updated to latest design subproject version since the changes do not affect implementation



























































































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:

Shruthi Raghavan


Review Date :

12/06/16
































Lead Peer Reviewer:


Krishna Anne


Approved by Reviewer(s):



Yes































Other Reviewer(s):









































































4 - requirements

FDDIDSourceFunctionLine(s)StatusComment
.SwFileName.SwFuncName.SwLines.SwStatus.SwComment
CM700A30CDD_HwTq3Meas.cHwTq3MeasPer11228I
CM700A42CDD_HwTq3Meas.cHwTq3MeasPer11132-1138I
CM700A29CDD_HwTq3Meas.cHwTq3MeasPer11167-1181I
CM700A61CDD_HwTq3Meas.cHwTq3MeasPer21269-1278I
CM700A63CDD_HwTq3Meas.cHwTq3MeasPer21269-1278I
CM700A65CDD_HwTq3Meas.cHwTq3MeasPer21269-1278I
CM680A66CDD_HwTq3Meas.cHwTq3MeasPer1,SlowSerlDataRead1158,1372-1393I
CM700A26CDD_HwTq3Meas.cHwTq3MeasPer11180I
CM700A27CDD_HwTq3Meas.cHwTq3MeasPer11101-1153I
CM700A48CDD_HwTq3Meas.cHwTq3MeasPer11121-1126I
CM700A49CDD_HwTq3Meas.cHwTq3MeasPer11112-1116I
CM700A46CDD_HwTq3Meas.cHwTq3MeasPer11133-1139I
CM700A47CDD_HwTq3Meas.cHwTq3MeasPer11146-1151I
CM700A44CDD_HwTq3Meas.cHwTq3MeasPer11133-1139I
CM700A45CDD_HwTq3Meas.cHwTq3MeasPer11133-1139I
CM700A28CDD_HwTq3Meas.cHwTq3MeasPer11121-1126I
CM700A43CDD_HwTq3Meas.cHwTq3MeasPer11132-1138I
CM700A40CDD_HwTq3Meas.cHwTq3MeasPer11132-1138I
CM700A41CDD_HwTq3Meas.cHwTq3MeasPer11132-1138I
CM700A39CDD_HwTq3Meas.cHwTq3MeasPer11050-1232I
CM700A38CDD_HwTq3Meas.cHwTq3MeasPer11194,1199I
CM700A59CDD_HwTq3Meas.cHwTq3MeasPer21269-1278I
CM700A55CDD_HwTq3Meas.cHwTq3MeasHwTq3WrTrim_Oper894-901I
CM700A54CDD_HwTq3Meas.cHwTq3MeasHwTq3ClrTrim_Oper785-792I
CM700A31CDD_HwTq3Meas.cHwTq3MeasPer11229I
CM700A56CDD_HwTq3Meas.cHwTq3MeasHwTq3AutTrim_Oper737-744I
CM700A51CDD_HwTq3Meas.cHwTq3MeasPer11171I
CM700A50CDD_HwTq3Meas.cHwTq3MeasHwTq3AutTrim_Oper,HwTq3MeasHwTq3ClrTrim_Oper,HwTq3MeasHwTq3WrTrim_Oper737-744,785-792,894-901I
CM700A53CDD_HwTq3Meas.cHwTq3MeasHwTq3TrimPrfmdSts_Oper853I
CM700A52CDD_HwTq3Meas.cHwTq3MeasHwTq3ReadTrim_Oper822I
CM680A33CDD_HwTq3Meas.cHwTq3MeasTrigStrt_Oper1320-1336I
CM700A32CDD_HwTq3Meas.cHwTq3MeasPer11167-1181I