DEENESPTFRRUARHIKOZHNL
CLASSIC Modul: ecum Rolle: diffundiert Konfidenz: 85%

SNIP_CLASSIC_ECUM_SECTION_7_6_4_Activities_in_the_WakeupValidation_Sequence

Quelle: SWS_ECUStateManager.pdf (Seite 64) • Ziel-Anforderung: SWS_Std_00005

Wortlaut

7.6.4 Activities in the WakeupValidation Sequence Since wakeup events can be generated unintentionally (e.g. EVM spike on CAN line), it is necessary to validate wakeups before the ECU resumes full operation. The validation mechanism is the same for all wakeup sources. When a wakeup event occurs, the ECU is woken up from its SLEEP state and execution resumes within the MCU_SetMode service of the MCU driver 7 . When the WakeupRestart Sequence has finished, the ECU Manager module will have a list of pending wakeup events to be validated (see [SWS_EcuM_02539] ). The ECU Manager module then releases the BSW Scheduler and all BSW MainFunctions; most notably in this case, the EcuM Main Function can resume processing. Implementation hint: Since SchM will be running at the end of the StartPostOS and WakeupRestart sequences, there is the possibility that the EcuM_MainFunction will initiate validation for a source whose stack has not yet been initialized. The integrator should configure appropriate modes which indicate that the stack is not available and disable the EcuM_MainFunction accordingly (see [2] ). 7Actually, the first code to be executed may be an ISR, e.g. a wakeup ISR. However, this is specific to hardware and/or driver implementation. «module» EcuM «module» ComM «module» Wakeup Source Integration Code «module» BswM «module» CanSM loop WHILE no wakeup event has been validated AND timeout not expired opt Wakeup validated opt No wakeup event was validated <Module>_CheckValidation() BswM_EcuM_CurrentWakeup(Source, ECUM_WKSTATUS_EXPIRED) EcuM_ValidateWakeupEvent(EcuM_WakeupSourceType) EcuM_StopWakeupSources(EcuM_WakeupSourceType) ComM_EcuM_PNCWakeUpIndication(PNCHandleType) CanSM_StopWakeupSource(Std_ReturnType, NetworkHandleType) EcuM_GetPendingWakeupEvents(EcuM_WakeupSourceType) ComM_EcuM_WakeUpIndication(NetworkHandleType) Start validation timeout() EcuM_StartWakeupSources(EcuM_WakeupSourceType) EcuM_CheckValidation(EcuM_WakeupSourceType) BswM_EcuM_CurrentWakeup(Source, ECUM_WKSTATUS_VALIDATED) CanSM_StartWakeupSource(Std_ReturnType, NetworkHandleType) Figure 7.16: The WakeupValidation Sequence [SWS_EcuM_02566] Upstream requirements: SRS_ModeMgm_00003 ⌈The ECU Manager module shall only invoke wakeup validation on those wakeup sources where it is required by configuration. If the validation protocol is not configured (see EcuMValidationTimeout ), then a call to EcuM_SetWakeupEvent shall also imply a call to EcuM_ValidateWakeupEvent .⌋ [SWS_EcuM_02565] Upstream requirements: SRS_ModeMgm_00003 ⌈The ECU Manager module shall start a validation timeout for each pending wakeup event that should be validated. The timeout shall be event-specific (see EcuMValidationTimeout ).⌋ Implementation hint for [SWS_EcuM_02565]: It is sufficient for an implementation to provide only one timer, which is prolonged to the largest timeout when new wakeup events are reported. [SWS_EcuM_04081] Upstream requirements: SRS_ModeMgm_00003 ⌈When the validation timeout expires for a pending wakeup event, the EcuM_MainFunction sets (OR-operation) set the bit in the internal expired wakeup events variable.⌋ See also section 7.6.3 Internal Representation of Wakeup States. [SWS_EcuM_04082] Upstream requirements: SRS_ModeMgm_00003 ⌈When the validation timeout expires for a pending wakeup event, the EcuM_MainFunction shall invoke BswM_EcuM_CurrentWakeup with an EcuM_WakeupSourceType bitmask parameter with the bit corresponding to the wakeup event set and state value parameter set to ECUM_WKSTATUS_EXPIRED.⌋ The BswM will be configured to monitor the wakeup validation through mode switch requests coming from the EcuM as the wakeup sources are validated or the timers expire. If the last validation timeout (see [SWS_EcuM_02565] ) expires without validation then the BswM shall consider wakeup validation to have failed. If at least one of the pending events is validated then the entire validation shall have passed. Pending events are validated with a call of EcuM_ValidateWakeupEvent (see [SWS_EcuM_02829] ). This call must be placed in the driver or the consuming stack on top of the driver (e.g. the handler). The best place to put this depends on hardware and software design. See also section 7.6.4.4 Requirements for Drivers with Wakeup Sources .

Versionen & Provenienz · Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Begründung & Zuweisungs-Evidenz

Figure 7.16 references Std_ReturnType in calls like CanSM_StartWakeupSource.

Dokumenten-Herkunft & Rückverfolgbarkeit

Spezifikations-Dokument SWS_ECUStateManager.pdf
Dokumentseite Seite 64
Ziel-Modul ecum (classic)
Ziel-Anforderung SWS_Std_00005
Semantische Rolle diffundiert
Automatisierungs-Konfidenz 0.85