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 (typischerweiseIoHwAboderComplex 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
- Initialisierung (
Pwm_Init):- Synchroner Aufruf.
- Initialisiert Peripherieregister.
- Startet die Modulation (Autostart-Verhalten der PWM-Kanäle).
- Benachrichtigungen sind standardmäßig inaktiv (Interrupts maskiert).
- 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).
- 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).
- Notification-Deaktivierung (
Pwm_DisableNotification):- Synchroner Aufruf durch den Client.
- Maskiert den Peripherie-Interrupt bzw. sperrt die Callback-Ausführung für den Kanal.
- Zustand nach Deaktivierung:
- Keine weiteren Callbacks (
No notifications will occur). - Die PWM-Signalerzeugung (Modulation) läuft auf der Hardware autark weiter.
- Keine weiteren Callbacks (
4. Normative Relevanz & Entwickler-Hinweise
- Pre-Compile-Konfiguration (
PwmNotificationSupported):- Die APIs
Pwm_EnableNotificationundPwm_DisableNotificationsind nur verfügbar, wenn der KonfigurationsparameterPwmNotificationSupported == STD_ONgesetzt ist.
- Die APIs
- Callback-Konfiguration (
PwmNotification):- Pro Kanal muss im BSW-Konfigurator (
PwmChannelConfigSet/PwmChannel) ein gültiger Funktionsbezeichner fürPwmNotificationhinterlegt sein; ist der Parameter leer (NULL_PTR), darf keine Benachrichtigung aktiviert werden (führt bei DET-Aktivierung zuPWM_E_PARAM_POINTERbzw. Fehlverhalten).
- Pro Kanal muss im BSW-Konfigurator (
- 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_DisableNotificationstoppt nicht das PWM-Signal am Pin. Zur Deaktivierung der Signalerzeugung istPwm_SetOutputToIdle()zu verwenden.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.