DEENESPTFRRUARHIKOZHNL
CLASSIC Modul: frif Rolle: heuristic Konfidenz: 85%

SNIP_CLASSIC_FRIF_SECTION_9_2_5_FlexRay_Wakeup_Sequences

Quelle: SWS_ECUStateManager.pdf (Seite 186) • Ziel-Anforderung: SWS_FrTrcv_00311

Wortlaut

9.2.5 FlexRay Wakeup Sequences For FlexRay a wake up is only possible via the FlexRay transceivers. There are two transceivers for the two different channels in a FlexRay cluster. They are treated as belonging to one network and thus, there should be only one wake up source identifier configured for both channels. Figure 9.11 shows the FlexRay transceiver wakeup via interrupt. The interrupt is usually handled by the ICU Driver as described in Chapter 9.2.2. «Peripheral» FlexRay Transceiver Hardware «module» Os «module» EcuM Integration Code «module» Mcu «module» Icu «module» FrIf «module» Fr «module» FrTrcv «Peripheral» FlexRay Controller HALT GOSLEEP SLEEP WAKEUP I opt Wakeup detected                                                                                      !      "                            #    "               $                            %                             &        %                  # "  '  (  EcuM_SetWakeupEvent() GetResource(RES_AUTOSAR_ECUM_<core#>) Mcu_SetMode(Mcu_ModeType) DisableAllInterrupts() EcuM_SetWakeupEvent(EcuM_WakeupSourceType) Icu_EnableWakeup(Icu_ChannelType) activate PLL() FrIf_CheckWakeupByTransceiver(uint8, Fr_ChannelType) FrTrcv_CheckWakeupByTransceiver(uint8) ReleaseResource(RES_AUTOSAR_ECUM_<core#>) EcuM_CheckWakeupHook(EcuM_WakeupSourceType) EcuM_EnableWakeupSources(EcuM_WakeupSourceType) EcuM_DisableWakeupSources(EcuM_WakeupSourceType) Icu_DisableWakeup(Icu_ChannelType) DisableAllInterrupts() EnableAllInterrupts() Mcu_SetMode(Mcu_ModeType) EnableAllInterrupts() Mcu_SetMode() EcuM_CheckWakup(EcuM_WakeupSourceType) Return from interrupt() Wakeup interrupt() Figure 9.11: FlexRay transceiver wake up by interrupt Note that in EcuM_CheckWakeupHook there need to be two separate calls to FrIf_ WakeupByTransceiver, one for each FlexRay channel. «Peripheral» FlexRay Transceiver Hardware «Periphe... FlexRay Controller «module» FrTrcv «module» Fr «module» FrIf «module» Icu «module» Mcu Integration Code «module» EcuM «module» Os GOSLEEP SLEEP WAKEUP I loop WHILE no pending/validated events                                      opt Wakeup detected                                                                      !                 "                                #       !           !  $  "  %                    $  "  %      & EcuM_CheckWakeupHook(EcuM_WakeupSourceType) EcuM_SleepActivity() DisableAllInterrupts() Mcu_SetMode(Mcu_ModeType) ReleaseResource(RES_AUTOSAR_ECUM_<core#>) GetResource(RES_AUTOSAR_ECUM_<core#>) Mcu_SetMode(Mcu_ModeType) EcuM_EnableWakeupSources(EcuM_WakeupSourceType) EnableAllInterrupts() EcuM_DisableWakeupSources(EcuM_WakeupSourceType) DisableAllInterrupts() EcuM_SetWakeupEvent(EcuM_WakeupSourceType) FrTrcv_CheckWakeupByTransceiver(uint8) FrIf_CheckWakeupByTransceiver(uint8, Fr_ChannelType) EnableAllInterrupts() Figure 9.12: FlexRay transceiver wake up by polling

Versionen & Provenienz · Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Begründung & Zuweisungs-Evidenz

FrTrcv_CheckWakeupByTransceiver calling EcuM_SetWakeupEvent

Dokumenten-Herkunft & Rückverfolgbarkeit

Spezifikations-Dokument SWS_ECUStateManager.pdf
Dokumentseite Seite 186
Ziel-Modul frif (classic)
Ziel-Anforderung SWS_FrTrcv_00311
Semantische Rolle heuristic
Automatisierungs-Konfidenz 0.85