DEENESPTFRRUARHIKOZHNL
CLASSIC Modul: linif Rolle: heuristic Konfidenz: 70%

SNIP_CLASSIC_LINIF_SECTION_9_2_4_LIN_Wakeup_Sequences

Quelle: SWS_ECUStateManager.pdf (Seite 182) • Ziel-Anforderung: SWS_LinTrcv_00066

Wortlaut

9.2.4 LIN Wakeup Sequences Figure 9.8 shows the LIN transceiver wakeup via interrupt. The interrupt is usually handled by the ICU Driver as described in Chapter 9.2.2 . «Peripher... Lin Transceiver Hardware «module» LinIf «module» Lin «module» Icu «module» Mcu Integration Code «module» EcuM «module» Os «module» LinTrcv HALT                               GOSLEEP                                      ! " # "                ! #           $  %      %           SLEEP                   %  &                             '                         %       (         $                 ) #  *  )                               $      WAKEUP I Mcu_SetMode(Mcu_ModeType) GetResource(uint8) EnableAllInterrupts() DisableAllInterrupts() Mcu_SetMode(Mcu_ModeType) Mcu_SetMode() DisableAllInterrupts() Icu_EnableWakeup(Icu_ChannelType) Return from interrupt() EcuM_EnableWakeupSources(EcuM_WakeupSourceType) EcuM_SetWakeupEvent(EcuM_WakeupSourceType) LinTrcv_CheckWakeup(uint8) EcuM_CheckWakeupHook(EcuM_WakeupSourceType) LinIf_CheckWakeup(EcuM_WakeupSourceType) Icu_DisableWakeup(Icu_ChannelType) Activate PLL() ReleaseResource(uint8) EcuM_DisableWakeupSources(EcuM_WakeupSourceType) EnableAllInterrupts() EcuM_CheckWakup(EcuM_WakeupSourceType) Wakeup interrupt() Figure 9.8: LIN transceiver wake up by interrupt As shown in Figure 9.9 , the LIN controller wake up by interrupt works similar to the CAN controller wake up by interrupt. In both cases the Driver module encapsulates the interrupt handler. «module» LinIf «module» Lin «module» Icu «module» Mcu Integration Code «module» EcuM «module» Os «module» LinTrcv «Peripheral» LinController/UART                           HALT                                                                        !    !               !              "           # #  !                      #      $                   %     GOSLEEP                !    &                     #               ' (  )        !      *                                +  SLEEP " ,                 ' (  )          WAKEUP I LinIf_CheckWakeup(EcuM_WakeupSourceType) EcuM_CheckWakeupHook(EcuM_WakeupSourceType) DisableAllInterrupts() Wakeup interrupt() Mcu_SetMode(Mcu_ModeType) ReleaseResource(RES_AUTOSAR_ECUM_<core#>) GetResource(RES_AUTOSAR_ECUM_<core#>) EcuM_EnableWakeupSources(EcuM_WakeupSourceType) EcuM_DisableWakeupSources(EcuM_WakeupSourceType) EnableAllInterrupts() Mcu_SetMode(Mcu_ModeType) DisableAllInterrupts() EnableAllInterrupts() Return from interrupt() Mcu_SetMode() Lin_CheckWakeup(uint8) EcuM_CheckWakup(EcuM_WakeupSourceType) Activate PLL() EcuM_SetWakeupEvent(EcuM_WakeupSourceType) Figure 9.9: LIN controller wake up by interrupt Wake up by polling is possible for LIN transceiver and controller. The ECU State Manager module will regularly check the LIN Interface module, which in turn asks either the LIN Driver module or the LIN Transceiver Driver module, as shown in Figure 9.10 . «Peripheral» Lin Transceiver Hardware «module» LinIf «module» Lin «module» Icu «module» Mcu Integration Code «module» EcuM «module» Os «module» LinTrcv GOSLEEP SLEEP WAKEUP I loop WHILE no pending/validated events                                                                                                      alt WakeupSource parameter of LinIf_CheckWakeup() !  "                    #      $                          % &     #              #       #       #     '            (           Lin_CheckWakeup(uint8) Mcu_SetMode(Mcu_ModeType) EcuM_CheckWakeupHook(EcuM_WakeupSourceType) GetResource(uint8) EcuM_EnableWakeupSources(EcuM_WakeupSourceType) EcuM_DisableWakeupSources(EcuM_WakeupSourceType) ReleaseResource(uint8) Mcu_SetMode(Mcu_ModeType) * EcuM_SetWakeupEvent(EcuM_WakeupSourceType) EcuM_SetWakeupEvent(EcuM_WakeupSourceType) LinIf_CheckWakeup(EcuM_WakeupSourceType) LinTrcv_CheckWakeup(uint8) Figure 9.10: LIN controller or transceiver wake up by polling Note that LIN does not require wakeup validation.

Versionen & Provenienz · Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Begründung & Zuweisungs-Evidenz

LIN transceiver wakeup notification modes

Dokumenten-Herkunft & Rückverfolgbarkeit

Spezifikations-Dokument SWS_ECUStateManager.pdf
Dokumentseite Seite 182
Ziel-Modul linif (classic)
Ziel-Anforderung SWS_LinTrcv_00066
Semantische Rolle heuristic
Automatisierungs-Konfidenz 0.70