AUTOSAR_SWS_IOHardwareAbstraction
FIG-7d0ea1c20fdff506
931 × 1161 px
3 Release(s)
Figure 9: 3.2: synchronous power state setting.
SHA-256 Inhalts-Fingerabdruck:
7d0ea1c20fdff5062a4c0bf245a5edb5d527c2908e274b37f9f4c0989b3754f8
✦
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 (Interaktionsdiagramm).
- Technischer Zweck & Kontext: Spezifikation des synchronen Ablaufs zur Reduzierung des Energieverbrauchs (Power State Setting) auf ECU-Abstraktionsebene gemäß
AUTOSAR_SWS_IOHardwareAbstraction(Classic Platform, Release R4.1.3). - Funktionale Einordnung: Dargestellt ist die Koordination eines synchronen Übergangs in einen Energiesparmodus (
LowPowerModeA). Der BSW Mode Manager (BswM) stößt den Moduswechsel über die Laufzeitumgebung/den Scheduler (Rte/SchM) an; dieIoHwAborchestriert als Aggregator sequenziell und synchron die darunterliegenden MCAL-Peripherietreiber (Adc,Pwm) über das standardisierte AUTOSAR-Peripherie-Power-Management-Interface.
2. Komponenten, Entitäten & Schnittstellen
- Beteiligte BSW-Module (Lifelines mit Stereotyp
«module»):«module» BswM: Master für Systemzustände; evaluiert Mode-Arbitrierungsregeln und leitet Moduswechsel ein bzw. empfängt Modus-Updates.«module» Rte: Abstrakte Vermittlungsschicht (inkl.SchM); dispatcht Mode-Switch-Events an Runnables und leitet BSW-Modusänderungen weiter.«module» IoHwAb: I/O Hardware Abstraction (ECU Abstraction Layer); enthält die zuständige On-Entry-Runnable-Entität zur Koordination der I/O-Peripheriezustände.«module» Adc: MCAL-Treiber (Microcontroller Abstraction Layer) für Analog-Digital-Wandler.«module» Pwm: MCAL-Treiber für Pulsweitenmodulation.
- Schnittstellen & Interaktionspunkte:
- Modus-Umschaltung:
RTE/SchMSwitch()(BswM → Rte/SchM) undRTE/SchMSwitch(LowPowerModeA_Transition_End)(IoHwAb → Rte/SchM). - RTE-Runnable-Trigger:
OnEntryRunnable_LowPowerModeA()(Rte → IoHwAb). - Modulinterne Kontrollroutinen:
IoHwAb_PreparePowerState_LowPowerModeA(),IoHwAbs_EnterPowerStateLowPowerModeA(). - MCAL Power-State-APIs (standardisiertes Pattern
<MSN>_<ApiName>):- Abfrage:
Adc_GetCurrentPowerState(),Pwm_GetCurrentPowerState(). - Vorbereitung:
Adc_PreparePowerState(PwrSts_1),Pwm_PreparePowerState(PwrSrs_3). - Aktivierung:
Adc_SetPowerState(),Pwm_SetPowerState().
- Abfrage:
- Status-Rückmeldung an BswM:
UpdateModePorts()(Rte → BswM).
- Modus-Umschaltung:
3. Dynamisches Verhalten & Sequenzablauf
- Triggering des Moduswechsels:
- Der
BswMruft synchronRTE/SchMSwitch()auf, um den Wechsel in den Low-Power-Modus einzuleiten. - Die
Rteaktiviert das konfigurierte On-Entry-RunnableOnEntryRunnable_LowPowerModeA()derIoHwAb.
- Der
- Phase 1: Vorbereitung der Peripherietreiber (Preparation Phase):
- Die
IoHwAbstartet internIoHwAb_PreparePowerState_LowPowerModeA(). - Zustandsabfrage: Abfrage der Ist-Zustände über
Adc_GetCurrentPowerState()undPwm_GetCurrentPowerState(). - Zustandsvorbereitung: Sequenzieller Aufruf von
Adc_PreparePowerState(PwrSts_1)undPwm_PreparePowerState(PwrSrs_3). - Bedingung/Invariante: Da es sich um das synchrone Setting handelt, blockieren die Aufrufe, bis die Treiber signalisieren, dass die Peripherie hardwareseitig vollständig vorbereitet ist („At the moment the
<MSN>_PreparePowerTransitionAPIs return, the preparation is completed and the peripherals are ready to be set in the new power state“).
- Die
- Phase 2: Schalten des Power-States (Execution Phase):
- Die
IoHwAbstartet internIoHwAbs_EnterPowerStateLowPowerModeA(). - Sequenzieller, synchroner Aufruf von
Adc_SetPowerState()undPwm_SetPowerState(). Die Peripherie-Hardware wechselt unmittelbar in die Ziel-Stromsparmodi.
- Die
- Phase 3: Abschluss & Quittierung:
- Die
IoHwAbmeldet den Abschluss der Transition an dieRte/SchMviaRTE/SchMSwitch(LowPowerModeA_Transition_End). - Die
Rteinformiert denBswMsynchron viaUpdateModePorts(). - Das
IoHwAb-Runnable terminiert und kehrt zurRtezurück.
- Die
4. Normative Relevanz & Entwickler-Hinweise
- MCAL-Treiber-Anforderungen (Synchronizität & Ausführungszeit):
<MSN>_PreparePowerStateund<MSN>_SetPowerStatemüssen synchron ausgeführt werden. Nach API-Rückkehr muss der jeweilige Hardware-Zustand garantiert eingenommen sein.- Da die Aufrufe im Kontext des
IoHwAb-Runnables (Task-Kontext der RTE) blockierend ablaufen, dürfen die MCAL-Treiber keine zeitintensiven Warteschleifen (Busy-Waiting) ausführen, um Task-Budget-Überschreitungen und Watchdog-Triggers (WdgM) zu vermeiden.
- IoHwAb-Mapping & Abstraktion:
- Die
IoHwAbentkoppelt den systemweiten Modusnamen (LowPowerModeA) von den treiberspezifischen Hardware-Power-States (PwrSts_1,PwrSrs_3). Dieses Mapping ist statisch im BSW-Modul-Generator derIoHwAbzu konfigurieren.
- Die
- BswM- und RTE-Konfiguration:
- Für den Zustandsübergang ist in der RTE eine
ModeDeclarationGroupzu definieren, die sowohl den ModusLowPowerModeAals auch die Transitions-Ende-Benachrichtigung (LowPowerModeA_Transition_End) umfasst. - Das On-Entry-Runnable der
IoHwAbmuss auf das entsprechendeRteModeSwitchEventgemappt werden. - Der
BswMmuss entsprechende Regeln (BswMRule) und Action Lists (BswMActionList) besitzen, die das Initiieren des Moduswechsels auslösen und nachUpdateModePorts()Folgeaktionen (z. B. MCU-Sleep viaMcu_SetMode) freigeben.
- Für den Zustandsübergang ist in der RTE eine
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.