AUTOSAR_SWS_ECUStateManager
FIG-447fc567b9c3a8e1
887 × 896 px
1 Release(s)
Figure 15: WakeupRestart Sequence
SHA-256 Inhalts-Fingerabdruck:
447fc567b9c3a8e18438b3c82ed04814c726c817816a52ec1c41d35290b65bd7
✦
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
UML-Sequenzdiagramm zur Spezifikation des dynamischen Verhaltens des ECU State Managers (EcuM) in der AUTOSAR Classic Platform. Das Diagramm modelliert die Phase „WakeupRestart Sequence“, in der das System nach dem Aufwachen aus einem Schlafmodus (Sleep Phase) wieder in den Normalbetrieb überführt wird. Beteiligt sind Basessoftware-Module der Systemdienste, des Betriebssystems und des Treiberschicht-Managements.
2. Komponenten, Entitäten & Schnittstellen
Das Diagramm definiert fünf Interaktionspartner (Lebenslinien):
EcuM(«module»): ECU State Manager als zentral koordinierende Steuerungsinstanz.Integration Code: Projektspezifischer Integrationscode für anpassbare Callout-/Restart-Abläufe.Os(«module»): AUTOSAR Operating System.Mcu(«module»): Microcontroller Driver.:BswM(«module»): Basic Software Mode Manager.
Beteiligte Schnittstellen und Funktionsaufrufe:
DisableAllInterrupts(): Aufruf an dasOszur Unterdrückung aller Interrupts.Mcu_SetMode(Mcu_ModeType): Aufruf an denMcu-Treiber zum Setzen des normalen Betriebsmodus des Controllers.EnableAllInterrupts(): Aufruf an dasOszur Reaktivierung der Interruptverarbeitung.EcuM_GetPendingWakeupEvents(EcuM_WakeupSourceType): Eigener synchroner Methodenaufruf (Selbstaufruf) vonEcuM.EcuM_DisableWakeupSources(EcuM_WakeupSourceType): Aufruf an denIntegration Codezum Deaktivieren der Weckquellen.BswM_EcuM_CurrentWakeup(sources, ECUM_WKSTATUS_DISABLED): Statusmeldung an den:BswM.EcuM_AL_DriverRestart(const EcuM_ConfigType*): Aufruf an denIntegration Codezur Neuinitialisierung von Treibern mit Zeiger auf die Konfigurationsstruktur.ReleaseResource(RES_AUTOSAR_ECUM_<core#>): Aufruf an dasOszur Freigabe der kernspezifischen EcuM-Ressource.
3. Dynamisches Verhalten & Sequenzablauf
Die Sequenz läuft streng synchron von oben nach unten ab:
EcuMruftDisableAllInterrupts()aufOsauf; das OS kehrt synchron zurück.EcuMruftMcu_SetMode(Mcu_ModeType)aufMcuauf, um den Mikrocontroller in den Arbeitsmodus zurückzusetzen; Bestätigung erfolgt synchron.EcuMruftEnableAllInterrupts()aufOsauf; Bestätigung erfolgt synchron.EcuMführt einen synchronen SelbstaufrufEcuM_GetPendingWakeupEvents(EcuM_WakeupSourceType)aus, um die ausstehenden Weckereignisse zu ermitteln.EcuMruftEcuM_DisableWakeupSources(EcuM_WakeupSourceType)aufIntegration Codeauf; Rückkehr erfolgt synchron.EcuMsignalisiert den Weckstatus viaBswM_EcuM_CurrentWakeup(sources, ECUM_WKSTATUS_DISABLED)an:BswM; synchrone Rückkehr.EcuMstößt überEcuM_AL_DriverRestart(const EcuM_ConfigType*)amIntegration Codeden Neustart der Treiber an; synchrone Rückkehr.EcuMgibt die reservierte Betriebssystemressource mittelsReleaseResource(RES_AUTOSAR_ECUM_<core#>)anOsfrei; synchrone Rückkehr.
4. Normative Relevanz & Entwickler-Hinweise
Die Sequenz definiert eine verbindliche Reihenfolge für das Erwachen aus dem Schlafzustand:
- Die Interrupt-Sperre (
DisableAllInterrupts) schützt den Moduswechsel des MCU-Treibers (Mcu_SetMode), bevor Interrupts wieder freigegeben werden. - Die Interaktion mit dem
Integration Codekapselt hardwarenahe oder plattformspezifische Anpassungen (EcuM_DisableWakeupSources,EcuM_AL_DriverRestart). - Die Ressource
RES_AUTOSAR_ECUM_<core#>stellt sicher, dass der kritische Zustandsübergang im Multicore-Kontext synchronisiert bzw. exklusiv abgearbeitet wird, und wird erst am Ende der WakeupRestart-Sequenz freigegeben.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.