DEENESPTFRRUARHIKOZHNL
AUTOSAR_SWS_PWMDriver FIG-7d8b248e9f15b616 725 × 702 px 2 Release(s)

Figure 8: Using Pwm notifications

SHA-256 Inhalts-Fingerabdruck: 7d8b248e9f15b616cbe797e1df2e3ee1ecd1139bf488bad717bb20cf3e37593f
✦ 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.
    • Mehrfache asynchrone Benachrichtigungsaufrufe an die konfigurierte Callback-Funktion des Clients.
    • 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:
    • Unterdrückung weiterer Callbacks für den spezifizierten Kanal.
    • 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.3.1 → R18-10_R4.4.0_R1.5.0 redaktionell Vorgänger: FIG-e5dba28951706b2d
  • Lebenslinie Pwm User: Entfernung der linksseitigen Randannotationen „Falling Edge notification“ und „Rising Edge notification“ (an den Rückrufen Pwm_Notification_<#Channel>()) sowie „No notifications will occur“ (nach Pwm_DisableNotification()).
  • Gesamtdiagramm: Verringerung der Bildbreite durch Wegfall der linken Randspalte.
R19-11 → R20-11 keine inhaltliche Änderung Nachfolger: FIG-53c5d4c6b39f6f4f

Keine inhaltlichen Änderungen erkennbar.

Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Aus dem Dokument extrahierter Text & Kontext

Beschriftungen im Schaubild:

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: | «module» | Pwm | Pwm User | Pwm_Notification_<#Channel>() | Pwm_Init(const Pwm_ConfigType*) | Pwm_Notification_<#Channel>() | Pwm_DisableNotification() | Pwm_DisableNotification(Pwm_ChannelType) | Pwm_Init() | Pwm_EnableNotification(Pwm_ChannelType, Pwm_EdgeNotificationType) | Pwm_EnableNotification()

Vorkommen in AUTOSAR-Releases (2)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R18-10_R4.4.0_R1.5.0 AUTOSAR_SWS_PWMDriver S. 53 8 Figure 8: Using Pwm notifications
R19-11 AUTOSAR_SWS_PWMDriver S. 51 8 Figure 8: Using Pwm notifications