DEENESPTFRRUARHIKOZHNL
AUTOSAR_SWS_ECUStateManager FIG-f0b87705591f8933 903 × 942 px 1 Release(s)

Figure 17: The WakeupValidation Sequence

SHA-256 Inhalts-Fingerabdruck: f0b87705591f8933c97026616122495f1fdd08c936d3fae6e2541381607b984e
✦ KI-generierte Bildanalyse & technische Beschreibung Modell: gemini-3.8-flash (via agy) · Rezept figure-series@1 · erstellt am 2026-10-08

1. Diagrammtyp & Architektur-Kontext

  • Klassifikation: UML-Sequenzdiagramm mit kombinierten Fragmenten (loop, opt).
  • Funktionaler Kontext: Spezifikation des Wakeup-Validierungsprotokolls im Basic Software (BSW) Mode Management gemäß AUTOSAR_SWS_ECUStateManager (R4.0.3).
  • Zweck: Absicherung gegen transiente Störimpulse (z. B. Spikes auf Busleitungen, CAN-Transceiver-Glitches). Validierungsbedürftige Wakeup-Ereignisse verbleiben im Zustand PENDING, bis der Treiber/die Quelle das Signal als valide bestätigt oder der konfigurierte Validierungs-Timer (EcuMValidationTimeout) abläuft.

2. Komponenten, Entitäten & Schnittstellen

Beteiligte BSW-Module (Lifelines):

  • «module» EcuM (ECU State Manager): Verwaltet BSW-Zustände, Sleep-/Wakeup-Zyklen und Wakeup-Quellen.
  • Integration Code: Integrationscode (Callouts/Callbacks) als Vermittlungsinstanz zwischen EcuM und bus-/treiberspezifischen Modulen.
  • «module» Wakeup Source: Physische oder logische Aufweckquelle (z. B. CanIf, LinIf, FrIf, Gpt, Icu, WdgM).
  • «module» ComM (Communication Manager): Kommunikationsmanager; wird bei validiertem Bus-Wakeup zwecks Kanalaktivierung informiert.
  • «module» BswM (BSW Mode Manager): Regelsystem für BSW-Modusübergänge; verarbeitet Wakeup-Statusmeldungen (VALIDATED, EXPIRED).
  • «module» CanSM (CAN State Manager): Modemanager für CAN-Netzwerke; wird über den Integrationscode beim Starten und Stoppen von CAN-Wakeup-Quellen angesteuert.

Datentypen & Schnittstellen:

  • Datentypen: EcuM_WakeupSourceType, NetworkHandleType, Std_ReturnType, EcuM_WakeupStatusType (ECUM_WKSTATUS_VALIDATED, ECUM_WKSTATUS_EXPIRED).
  • APIs & Callouts:
    • Callouts (EcuM → Integration Code): EcuM_StartWakeupSources(EcuM_WakeupSourceType), EcuM_CheckValidation(EcuM_WakeupSourceType), EcuM_StopWakeupSources(EcuM_WakeupSourceType).
    • Schnittstelle Integration Code → CanSM: CanSM_StartWakeupSource(Std_ReturnType, NetworkHandleType), CanSM_StopWakeupSource(Std_ReturnType, NetworkHandleType).
    • Treiber-Prüfaufruf: <Module>_CheckValidation().
    • Notifikations- und Callback-APIs: EcuM_ValidateWakeupEvent(EcuM_WakeupSourceType), ComM_EcuM_WakeUpIndication(NetworkHandleType), BswM_EcuM_CurrentWakeup(Source, ECUM_WKSTATUS_VALIDATED), BswM_EcuM_CurrentWakeup(Source, ECUM_WKSTATUS_EXPIRED).

3. Dynamisches Verhalten & Sequenzablauf

  1. Initialisierung & Quellaktivierung:
    • EcuM ermittelt über den internen Aufruf EcuM_GetPendingWakeupEvents(EcuM_WakeupSourceType) die anstehenden unvalidierten Wakeup-Quellen.
    • Synchroner Callout EcuM_StartWakeupSources(...) an den Integration Code.
    • Der Integration Code ruft synchron CanSM_StartWakeupSource(Std_ReturnType, NetworkHandleType) am CanSM auf, um den betroffenen CAN-Kanal für die Validierung vorzubereiten.
    • Lokaler Start des Überwachungstimers im EcuM: Start validation timeout().
  2. Validierungsschleife (loop WHILE no wakeup event has been validated AND timeout not expired):
    • EcuM ruft zyklisch den Callout EcuM_CheckValidation(EcuM_WakeupSourceType) im Integration Code auf.
    • Der Integration Code leitet die Prüfung an den zuständigen Treiber weiter: <Module>_CheckValidation().
    • Erfolgsfall (opt Wakeup validated):
      • Die Quelle erkennt ein gültiges Aufwecksignal und meldet dies asynchron via Callback EcuM_ValidateWakeupEvent(EcuM_WakeupSourceType) an den EcuM.
      • EcuM meldet den Netzwerk-Wakeup an den Kommunikationsmanager: ComM_EcuM_WakeUpIndication(NetworkHandleType).
      • EcuM aktualisiert den Status im Modemanager: BswM_EcuM_CurrentWakeup(Source, ECUM_WKSTATUS_VALIDATED).
      • Die Schleifenbedingung ist erfüllt; die Validierungsschleife terminiert.
  3. Fehlschlag / Timeout (opt No wakeup event was validated):
    • Läuft der Validierungstimer ohne Bestätigung ab, signalisiert EcuM das Timeout an den Modemanager: BswM_EcuM_CurrentWakeup(Source, ECUM_WKSTATUS_EXPIRED).
    • EcuM ruft den Callout EcuM_StopWakeupSources(EcuM_WakeupSourceType) im Integration Code auf.
    • Der Integration Code ruft synchron CanSM_StopWakeupSource(Std_ReturnType, NetworkHandleType) am CanSM auf, um die Validierungsphase für den CAN-Kanal zu beenden.

4. Normative Relevanz & Entwickler-Hinweise

  • Integrationsanforderung: Der BSW-Integrator muss im Integration Code bei CAN-Wakeup-Quellen die Weiterleitung an CanSM_StartWakeupSource und CanSM_StopWakeupSource implementieren.
  • Fehlerbehandlung: Läuft der Timer ab (ECUM_WKSTATUS_EXPIRED), stellt CanSM_StopWakeupSource sicher, dass der CAN-Controller/Transceiver wieder in den stromsparenden Sleep-/Standby-Modus überführt wird.
  • Synchronität: Alle Callouts zwischen EcuM, Integration Code und CanSM erfolgen synchron im Kontext der EcuM-Zustandsmaschine; blockierende Operationen müssen vermieden werden.

Versionsvergleich KI-generiert · gemini-3.8-flash (via agy)

R4.0.3 → R4.1.3 normative Änderung Vorgänger: FIG-70879b6d276c3179
  • Neue Lifeline «module» CanSM hinzugefügt.
  • Quellaktivierung: Nach EcuM_StartWakeupSources(EcuM_WakeupSourceType) ruft der Integration Code synchron CanSM_StartWakeupSource(Std_ReturnType, NetworkHandleType) am CanSM auf.
  • Timeout-Pfad (opt No wakeup event was validated): Nach EcuM_StopWakeupSources(EcuM_WakeupSourceType) ruft der Integration Code synchron CanSM_StopWakeupSource(Std_ReturnType, NetworkHandleType) am CanSM auf.
R4.1.3 → R4.2.2 keine inhaltliche Änderung Nachfolger: FIG-200814c4c926ef99

Keine inhaltlichen Änderungen erkennbar.

Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Erkannte Spezifikationsbelege & Anforderungen auf dieser Seite

Aus dem Dokument extrahierter Text & Kontext

Beschriftungen im Schaubild:

«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 | EcuM_GetPendingWakeupEvents(EcuM_WakeupSourceType) | EcuM_StartWakeupSources(EcuM_WakeupSourceType) | CanSM_StartWakeupSource(Std_ReturnType, NetworkHandleType) | Start validation timeout() | EcuM_CheckValidation(EcuM_WakeupSourceType) | <Module>_CheckValidation() | EcuM_ValidateWakeupEvent(EcuM_WakeupSourceType) | ComM_EcuM_WakeUpIndication(NetworkHandleType) | BswM_EcuM_CurrentWakeup(Source, ECUM_WKSTATUS_VALIDATED) | BswM_EcuM_CurrentWakeup(Source, ECUM_WKSTATUS_EXPIRED) | EcuM_StopWakeupSources(EcuM_WakeupSourceType) | CanSM_StopWakeupSource(Std_ReturnType, NetworkHandleType)

Vorkommen in AUTOSAR-Releases (1)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R4.1.3 AUTOSAR_SWS_ECUStateManager S. 66 17 Figure 17: The WakeupValidation Sequence