AUTOSAR_CP_SWS_ECUStateManager
FIG-69644ce32a81f9db
928 × 1233 px
2 Release(s)
Figure 9.13: Passive wakeup of a host ecu (ECU that maintain a Ethernet switch) (part 1)
SHA-256 Inhalts-Fingerabdruck:
69644ce32a81f9db01b1aa4b32557cfcab62d3689b66064a50709b67f53a12e5
✦
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 (Interaktionsübersicht) mit integrierten Zustandsmarkierungen (
GOSLEEP,SLEEP,HALT), verschachtelten Interaktionsrahmen (loop) und synchronen/asynchronen Aufrufsequenzen. - Technischer Zweck: Spezifikation der Phase 1 des passiven Wakeup-Prozesses einer Host-ECU, die einen integrierten oder externen Ethernet-Switch verwaltet (
AUTOSAR_SWS_ECUStateManager, Kapitel 9, Figure 9.13). - Funktionale Einordnung: Detaillierung des Übergangs vom geordneten Schlafmodus (
SLEEP/HALT) über den asynchronen Hardware-Interrupt bis zur kaskadierten Wakeup-Validierung über die BSW-Schichten (EcuM → EthIf → EthSwt → EthTrcv).
2. Komponenten, Entitäten & Schnittstellen
Beteiligte Instanzen & Stereotypen
«module» EcuM(ECU State Manager, Core/BSW System Service): Steuert den Gesamtlebenszyklus und koordiniert Schlaf-/Aufwachpfade.Integration Code: Projekt- und derivatspezifischer Callout-Code (OEM/Tier-1-Hooks).«module» Os(Operating System): Verwaltet Tasks, ISRs, Interrupt-Sperren und Ressourcen.«module» Mcu(Microcontroller Unit Driver): Steuert CPU-Low-Power-Modi (HALT).«module» Icu(Input Capture Unit Driver / Interrupt Controller): Fängt externe Wakeup-Flanken/Signale ab.«module» EthIf(Ethernet Interface): Abstraktionsschicht für Ethernet-Controller, Switches und Transceiver.«module» Eth(Ethernet Controller Driver): Im Diagramm als BSW-Modul aufgeführt, in dieser Phase ohne direkte Interaktion.«module» EthSwt(Ethernet Switch Driver): Kapselt Multi-Port-Switch-Funktionalitäten.EthTrcv(Ethernet Transceiver Driver): Treiberschicht für PHY-Bausteine (spezifisch hervorgehoben).«Periph... ETH Hardware (PHY): Physikalische Hardware (Ethernet-Transceiver / Switch-PHYs).
Relevante Schnittstellen (APIs & Callbacks)
EcuM_EnableWakeupSources(EcuM_WakeupSourceType): Schärft die Hardware-Wakeup-Quellen.GetResource(uint8): Belegt eine OS-Ressource (Scheduler Lock).DisableAllInterrupts(): Globale Sperrung aller Interrupts vor dem Eintreten in den Standby.Mcu_SetMode(Mcu_ModeType): Versetzt den Core in den ZustandHALT.Wakeup interrupt(): Asynchrone Interrupt-Leitung der Ethernet-Hardware.EcuM_CheckWakeup(EcuM_WakeupSourceType): Benachrichtigt den EcuM aus dem ISR-Kontext.EcuM_CheckWakeupHook(EcuM_WakeupSourceType): Callout zur Wiederherstellung von Grundfunktionen (z. B. Clocks).activate PLL(): Hardware-Taktinitialisierung im Integration Code.EcuM_StartCheckWakeup(): Signalisierung zur Weiterführung der Validierung.EthIf_CheckWakeup(EcuM_WakeupSourceType): Std_ReturnType: Startet die Validierung über das Ethernet-Interface.EthSwt_SwitchCheckWakeup(uint8): Std_ReturnType: Prüft den spezifischen Switch (Switch-Index).EthTrcv_CheckWakeup(uint8): Std_ReturnType: Prüft den spezifischen Transceiver/Port (Trcv-Index).
3. Dynamisches Verhalten & Sequenzablauf
Phase A: Eintritt in den Schlafmodus (GOSLEEP → SLEEP → HALT)
- Wakeup-Konfiguration: EcuM aktiviert die für den Schlafmodus zulässigen Wakeup-Quellen mittels
EcuM_EnableWakeupSources(...). - Scheduler-Blockierung: EcuM ruft
GetResource(...)auf, um den OS-Scheduler zu sperren. Dies stellt sicher, dass nach Rückkehr aus einer ISR der Kategorie 2 kein unmittelbares Task-Rescheduling erfolgt, sondern der Kontrollfluss deterministisch hinter derHALT-Instruktion fortfährt. - Interrupt-Verriegelung: EcuM wechselt in den internen Zustand
SLEEPund ruftDisableAllInterrupts()auf. - Core-Halt: EcuM triggert
Mcu_SetMode(...). Der Mikrocontroller wechselt in den energiearmenHALT-Zustand (CPU-Clock gestoppt).
Phase B: Hardware-Wakeup & ISR-Eintritt
- Asynchroner Trigger: Die externe Ethernet-Hardware/PHY detektiert Netzwerkaktivität und feuert einen
Wakeup interrupt()an den Host (Icu/Interrupt-Ebene). - ISR-Weiterleitung: Die ISR ruft synchron
EcuM_CheckWakeup(WakeupSource)auf.
Phase C: Takt-Reaktivierung & Kaskadierte Prüfung
- Clock-Aktivierung: EcuM ruft den Callout
EcuM_CheckWakeupHook(...)auf. Der Integration Code führtactivate PLL()aus, um den Systemtakt für Peripherie- und Buszugriffe zu stabilisieren. - Prüfstart: Über
EcuM_StartCheckWakeup()und anschließendesEthIf_CheckWakeup(...)wird der Ethernet-Kommunikationsstack adressiert. - Kaskadierte Iteration:
- Outer Loop:
loop over all affected Ethernet switches→EthIfiteriert über alle betroffenen Switches und ruftEthSwt_SwitchCheckWakeup(SwitchIdx)auf. - Inner Loop:
loop over all affected EthSwitchPorts→EthSwtiteriert über alle Ports des jeweiligen Switches und ruftEthTrcv_CheckWakeup(TrcvIdx)auf.
- Outer Loop:
- Asynchrone Entkopplung:
EthTrcv_CheckWakeup(...)führt im ISR-Kontext keine blockierenden Buszugriffe (z. B. SPI/MDIO) durch, sondern puffert die Prüfanforderung intern ("Store to check the Ethernet hardware in the context of the EthTrcv main function"). - Rückkehr & Fortsetzung: Die Aufrufe kehren synchron zurück; die ISR beendet sich via
Return from interrupt(). Der Programmfluss der CPU setzt direkt nach derHALT-Instruktion im EcuM fort ("Execution continues after HALT instruction").
4. Normative Relevanz & Entwickler-Hinweise
- Konfiguration
EthTrcvWakeUpSupport: Für Host-ECUs mit Ethernet-Switch ist zwingend der ModusETHTRCV_WAKEUP_BY_POLLING_ON_DEMANDzu wählen. Da ein Switch mehrere Ports umfasst, wird der Host über einen gemeinsamen Hardware-Interrupt geweckt; die Einzelfeststellung, welcher Switch-Port den Wakeup ausgelöst hat, erfolgt anschließend bedarfsgesteuert via Polling. - Kontext-Entkopplung (ISR-Restriktionen):
EthTrcv_CheckWakeupdarf im Interrupt-Kontext keine synchronen SPI-/MDIO-Registertransfers anstoßen. Die Hardware-Registerabfrage des PHY muss zwingend in den Task-Kontext derEthTrcv_MainFunction()verlagert werden. - OS-Scheduler-Sperre (
GetResource): Vor dem Aufruf vonMcu_SetModemuss eine OS-Ressource (i. d. R.RES_SCHEDULER) angefordert werden. Andernfalls führt eine Cat-2-Wakeup-ISR dazu, dass das OS nach ISR-Ende sofort eine höherpriore Task schedult und der EcuM-Code nach demHALT-Aufruf verwaist zurückbleibt. - PLL-Wiederanlauf: Innerhalb von
EcuM_CheckWakeupHookmuss sichergestellt sein, dass die PLL gelockt und die Takte für Kommunikationsschnittstellen (SPI, MDIO, Ethernet-MAC) vollständig eingeschwungen sind, bevor Folgetreiber auf Peripherieregister zugreifen.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.