AUTOSAR_CP_SWS_PWMDriver
FIG-0816940dfee67719
650 × 408 px
1 Release(s)
Figure 9.4: Setting the period and duty cycle
SHA-256 Inhalts-Fingerabdruck:
0816940dfee67719f93f31158f63884752ad8c00d0db4a64a3ab765a8cd4dca2
✦
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) mit annotiertem Spezifikationskommentar.
- Architektur-Kontext: AUTOSAR Classic Platform (CP), Microcontroller Abstraction Layer (MCAL), I/O Hardware Abstraction / Aktuator-Ansteuerung.
- Technischer Zweck: Visualisierung des synchronen Steuerungsflusses beim simultanen Neukonfigurieren von Periodendauer (Period) und Tastgrad (Duty Cycle) eines PWM-Kanals zur Laufzeit durch einen übergeordneten Treiber-Nutzer (z. B. komplexer Treiber
CDD, IoHwAb oder SWC via RTE).
2. Komponenten, Entitäten & Schnittstellen
- Akteure / Lebenslinien:
Pwm User: Oberliegende Schicht / Aufrufer (z. B. Sensor-/Aktuator-Softwarekomponente via RTE,IoHwAboderCDD).«module» Pwm: MCAL-Treibermodul (Microcontroller Abstraction Layer) gemäßAUTOSAR_CP_SWS_PWMDriver.
- Schnittstellensignatur:
- Synchroner Funktionsaufruf:
Pwm_SetPeriodAndDuty(Pwm_ChannelType ChannelNumber, Pwm_PeriodType Period, uint16 DutyCycle)ChannelNumber(Pwm_ChannelType): Numerische Kanal-ID des Zielkanals.Period(Pwm_PeriodType): Neue Periodendauer (in Ticks/Zeiteinheiten abhängig von Prescaler und Taktquelle).DutyCycle(uint16): Skalierter Tastgrad (AUTOSAR-Format:0x0000= 0 %,0x8000= 100 %).
- Synchroner Rücksprung:
void(Rückkehr nach Registeraktualisierung/Pufferung im Hardware-Timer).
- Synchroner Funktionsaufruf:
3. Dynamisches Verhalten & Sequenzablauf
- Trigger:
Pwm Userstößt die Parameteranpassung über den synchronen API-AufrufPwm_SetPeriodAndDuty(...)an. - Treiber-Verarbeitung:
- Der Aufruf blockiert den Aufrufer bis zum Abschluss der internen Parametrierung/Registerprogrammierung (synchroner Kontrollfluss).
- Update-Zeitpunkt (Hardware-Kopplung): Gemäß Diagramm-Annotation ("The PWM period is changed at the end of the current period if configured") wird der neue Zyklus entweder sofort oder phasenstarr am Ende der aktuellen Periode aktiv (abhängig vom Konfigurationsparameter
PwmPeriodUpdatedEndperiodund den Hardware-Pufferregistern/Shadow-Registern des Ziel-Mikrocontrollers).
- Abschluss: Nach Übernahme der Werte in die entsprechenden Timer-/PWM-Shadow-Register kehrt der Funktionsaufruf synchron zum Aufrufer zurück.
4. Normative Relevanz & Entwickler-Hinweise
- API-Vertrag & Kanal-Klassifikation:
- Der Aufruf ist nur auf PWM-Kanälen zulässig, die im Konfigurationsmodell (
PwmChannelConfig) als Kanäle mit variabler Periode (PWM_VARIABLE_PERIOD) deklariert wurden (im Gegensatz zuPWM_FIXED_PERIODoderPWM_FIXED_PERIOD_SHIFTED).
- Der Aufruf ist nur auf PWM-Kanälen zulässig, die im Konfigurationsmodell (
- Kompilier- und Pre-Compile-Schalter:
- Die API muss über den Konfigurationsparameter
PwmSetPeriodAndDutyApi == STD_ONaktiviert sein, andernfalls wird das Symbol nicht exportiert.
- Die API muss über den Konfigurationsparameter
- Wiedereintrittsfähigkeit (Reentrancy):
- Reentrant für unterschiedliche Kanäle (
ChannelNumber != n), non-reentrant für denselben Kanal. Parallele Zugriffe auf denselben Kanal aus verschiedenen Tasks/ISRs erfordern OS-Ressourcen/Spinlocks.
- Reentrant für unterschiedliche Kanäle (
- Fehlerbehandlung (DET/DEM-Prüfungen):
- Bei aktiviertem
PwmDevErrorDetect:- Treiber uninitialisiert: Meldet
PWM_E_UNINIT. - Ungültige Kanal-ID: Meldet
PWM_E_PARAM_CHANNEL. - Kanal mit fixer Periode übergeben: Meldet
PWM_E_PERIOD_UNCHANGEABLE. - Tastgrad außerhalb des Definitionsbereichs (
> 0x8000): MeldetPWM_E_PARAM_DUTYCYCLE.
- Treiber uninitialisiert: Meldet
- Bei aktiviertem
- Phasenkorrektheit / Glitch-Vermeidung:
- Entwickler müssen sicherstellen, dass bei sicherheitskritischen Aktuatoren (z. B. H-Brücken, BLDC-Inverter) die Pufferung am Periodenende (
PwmPeriodUpdatedEndperiod = TRUE) aktiviert ist, um asynchrone Tastgrad-Glitches oder Kurzschlüsse innerhalb der laufenden Periode zu verhindern.
- Entwickler müssen sicherstellen, dass bei sicherheitskritischen Aktuatoren (z. B. H-Brücken, BLDC-Inverter) die Pufferung am Periodenende (
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.