AUTOSAR_CP_SWS_PWMDriver
FIG-f17941776093c321
707 × 596 px
5 Release(s)
Figure 1: PWM signal description
SHA-256 Inhalts-Fingerabdruck:
f17941776093c32156be483c2b649124ef8907a6524b878dd43c88f66270a425
✦
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
- Klassifikation: Signalverlaufs- / Timing-Diagramm (Hardware-Signalcharakteristik im Zeitbereich).
- Architektur-Kontext: AUTOSAR Classic Platform, Microcontroller Abstraction Layer (MCAL), Modul
Pwm(PWM-Treiber, SWS PWMDriver). - Funktionaler Zweck: Normative Definition der elementaren Signalparameter (
Period,Duty Cycle,Polarity) für PWM-Kanäle zur Vermeidung von hardware- bzw. herstellerspezifischen Fehlinterpretationen bezüglich aktiver Phasenlage und Tastverhältnis.
2. Komponenten, Entitäten & Schnittstellen
- Konfigurationsparameter (BSW / Ecuc):
PwmPolarity: Definiert den logischen Startpegel des Ausgangssignals zu Beginn jeder Periode (PWM_HIGHoderPWM_LOW).PwmPeriodDefault: Konfigurierter Standardwert für die Signalperiodendauer (T_period).PwmDutycycleDefault: Konfiguriertes Standard-Tastverhältnis zum Startzeitpunkt.
- Datentypen & Schnittstellen-Entitäten:
Pwm_ChannelType: Numerische Kanal-Identifikation.Pwm_PeriodType: Takt- bzw. Periodendauer (in Ticks oder Zeiteinheiten abhängig von der MCU-Clock-Konfiguration).Pwm_DutyCycleType(uint16): Festkomma-Repräsentation des Tastverhältnisses, normiert auf den Bereich0x0000(0 %) bis0x8000(100 %).
- Beziehungen:
- Das Tastverhältnis (
Duty Cycle) bezieht sich immer auf die Zeitspanne vom Periodenbeginn bis zum ersten Flankenwechsel innerhalb des Intervalls [0, Period]. - Die Polarität entkoppelt den logischen Zustand („aktive Phase“) vom elektrischen Spannungspegel (High/Low).
- Das Tastverhältnis (
3. Dynamisches Verhalten & Sequenzablauf
- Signalzyklus bei
POLARITY = PWM_HIGH:- Periodenstart (t = 0): Der Signalausgang wechselt deterministisch auf logisch
HIGH. - Tastverhältnis-Ende (t = t_duty): Flankenwechsel (Fallende Flanke) von
HIGHaufLOW. - Periodenende (t = T_period): Signal verbleibt auf
LOWbis zum Zyklusende; automatischer Übergang zum nächsten Periodenstart mit steigender Flanke aufHIGH.
- Periodenstart (t = 0): Der Signalausgang wechselt deterministisch auf logisch
- Signalzyklus bei
POLARITY = PWM_LOW:- Periodenstart (t = 0): Der Signalausgang wechselt deterministisch auf logisch
LOW. - Tastverhältnis-Ende (t = t_duty): Flankenwechsel (Steigende Flanke) von
LOWaufHIGH. - Periodenende (t = T_period): Signal verbleibt auf
HIGHbis zum Zyklusende; automatischer Übergang zum nächsten Periodenstart mit fallender Flanke aufLOW.
- Periodenstart (t = 0): Der Signalausgang wechselt deterministisch auf logisch
- Sonderzustände (Grenzwerte):
- 0\ %\ Duty Cycle (
0x0000): Signal nimmt während der gesamten Periode den invertierten Polaritätswert an (keine aktive Phase). - 100\ %\ Duty Cycle (
0x8000): Signal verbleibt über die gesamte Periode auf dem durchPolarityvorgegebenen Pegel (kein Flankenwechsel).
- 0\ %\ Duty Cycle (
4. Normative Relevanz & Entwickler-Hinweise
- MCAL-Treiber-Implementierung:
- Hardware-Timer müssen zwingend auf Edge-Aligned PWM konfiguriert werden (AUTOSAR-Standardmodell setzt linksbündige Ausrichtung voraus, sofern Center-Aligned nicht explizit per MCAL-Erweiterung gekapselt wird).
- Die Register-Vorladewerte (Shadow Registers / Compare Registers) müssen so berechnet werden, dass Flanken exakt bei $t_{\text{duty}} = \frac{\text{DutyCycle}}{0\text{x}8000} \cdot \text{Period}$ geschaltet werden.
- API-Vertrag (
Pwm_SetDutyCycle/Pwm_SetPeriodAndDuty):- Laufzeitmodifikationen des Duty Cycles dürfen keine Glitches auf den Ausgangs-Pins verursachen. Der Treiber muss die Pufferregister (Reload-Mechanismus am Periodenüberlauf / Underflow/Overflow-Interrupt) synchronisieren.
- Unterscheidung zwischen
PwmPolarityundPwmIdleState: Die Polarität steuert das Signalverhalten während der aktiven PWM-Generierung. DerIdleStatedefiniert den Pin-Zustand nach Deaktivierung des Kanals viaPwm_DeInit()oderPwm_SetOutputToIdle().
- Hardware-Invertierung / Treiberstufen:
- Entwickler von Treibern für Leistungsendstufen (z. B. Low-Side- vs. High-Side-Schalter) müssen die Hardware-Invertierung über den Parameter
PwmPolarityim BSW-Generator matchen, damit ein Anstieg des logischen Duty Cycles zu einer proportionalen Leistungssteigerung am Aktor führt.
- Entwickler von Treibern für Leistungsendstufen (z. B. Low-Side- vs. High-Side-Schalter) müssen die Hardware-Invertierung über den Parameter
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.