DEENESPTFRRUARHIKOZHNL
AUTOSAR_SWS_WatchdogDriver FIG-a029765282bfdd68 749 × 555 px 1 Release(s)

Figure 9.2: Data exchange between watchdog driver and hardware

SHA-256 Inhalts-Fingerabdruck: a029765282bfdd684c6396906027f74dd8ca79a8f608acb6a8fa6c5dc9c54735
✦ 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: Sequenzdiagramm ohne UML-Kopfrahmen.
  • Architektur-Kontext: AUTOSAR Classic Platform (System Services / MCAL), Spezifikationsstand R21-11.
  • Funktionale Einordnung: Asynchrone Trigger-Architektur zur Watchdog-Bedienung. Die Festlegung des Überwachungszeitfensters durch den Watchdog Manager (WdgM) ist zeitlich entkoppelt von der zyklischen Hardware-Bedienung, welche über Timer-Interrupts gesteuert wird.

2. Komponenten, Entitäten & Schnittstellen

  • Akteure / Lifelines:
    • «module» WdgM: Watchdog Manager zur Überwachung der Programmausführung.
    • «module» WdgIf: Watchdog Interface zur hardwareunabhängigen Weiterleitung an die Treiberinstanz.
    • «module» Wdg: Watchdog Driver (MCAL) zur Ausführung der Servicing-Schreibzyklen.
    • Timer Hardware: Hardware-Zeitgeber als Interrupt-Quelle für die zyklische Triggerung.
    • «Peripheral» Watchdog Hardware: Physikalische Watchdog-Einheit.
  • Schnittstellen & Interaktionen:
    • WdgIf_SetTriggerCondition(uint8, uint16): API-Aufruf vom WdgM an WdgIf mit Geräteindex (uint8) und Timeout (uint16).
    • Wdg_SetTriggerCondition(uint16): API-Aufruf vom WdgIf an Wdg mit Timeout (uint16).
    • Wdg_SetTriggerCondition() / WdgIf_SetTriggerCondition(): Synchrone Rückgabepfade.
    • interrupt(): Periodischer Hardware-Interrupt vom Timer Hardware an Wdg.
    • trigger WDG hardware(): Auslösen der Hardware-Bedienung durch Wdg.
    • update activation code(): Rückmeldung des nächsten Aktivierungscodes an den Treiber.
  • Zusätzliche Notationselemente:
    • Notizfeld Hint: Access to external Wdg hardware will be done via peripheral drivers as SPI or DIO. zur Verdeutlichung indirekter Peripheriezugriffe bei externen Watchdogs.

3. Dynamisches Verhalten & Sequenzablauf

Das Diagramm stellt die zeitliche Entkopplung zwischen Bedingungsfestlegung und hardwareseitiger Bedienung dar:

  1. Erste Bedingungsfestlegung:
    • WdgM ruft synchron WdgIf_SetTriggerCondition(uint8, uint16) an WdgIf auf.
    • WdgIf delegiert den Aufruf per Wdg_SetTriggerCondition(uint16) an Wdg.
    • Der Aufruf kehrt über synchrone Quittierungen Wdg_SetTriggerCondition() und WdgIf_SetTriggerCondition() an WdgM zurück.
  2. Zyklische Triggerung via Timer-Interrupt:
    • Timer Hardware sendet ein asynchrones Signal interrupt() an Wdg.
    • Wdg bedient im Interrupt-Kontext die Watchdog-Hardware per trigger WDG hardware().
    • Watchdog Hardware antwortet mit update activation code().
    • Ein weiterer interrupt() von Timer Hardware löst eine erneute Hardware-Bedienung (trigger WDG hardware()) und anschließendes update activation code() aus.
  3. Zweite Bedingungsfestlegung:
    • WdgM setzt erneut die Bedingung über WdgIf_SetTriggerCondition(uint8, uint16) an WdgIf und Wdg_SetTriggerCondition(uint16) an Wdg.
    • Quittierung erfolgt synchron per Wdg_SetTriggerCondition() und WdgIf_SetTriggerCondition().
  4. Folgende Interrupt-Triggerung:
    • Timer Hardware löst erneut interrupt() an Wdg aus.
    • Wdg bedient die Peripherie über trigger WDG hardware() und empfängt update activation code().

4. Normative Relevanz & Entwickler-Hinweise

  • Architektur und Zeitsteuerung:
    • Die Hardware-Bedienung erfolgt entkoppelt vom Aufruf des Watchdog Managers in einer durch Timer Hardware getriebenen Interrupt Service Routine.
    • Wdg_SetTriggerCondition parametriert ein Timeout-Intervall (uint16). Der Treiber zählt dieses Intervall bei jedem Timer-Interrupt herunter und bedient die Watchdog-Hardware nur, solange die Bedingung gültig (Wert > 0) ist.
  • Peripherie-Anbindung:
    • Für externe Watchdog-Bausteine erfolgt der Hardwarezugriff (trigger WDG hardware()) nicht direkt über Prozessorregister, sondern über die entsprechenden Bus- oder Port-Treiber (SPI oder DIO).
  • Datentypen und Schnittstellen:
    • Das Interface adressiert Kanäle über uint8 (DeviceIndex) und übergibt Zeitwerte als uint16.

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

R3.2.3 → R21-11 normative Änderung Vorgänger: FIG-baf257cc8785b424
  • Lifelines: Entfernung der C++-Bereichsoperator-Syntax (WdgM::WdgM zu WdgM, WdgIf::WdgIf zu WdgIf, Wdg::Wdg zu Wdg).
  • Lifeline Watchdog Hardware: Stereotyp «Peripheral» hinzugefügt.
  • Lifeline Timer Hardware: Als neuer Interaktionspartner zur periodischen Interrupt-Generierung hinzugefügt.
  • Schnittstellen: Ersetzung von WdgIf_Trigger / Wdg_Trigger durch WdgIf_SetTriggerCondition(uint8, uint16) und Wdg_SetTriggerCondition(uint16).
  • Ablauf und Trigger-Architektur: Umstellung von synchronem Trigger-Durchreichen auf asynchrone, timer-interruptgesteuerte Hardwarebedienung (interrupt() von Timer Hardware an Wdg, gefolgt von trigger WDG hardware() und update activation code()).
  • Notizfeld: Hinweiskasten zur Anbindung externer Watchdog-Hardware über SPI- oder DIO-Peripherietreiber hinzugefügt (Hint: Access to external Wdg hardware will be done via peripheral drivers as SPI or DIO.).
  • Diagrammrahmen: UML-Rahmen mit Diagrammkopf entfernt.
R21-11 → R22-11 redaktionell Nachfolger: FIG-4a5fe32d65d67104
  • Lifeline «module» Wdg: Entfernung des Dekompositionssymbols (o-o) aus dem Kopfbereich der Lebenslinie.

Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Aus dem Dokument extrahierter Text & Kontext

Beschriftungen im Schaubild:

«module» | WdgM | «Peripheral» | Watchdog Hardware | «module» | Wdg | «module» | WdgIf | Timer Hardware |            |     |  |   |  |  |    |  |  |  |  |   |  |  |   |  |  |  |  |  |    |   | interrupt() | Wdg_SetTriggerCondition(uint16) | WdgIf_SetTriggerCondition(uint8, uint16) | WdgIf_SetTriggerCondition(uint8, uint16) | interrupt() | WdgIf_SetTriggerCondition() | Wdg_SetTriggerCondition() | WdgIf_SetTriggerCondition() | interrupt() | trigger WDG hardware() | update activation code() | trigger WDG hardware() | update activation code() | update activation code() | Wdg_SetTriggerCondition(uint16) | Wdg_SetTriggerCondition() | trigger WDG hardware()

Vorkommen in AUTOSAR-Releases (1)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R21-11 AUTOSAR_SWS_WatchdogDriver S. 32 9.2 Figure 9.2: Data exchange between watchdog driver and hardware