DEENESPTFRRUARHIKOZHNL
AUTOSAR_SWS_ECUStateManager FIG-70879b6d276c3179 877 × 855 px 1 Release(s)

Figure 17: The WakeupValidation Sequence

SHA-256 Inhalts-Fingerabdruck: 70879b6d276c3179298b1d2c3b263fd4889db36d079d2f95c6978aa8e08c7872
✦ KI-generierte Bildanalyse & technische Beschreibung Modell: gemini-3.8-flash (via agy) · Rezept figure-description@2 · erstellt am 2026-10-07

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): Zentrale Instanz zur Verwaltung von BSW-Zuständen, Sleep-/Wakeup-Zyklen und Wakeup-Quellen-Zustandsautomaten.
  • Integration Code: OEM-/Plattform-spezifischer BSW-Integrationscode (Callouts/Callbacks), welcher die Abstraktionsbrücke zwischen generischem EcuM und hardware-/busspezifischen Treibern schlägt.
  • «module» Wakeup Source: Physische oder logische Aufweckquelle (z. B. CanIf, LinIf, FrIf, Gpt, Icu, WdgM).
  • «module» ComM (Communication Manager): Verwaltet Kommunikationsmodi; wird bei validiertem Bus-Wakeup zwecks Kanal-Aufweckung benachrichtigt.
  • «module» BswM (BSW Mode Manager): Regelsystem für Modus-Übergänge; steuert die Gesamtreaktion der BSW auf Statusänderungen von Wakeup-Events (VALIDATED, EXPIRED).
Datentypen & Schnittstellen
  • EcuM_WakeupSourceType: Bitmaske/Identifier der jeweiligen Wakeup-Quelle.
  • NetworkHandleType: Eindeutiger Identifikator des betroffenen Kommunikationskanals.
  • EcuM_WakeupStatusType: Statusexemplare ECUM_WKSTATUS_VALIDATED und ECUM_WKSTATUS_EXPIRED.
  • APIs & Callouts:
    • Callouts (EcuM → Integration Code): EcuM_StartWakeupSources(), EcuM_CheckValidation(), EcuM_StopWakeupSources().
    • Treiber-Schnittstelle: <Module>_CheckValidation().
    • Notification-APIs: EcuM_ValidateWakeupEvent(), ComM_EcuM_WakeUpIndication(), BswM_EcuM_CurrentWakeup().

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, um Peripherie, Clocks oder Transceiver für die Prüfung vorzubereiten.
    • Lokaler Start des Überwachungstimers: Start validation timeout().
  2. Validierungsschleife (loop WHILE no wakeup event has been validated AND timeout not expired):
    • EcuM triggert zyklisch den Callout EcuM_CheckValidation(...).
    • Der Integration Code leitet dies an die betroffene Quell-Treiberinstanz weiter (<Module>_CheckValidation()).
    • Erfolgsfall (opt Wakeup validated):
      • Die Quelle erkennt ein gültiges Muster/Frame und signalisiert 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 Zustand im Modemanager: BswM_EcuM_CurrentWakeup(Source, ECUM_WKSTATUS_VALIDATED).
      • Das loop-Kriterium ist erfüllt; die Schleife terminiert.
  3. Fehlschlag / Timeout (opt No wakeup event was validated):
    • Läuft der Timer ab, ohne dass ein EcuM_ValidateWakeupEvent() erfolgt ist, greift dieser Zweig:
      • EcuM informiert den BSW Mode Manager über das Ablaufen: BswM_EcuM_CurrentWakeup(Source, ECUM_WKSTATUS_EXPIRED).
      • EcuM deaktiviert die Quelle über den Callout EcuM_StopWakeupSources(...) an den Integration Code (ECU kehrt typischerweise in den Sleep-Zustand zurück).

4. Normative Relevanz & Entwickler-Hinweise

  • Konfigurationsverträge (ECUC):
    • Jede Wakeup-Quelle mit Validierungsbedarf erfordert den Parameter EcuMValidationTimeout > 0. Ist kein Timeout projektiert, gilt das Event unmittelbar nach dem Auslösen als validiert.
    • Das Mapping zwischen EcuM_WakeupSourceType und ComMChannelId bzw. NetworkHandleType muss in der EcuM-Konfiguration hinterlegt sein, damit ComM_EcuM_WakeUpIndication() die korrekte Netzwerkinstanz adressiert.
  • Implementierungspflichten für Integratoren:
    • EcuM_StartWakeupSources() und EcuM_StopWakeupSources() müssen reentrant bzw. idempotent ausgelegt sein, falls mehrere Wakeup-Quellen gleichzeitig aktiv sind.
    • <Module>_CheckValidation() wird synchron im Kontext der EcuM-Hauptfunktion aufgerufen. Hier dürfen keine blockierenden Hardware-Pollen-Schleifen laufen; die eigentliche Protokollprüfung erfolgt asynchron im Treiber/Interface.
  • BswM-Regelwerk:
    • Der BswM muss Regeln für ECUM_WKSTATUS_VALIDATED (z. B. Übergang in RUN-State, Starten aller BSW-Kommunikationsstacks) und ECUM_WKSTATUS_EXPIRED (z. B. Re-Entry in GO_OFF_ONE / SLEEP) bereitstellen.

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

R4.0.3 → R4.1.3 normative Änderung Nachfolger: FIG-f0b87705591f8933
  • 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.

Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Aus dem Dokument extrahierter Text & Kontext

Beschriftungen im Schaubild:

«module» | EcuM | «module» | ComM | «module» | Wakeup Source | Integration Code «module» | BswM | 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) | 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)

Vorkommen in AUTOSAR-Releases (1)

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