DEENESPTFRRUARHIKOZHNL
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, IoHwAb oder CDD).
    • «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).

3. Dynamisches Verhalten & Sequenzablauf

  1. Trigger: Pwm User stößt die Parameteranpassung über den synchronen API-Aufruf Pwm_SetPeriodAndDuty(...) an.
  2. 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 PwmPeriodUpdatedEndperiod und den Hardware-Pufferregistern/Shadow-Registern des Ziel-Mikrocontrollers).
  3. 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 zu PWM_FIXED_PERIOD oder PWM_FIXED_PERIOD_SHIFTED).
  • Kompilier- und Pre-Compile-Schalter:
    • Die API muss über den Konfigurationsparameter PwmSetPeriodAndDutyApi == STD_ON aktiviert sein, andernfalls wird das Symbol nicht exportiert.
  • 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.
  • 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): Meldet PWM_E_PARAM_DUTYCYCLE.
  • 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.

Versionsvergleich KI-generiert · gemini-3.8-flash (via agy)

R24-11 → R25-11 keine inhaltliche Änderung Vorgänger: FIG-9f68e2e5105b2544

Keine inhaltlichen Änderungen erkennbar.

Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Aus dem Dokument extrahierter Text & Kontext

Beschriftungen im Schaubild:

                             |        |     |   |  |   | ! |   |      | ! |  |   | ! | " |  | ! |       | " |  | " |  |   | # |      | «module» | Pwm | Pwm User | Pwm_SetPeriodAndDuty(Pwm_ChannelType, Pwm_PeriodType, uint16) | Pwm_SetPeriodAndDuty()

Vorkommen in AUTOSAR-Releases (1)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R25-11 AUTOSAR_CP_SWS_PWMDriver S. 46 9.4 Figure 9.4: Setting the period and duty cycle