AUTOSAR_CP_SWS_PWMDriver
FIG-1decd6af58223939
641 × 430 px
1 Release(s)
Figure 9.1: PWM initialization
SHA-256 Inhalts-Fingerabdruck:
1decd6af58223939e77aac6e220b97d44b3738085e471bc09adbf96897e046c4
✦
KI-generierte Bildanalyse & technische Beschreibung
Modell: gemini-3.8-flash (via agy) · Rezept figure-description@2 · erstellt am 2026-10-07
1. Diagrammtyp & Architektur-Kontext
- Diagrammtyp: UML-Sequenzdiagramm.
- Architektur-Kontext: AUTOSAR Classic Platform (CP), Microcontroller Abstraction Layer (MCAL), Modul
Pwm(AUTOSAR_CP_SWS_PWMDriver). - Funktionaler Zweck: Darstellung der deterministischen, synchronen Initialisierungssequenz des PWM-Treibers während der BSW-Startphase zur Überführung aller konfigurierten PWM-Kanäle und Peripherie-Timer in definierte Ausgangszustände.
2. Komponenten, Entitäten & Schnittstellen
- Lebenslinien & Akteure:
Pwm User: Aufrufende BSW-Entität (in der RegelEcuMbzw.BswMim Rahmen der Treiber-Initialisierungsphasen, z. B.DriverInitOne/DriverInitTwo, seltener ein Complex Device Driver (CDD) oderIoHwAb).«module» Pwm: Repräsentiert das AUTOSAR-BSW-Treibermodul des Microcontrollers.
- Schnittstellen & Datentypen:
Pwm_Init(const Pwm_ConfigType* ConfigPtr): Synchroner Standard-API-Einstiegspunkt des Treibers.const Pwm_ConfigType*: Zeiger auf die post-build- bzw. link-time-spezifische Konfigurationsdatenstruktur (Kanalparameter, Prescaler-Settings, Taktquellen, Polarität, Default-Perioden und Duty-Cycles).- Return: Formlose synchrone Rückkehr (
void).
3. Dynamisches Verhalten & Sequenzablauf
- 1. Aufruf:
Pwm Userruft synchron und blockierendPwm_Init(&Pwm_Config)auf. - 2. Treiber-Interne Ausführung:
- Validierung des Konfigurationszeigers (bei aktivem DET Prüfung auf
NULL_PTR→ FehlercodePWM_E_PARAM_POINTER; Prüfung auf Mehrfachinitialisierung →PWM_E_ALREADY_INITIALIZED). - Programmierung der Hardware-Register (Clock-Gating, Timer-Basen, Prescaler, Routing/Pin-Muxing).
- Einstellung des initialen Signalzustands: Die Signalausgänge nehmen kanalspezifisch gemäß Konfiguration entweder einen definierten Ruhepegel (
Lowbzw.HighviaPwmIdleState) oder unmittelbar den modulierten Zustand mit Start-Duty-Cycle ein. - Initialer Interrupt-Status: Alle Kanal-Benachrichtigungen (Notifications) verbleiben zwingend deaktiviert; es werden keine Callbacks ausgelöst.
- Validierung des Konfigurationszeigers (bei aktivem DET Prüfung auf
- 3. Rücksprung: Synchroner Return an den Aufrufer nach Abschluss der Hardware-Konfiguration.
4. Normative Relevanz & Entwickler-Hinweise
- API-Vertrag & Vorbedingung: Alle weiteren Modul-APIs (
Pwm_SetDutyCycle,Pwm_SetPeriodAndDuty,Pwm_SetOutputToIdle,Pwm_DisableNotification, etc.) dürfen erst nach vollständigem Rücksprung vonPwm_Init()aufgerufen werden; andernfalls greift der DET-FehlerPWM_E_UNINIT. - Notification-Handling: Falls in der Konfiguration Benachrichtigungen hinterlegt sind, unterdrückt der Treiber ISR-Callbacks, bis
Pwm_EnableNotification(Channel)für den jeweiligen Kanal explizit aufgerufen wird. Dies verhindert unkontrollierte Callback-Kaskaden während der Boot-Sequenz. - Ausführungskontext:
Pwm_Init()ist nicht reentrant und darf ausschließlich auf Task-Ebene im ununterbrochenen Initialisierungskontext (z. B. OS-Startup-Hook vor Aktivierung des Schedulers) ausgeführt werden.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.