Hardware_Power_Up_MDD

Module – Hardware Power Up Sequence

High-Level Description

This module controls the startup initialization sequence for several modules that would otherwise conflict with one another. It uses a series of boolean inputs and outputs to control these modules.

Figures

Component Diagram


Variable Data Dictionary

For details on module input / output variable, refer to the Data Dictionary for the application. Input / output variable names are listed here for reference.

Module InputsModule Outputs
PwrDiscATestComplete_Cnt_lgcPwrDiscATestStart_Cnt_lgc
TMFTestComplete_Cnt_lgcTMFTestStart_Cnt_lgc
PwrDiscBTestComplete_Cnt_lgcPwrDiscBTestStart_Cnt_lgc
MtrDrvrInitComplete_Cnt_lgcMtrDrvrInitStart_Cnt_lgc

Module Internal Variables

This section identifies the name, range and resolutions for module specific data created by this module. If there are no range restrictions on the variable, the term “FULL” is placed into the table for legal range.

Variable NameResolution

Legal Range

(min)

Legal Range

(max)

Software Segment
PowerUpState_Cnt_M_enum106HWPWUP_START_SEC_VAR_CLEARED_UNSPECIFIED
PwrDiscATestStart_Cnt_M_lgcbooleanFALSETRUEHWPWUP_START_SEC_VAR_CLEARED_UNSPECIFIED
TMFTestStart_Cnt_M_lgcbooleanFALSETRUEHWPWUP_START_SEC_VAR_CLEARED_UNSPECIFIED
PwrDiscBTestStart_Cnt_M_lgcbooleanFALSETRUEHWPWUP_START_SEC_VAR_CLEARED_UNSPECIFIED
MtrDrvrInitStart_Cnt_M_lgcbooleanFALSETRUEHWPWUP_START_SEC_VAR_CLEARED_UNSPECIFIED

User defined typedef definition/declaration

This section documents any user types uniquely used for the module.

Typedef NameElement NameUser Defined Type

Legal Range

(min)

Legal Range

(max)

PowerUpSequenceType

PWRUP_PWRDISCSTEPA = 0

PWRUP_TMFINIT = 1

PWRUP_PWRDISCSTEPB = 2

PWRUP_MTRDRIVERINIT = 3

PWRUP_WARMINITCOMPLETE = 4

PWRUP_RUN = 5

PWRUP_DISABLE = 6

uint806

Constant Data Dictionary

Calibration Constants

This section lists the calibrations used by the module. For details on calibration constants, refer to the Data Dictionary for the application.

Constant Name
none

Program(fixed) Constants

Embedded Constants

All embedded constants whose values are provided in Eng units will be evaluated to the equivalent counts by using the FPM_InitFixedPoint_m() macro within the #define statement.

Local

Constant NameResolutionUnitsValue
D_PWRDISCSTEPAMASK_CNT_U161Counts0x0001
D_PWRDISCSTEPBMASK_CNT_U161Counts0x0004
D_PGMSPECMASK_CNT_U161Countsconfigurable

Global

This section lists the global constants used by the module. For details on global constants, refer to the Data Dictionary for the application.

Constant Name
None

Module specific Lookup Tables Constants

Constant NameResolutionValueSoftware Segment
None


Functions/Macros used by the Sub-Modules

Library Functions / Macros

The library and functions / Macros that are called by the various sub modules are identified below,

  1. None

Data Hiding Functions

  1. Rte_Call_MilestoneRqst_WarmInitMilestoneComplete

  2. Rte_Call_MilestoneRqst_WarmInitMilestoneNotComplete

Global Functions/Macros Defined by this Module

None

Software Module Implementation

Runtime Environment (RTE) Initial Values

This section lists the initial values of data written by this module but controlled by the RTE. After RTE initialization, the data in this table will contain these values.

DataValue
Rte_InitValue_MtrDrvrInitComplete_Cnt_lgcFALSE
Rte_InitValue_MtrDrvrInitStart_Cnt_lgcFALSE
Rte_InitValue_PwrDiscATestComplete_Cnt_lgcFALSE
Rte_InitValue_PwrDiscATestStart_Cnt_lgcFALSE
Rte_InitValue_PwrDiscBTestComplete_Cnt_lgcFALSE
Rte_InitValue_PwrDiscBTestStart_Cnt_lgcFALSE
Rte_InitValue_TMFTestComplete_Cnt_lgcFALSE
Rte_InitValue_TMFTestStart_Cnt_lgcFALSE

Initialization Functions

None


Periodic Functions

Per: _Per1

Design Rationale

None

Program Flow Start

Rte_Call_HwPwUp_Per1_CP0_CheckpointReached()

Store Module Inputs to Local copies

PwrDiscATestComplete_Cnt_T_lgc = Rte_IRead_HwPwUp_Per1_PwrDiscATestComplete_Cnt_lgc()

TMFTestComplete_Cnt_T_lgc = Rte_IRead_HwPwUp_Per1_TMFTestComplete_Cnt_lgc()

PwrDiscBTestComplete_Cnt_T_lgc = Rte_IRead_HwPwUp_Per1_PwrDiscBTestComplete_Cnt_lgc()

MtrDrvrInitComplete_Cnt_T_lgc = Rte_IRead_HwPwUp_Per1_MtrDrvrInitComplete_Cnt_lgc()

Process State Machine

Store Local copy of outputs into Module Outputs

Rte_IWrite_HwPwUp_Per1_PwrDiscATestStart_Cnt_lgc(PwrDiscATestStart_Cnt_M_lgc)

Rte_IWrite_HwPwUp_Per1_TMFTestStart_Cnt_lgc(TMFTestStart_Cnt_M_lgc)

Rte_IWrite_HwPwUp_Per1_PwrDiscBTestStart_Cnt_lgc(PwrDiscBTestStart_Cnt_M_lgc)

Rte_IWrite_HwPwUp_Per1_MtrDrvrInitStart_Cnt_lgc(MtrDrvrInitStart_Cnt_M_lgc)

Program Flow End

Rte_Call_HwPwUp_Per1_CP1_CheckpointReached()


Fault Recovery Functions

None

Shutdown Functions

None

Interrupt Functions

None

Serial Communication Functions

None

Transition Functions

Trns: _Trns1

Design Rationale

None

Program Flow Start

N/A

Store Module Inputs to Local copies

None

Reset State Machine and Outputs

Store Local copy of outputs into Module Outputs

None

Program Flow End

N/A

Trns: _Trns2

Design Rationale

None

Program Flow Start

N/A

Store Module Inputs to Local copies

None

Set Power Up State

Store Local copy of outputs into Module Outputs

None

Program Flow End

N/A


Execution Requirements

Execution Rates for sub-modules called by the Scheduler

This table serves as reference for the Scheduler design

Function NameCalling FrequencySystem State(s) in which the function is called
HwPwUp_Per12 msALL
HwPwUp_Trns1On EventOn Entering WARMINIT, On Leaving DISABLE
HwPwUp_Trns2On EventOn Entering DISABLE

Execution Requirements for Serial Communication Functions

Function NameSub-Module called by (Serial Comm Function Name)
None


Memory Map Definition Requirements

Sub Modules (Functions)

This table identifies the software segments for functions identified in this module.

Name of Sub ModuleSoftware Segment
HwPwUp_Per1RTE_START_SEC_AP_HWPWUP_APPL_CODE
HwPwUp_Trns1RTE_START_SEC_AP_HWPWUP_APPL_CODE
HwPwUp_Trns2RTE_START_SEC_AP_HWPWUP_APPL_CODE

Local Functions

This table identifies the software segments for local functions identified in this module.

Name of Sub ModuleSoftware Segment
None


Known Issues / Limitations With Design

  1. None


Revision Control Log

Item #Rev #Change DescriptionDateAuthor Initials
11.0Initial Version (FDD 13B v001)11-Sep-12OT
22.0UTP Updates17-Sep-12OT
33.0Added checkpoints and memmap software segment is updated for static variables29-Sep-12Selva
44.0Anomaly 3912 – fixed writing outputs in all branches24-Oct-12OT
55.0Changed k_PgmSpecMask_Cnt_u16 to D_PGMSPECMASK_CNT_U16 (configurable)08-Nov-12JJW
66.0Updated to FDD V00314-Mar-13SP
Last modified October 12, 2025: Initial commit (0347a62)