DEENESPTFRRUARHIKOZHNL
AUTOSAR_SWS_PWMDriver FIG-190f1fcc2953d269 901 × 702 px 1 Release(s)

Figure 9: Using Pwm notifications

SHA-256 Inhalts-Fingerabdruck: 190f1fcc2953d269a62c8932ccad5c67f7eb653ee549ad425b8036e98e14b6bd
✦ 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

  • Diagrammtyp: UML-Sequenzdiagramm (Interaktionsdiagramm).
  • Architektur-Kontext: AUTOSAR Classic Platform, Microcontroller Abstraction Layer (MCAL), Modul Pwm (PWM-Treiber, SWS R4.0.3).
  • Technischer Zweck: Spezifikation des API-Protokolls für die hardwarenahe, interruptgetriebene Flanken-Benachrichtigung (Edge Notifications) zwischen dem PWM-Treiber und übergeordneten BSW-Modulen oder SWCs (z. B. IoHwAb, CDD).

2. Komponenten, Entitäten & Schnittstellen

  • Entitäten / Akteure:
    • Pwm User: Generischer Aufrufer / Client der MCAL-Schnittstelle (typischerweise IoHwAb oder Complex Device Driver).
    • «module» Pwm: AUTOSAR-Standard-Basistreibermodul (MCAL).
  • Schnittstellen & Signaturen:
    • Pwm_Init(const Pwm_ConfigType* ConfigPtr): Synchrone Initialisierung des Treibers und aller konfigurierten Kanäle.
    • Pwm_EnableNotification(Pwm_ChannelType Channel, Pwm_EdgeNotificationType Notification): Aktivierung und Parametrierung der Benachrichtigung für einen dedizierten PWM-Kanal.
    • Pwm_DisableNotification(Pwm_ChannelType Channel): Deaktivierung der Benachrichtigung für den angegebenen Kanal.
    • Pwm_Notification_<#Channel>(): Asynchroner Callback an die konfigurierte Funktionsadresse des Clients (PwmNotification).

3. Dynamisches Verhalten & Sequenzablauf

  1. Initialisierung (Pwm_Init):
    • Synchroner Aufruf.
    • Initialisiert Peripherieregister.
    • Startet die Modulation (Autostart-Verhalten der PWM-Kanäle).
    • Benachrichtigungen sind standardmäßig inaktiv (Interrupts maskiert).
  2. Notification-Aktivierung (Pwm_EnableNotification):
    • Synchroner Aufruf durch den Client.
    • Schaltet die Benachrichtigung für den Kanal scharf und setzt die Trigger-Bedingung (Notification: z. B. PWM_FALLING_EDGE, PWM_RISING_EDGE, PWM_BOTH_EDGES).
  3. Asynchrone Callbacks (Pwm_Notification_<#Channel>):
    • Durch Hardware-Timer/Komparator ausgelöste ISR-Ereignisse.
    • Erster Callback: Triggern bei fallender Flanke (Falling Edge notification).
    • Zweiter Callback: Triggern bei steigender Flanke (Rising Edge notification).
    • Aufruf erfolgt typischerweise im ISR-Kontext (Kategorie 2 ISR).
  4. Notification-Deaktivierung (Pwm_DisableNotification):
    • Synchroner Aufruf durch den Client.
    • Maskiert den Peripherie-Interrupt bzw. sperrt die Callback-Ausführung für den Kanal.
  5. Zustand nach Deaktivierung:
    • Keine weiteren Callbacks (No notifications will occur).
    • Die PWM-Signalerzeugung (Modulation) läuft auf der Hardware autark weiter.

4. Normative Relevanz & Entwickler-Hinweise

  • Pre-Compile-Konfiguration (PwmNotificationSupported):
    • Die APIs Pwm_EnableNotification und Pwm_DisableNotification sind nur verfügbar, wenn der Konfigurationsparameter PwmNotificationSupported == STD_ON gesetzt ist.
  • Callback-Konfiguration (PwmNotification):
    • Pro Kanal muss im BSW-Konfigurator (PwmChannelConfigSet/PwmChannel) ein gültiger Funktionsbezeichner für PwmNotification hinterlegt sein; ist der Parameter leer (NULL_PTR), darf keine Benachrichtigung aktiviert werden (führt bei DET-Aktivierung zu PWM_E_PARAM_POINTER bzw. Fehlverhalten).
  • Ausführungskontext (ISR vs. Task):
    • Pwm_Notification_<#Channel> läuft im Hardware-Interrupt-Kontext (CAT2). Der Callback muss extrem schlank gehalten werden (keine blockierenden Operationen, keine langen Schleifen, minimale Latenz, keine nicht-reentranten Schichtaufrufe).
  • Semantische Trennung von Signal & Benachrichtigung:
    • Pwm_DisableNotification stoppt nicht das PWM-Signal am Pin. Zur Deaktivierung der Signalerzeugung ist Pwm_SetOutputToIdle() zu verwenden.

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

R4.0.3 → R4.1.3 keine inhaltliche Änderung Vorgänger: FIG-3594831339576e67

Keine inhaltlichen Änderungen erkennbar.

R4.1.3 → R4.2.2 keine inhaltliche Änderung Nachfolger: FIG-e5dba28951706b2d

Keine inhaltlichen Änderungen erkennbar.

Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Aus dem Dokument extrahierter Text & Kontext

Beschriftungen im Schaubild:

«module» | Pwm | Pwm User | Status: proposed by DB as per SWS Pwm Driver 1.0.9 | Description: Using PWM Enable/Disable notification The PWM channel is autostarted (Modulation starts during the call of Pwm_Init() ). No notifications occur until the first call of Pwm_EnableNotification(...). Pwm_Notification<#Channel> represents the configured callback function for a channel. | Comments: | Pwm_Init(const Pwm_ConfigType*) | Pwm_Init() | Pwm_EnableNotification(Pwm_ChannelType, Pwm_EdgeNotificationType) | Pwm_EnableNotification() | Pwm_Notification_<#Channel>() Falling Edge notification | Pwm_Notification_<#Channel>() Rising Edge notification | Pwm_DisableNotification(Pwm_ChannelType) | Pwm_DisableNotification() No notifications will occur

Vorkommen in AUTOSAR-Releases (1)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R4.1.3 AUTOSAR_SWS_PWMDriver S. 57 9 Figure 9: Using Pwm notifications