DEENESPTFRRUARHIKOZHNL
AUTOSAR_CP_SWS_IOHardwareAbstraction FIG-d3da7fb23b877ec3 931 × 1161 px 4 Release(s)

Figure 9: 3.2: synchronous power state setting.

SHA-256 Inhalts-Fingerabdruck: d3da7fb23b877ec3484f044494bbe9b94c56477b4bedafcbcba8dd3402e3e5e5
✦ 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; die IoHwAb orchestriert 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) und RTE/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().
    • Status-Rückmeldung an BswM: UpdateModePorts() (Rte → BswM).

3. Dynamisches Verhalten & Sequenzablauf

  1. Triggering des Moduswechsels:
    • Der BswM ruft synchron RTE/SchMSwitch() auf, um den Wechsel in den Low-Power-Modus einzuleiten.
    • Die Rte aktiviert das konfigurierte On-Entry-Runnable OnEntryRunnable_LowPowerModeA() der IoHwAb.
  2. Phase 1: Vorbereitung der Peripherietreiber (Preparation Phase):
    • Die IoHwAb startet intern IoHwAb_PreparePowerState_LowPowerModeA().
    • Zustandsabfrage: Abfrage der Ist-Zustände über Adc_GetCurrentPowerState() und Pwm_GetCurrentPowerState().
    • Zustandsvorbereitung: Sequenzieller Aufruf von Adc_PreparePowerState(PwrSts_1) und Pwm_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>_PreparePowerTransition APIs return, the preparation is completed and the peripherals are ready to be set in the new power state“).
  3. Phase 2: Schalten des Power-States (Execution Phase):
    • Die IoHwAb startet intern IoHwAbs_EnterPowerStateLowPowerModeA().
    • Sequenzieller, synchroner Aufruf von Adc_SetPowerState() und Pwm_SetPowerState(). Die Peripherie-Hardware wechselt unmittelbar in die Ziel-Stromsparmodi.
  4. Phase 3: Abschluss & Quittierung:
    • Die IoHwAb meldet den Abschluss der Transition an die Rte/SchM via RTE/SchMSwitch(LowPowerModeA_Transition_End).
    • Die Rte informiert den BswM synchron via UpdateModePorts().
    • Das IoHwAb-Runnable terminiert und kehrt zur Rte zurück.

4. Normative Relevanz & Entwickler-Hinweise

  • MCAL-Treiber-Anforderungen (Synchronizität & Ausführungszeit):
    • <MSN>_PreparePowerState und <MSN>_SetPowerState mü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 IoHwAb entkoppelt den systemweiten Modusnamen (LowPowerModeA) von den treiberspezifischen Hardware-Power-States (PwrSts_1, PwrSrs_3). Dieses Mapping ist statisch im BSW-Modul-Generator der IoHwAb zu konfigurieren.
  • BswM- und RTE-Konfiguration:
    • Für den Zustandsübergang ist in der RTE eine ModeDeclarationGroup zu definieren, die sowohl den Modus LowPowerModeA als auch die Transitions-Ende-Benachrichtigung (LowPowerModeA_Transition_End) umfasst.
    • Das On-Entry-Runnable der IoHwAb muss auf das entsprechende RteModeSwitchEvent gemappt werden.
    • Der BswM muss entsprechende Regeln (BswMRule) und Action Lists (BswMActionList) besitzen, die das Initiieren des Moduswechsels auslösen und nach UpdateModePorts() Folgeaktionen (z. B. MCU-Sleep via Mcu_SetMode) freigeben.

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

R19-11 → R20-11 keine inhaltliche Änderung Vorgänger: FIG-7d0ea1c20fdff506

Keine inhaltlichen Änderungen erkennbar.

Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Aus dem Dokument extrahierter Text & Kontext

Beschriftungen im Schaubild:

«module» | BswM | «module» | Rte | «module» | IoHwAb | «module» | Adc | «module» | Pwm | At the moment the <MSN>_PreparePowerTransition APIs return, the preparation is completed and the peripherals are ready to be set in the new power state. | RTE/SchMSwitch() | OnEntryRunnable_LowPowerModeA() | IoHwAb_PreparePowerState_LowPowerModeA() | Adc_GetCurrentPowerState() | Pwm_GetCurrentPowerState() | Adc_PreparePowerState(PwrSts_1) | Pwm_PreparePowerState(PwrSrs_3) | IoHwAbs_EnterPowerStateLowPowerModeA() | Adc_SetPowerState() | Pwm_SetPowerState() | RTE/SchMSwitch(LowPowerModeA_Transition_End) | UpdateModePorts()

Vorkommen in AUTOSAR-Releases (4)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R20-11 AUTOSAR_SWS_IOHardwareAbstraction S. 61 9 Figure 9: 3.2: synchronous power state setting.
R21-11 AUTOSAR_SWS_IOHardwareAbstraction S. 61 9 Figure 9: 3.2: synchronous power state setting.
R22-11 AUTOSAR_SWS_IOHardwareAbstraction S. 62 9 Figure 9: 3.2: synchronous power state setting.
R23-11 AUTOSAR_CP_SWS_IOHardwareAbstraction S. 60 9 Figure 9: 3.2: synchronous power state setting.