DEENESPTFRRUARHIKOZHNL
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 Regel EcuM bzw. BswM im Rahmen der Treiber-Initialisierungsphasen, z. B. DriverInitOne / DriverInitTwo, seltener ein Complex Device Driver (CDD) oder IoHwAb).
    • «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 User ruft synchron und blockierend Pwm_Init(&Pwm_Config) auf.
  • 2. Treiber-Interne Ausführung:
    • Validierung des Konfigurationszeigers (bei aktivem DET Prüfung auf NULL_PTR → Fehlercode PWM_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 (Low bzw. High via PwmIdleState) 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.
  • 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 von Pwm_Init() aufgerufen werden; andernfalls greift der DET-Fehler PWM_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.

Aus dem Dokument extrahierter Text & Kontext

Beschriftungen im Schaubild:

                           |        |   |    |     |  |   | ! "   |        #  |     "  |    $  "  # "      |        #  " |  | % |  #           | % |  | % |  #  $   | % |            |  " | % |     | % |    | & ' |  | ( |   | % |      | ) |     | «module» | Pwm | Pwm User | Pwm_Init(const Pwm_ConfigType*) | Pwm_Init()

Vorkommen in AUTOSAR-Releases (1)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R24-11 AUTOSAR_CP_SWS_PWMDriver S. 47 9.1 Figure 9.1: PWM initialization