DEENESPTFRRUARHIKOZHNL
AUTOSAR_CP_SWS_PWMDriver FIG-11b8ab05eebf991a 794 × 768 px 1 Release(s)

Figure 9.7: Using Pwm notifications

SHA-256 Inhalts-Fingerabdruck: 11b8ab05eebf991a120f1146595daf4a4418d5083404f5e9d2d09d022e37dca2
✦ 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)

R23-11 → R24-11 redaktionell Vorgänger: FIG-53c5d4c6b39f6f4f
  • Lebenslinie «module» Pwm: Entfernung des Enterprise-Architect-Verknüpfungssymbols (Composite-Diagramm-Icon oo) aus dem Kopfkasten.

Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Aus dem Dokument extrahierter Text & Kontext

Beschriftungen im Schaubild:

                            |        |   |   |  | ! | " |    | ! |   | # |     | $ %   |  %  | ! |          & |  | ! |           |  %   | ! ! | # |    ' (   & ) ) | *   | # |             | ! |  % | # |     | ! ! | # |    ' |  | ! | *   | # |     &   )    ' | *   | # |      | + ,- | %  | ! . |      % |  | # |  |    | ! ! |   / | # |     | # |   %  | ! |  | - |      | «module» | Pwm | Pwm User | Pwm_DisableNotification() | Pwm_DisableNotification(Pwm_ChannelType) | Pwm_EnableNotification(Pwm_ChannelType, Pwm_EdgeNotificationType) | Pwm_Notification_<#Channel>() | Pwm_EnableNotification() | Pwm_Init(const Pwm_ConfigType*) | Pwm_Init() | Pwm_Notification_<#Channel>()

Vorkommen in AUTOSAR-Releases (1)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R24-11 AUTOSAR_CP_SWS_PWMDriver S. 50 9.7 Figure 9.7: Using Pwm notifications