AUTOSAR_ECU_ConfigurationParameters
FIG-8bad3385375e60dd
900 × 598 px
1 Release(s)
Figure 6.25: PWM channel specific configuration
SHA-256 Inhalts-Fingerabdruck:
8bad3385375e60ddda372b99f90ed55e053b980d50b6a054afda446a9bf2dc71
✦
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
- Klassifikation: AUTOSAR ECU Configuration Parameter Definition Metamodell (UML-Klassendiagramm / BSW-Modulbeschreibungsschema).
- Architektur-Kontext: MCAL (Microcontroller Abstraction Layer), Modul
Pwm(Pulse Width Modulation Driver) gemäß AUTOSAR Classic Platform (SWS PWM). - Funktionaler Zweck: Formale Definition des Konfigurationsschemas für PWM-Kanäle. Dient ECU-Konfigurations- und Codegenerierungswerkzeugen (z. B. DaVinci Configurator, EB tresos) als Validierungsmodell für die Generierung der typsicheren Treiberstrukturen (
Pwm_PBcfg.c,Pwm_Cfg.h).
2. Komponenten, Entitäten & Schnittstellen
Container-Hierarchie & Multiplizitäten
Pwm : ModuleDef: Wurzelknoten der PWM-Modulkonfiguration (lowerMultiplicity = 0,upperMultiplicity = *).PwmChannelConfigSet : ParamConfContainerDef:- Beziehung: Komposition via
+containervonPwm. - Eigenschaft:
multipleConfigurationContainer = true. Definiert den Container als Basis für Post-Build-Varianten (PB/PC-Switching über Konfigurationssets).
- Beziehung: Komposition via
PwmChannel : ParamConfContainerDef:- Beziehung: Komposition via
+subContainervonPwmChannelConfigSet. - Multiplizität:
lowerMultiplicity = 1,upperMultiplicity = *(mindestens ein Kanal muss konfiguriert sein). Repräsentiert die logische Kanalinstanz.
- Beziehung: Komposition via
Parameterdefinitionen (Komposition via +parameter an PwmChannel)
PwmChannelId : IntegerParamDef:- Eigenschaften:
symbolicNameValue = true,min = 0. - Semantik: Eindeutige numerische Kanal-ID. Generiert symbolische C-Makros (z. B.
PwmConf_PwmChannel_<Name>) für API-Zugriffe (Pwm_ChannelType).
- Eigenschaften:
PwmPeriodDefault : FloatParamDef:- Eigenschaft:
min = 0. - Semantik: Standard-Periodendauer in Sekunden (s) beim Treiberstart (
Pwm_Init).
- Eigenschaft:
PwmDutycycleDefault : IntegerParamDef:- Eigenschaften:
min = 0,max = 0x8000. - Semantik: Standard-Tastverhältnis (0x0000 = 0 %, 0x8000 = 100 % gemäß AUTOSAR-Normierung auf 15-Bit-Basis /
0x8000 == 32768).
- Eigenschaften:
PwmNotification : FunctionNameDef:- Eigenschaft:
defaultValue = "NULL". - Semantik: Bezeichner der Callback-Funktion bei Erreichen der Flanke/Periode (
void (*)(void)).
- Eigenschaft:
PwmChannelClass : EnumerationParamDef:- Literale (via
+literal):PwmFixedPeriod: Feste Periode, nur Tastverhältnis viaPwm_SetDutyCycle()änderbar.PwmFixedPeriodShifted: Feste Periode mit konfigurierter Phasenverschiebung zu anderen Kanälen.PwmVariablePeriod: Variable Periode, änderbar zur Laufzeit viaPwm_SetPeriodAndDuty().
- Literale (via
PwmIdleState : EnumerationParamDef:- Literale (via
+literal):PwmIdleStateHigh,PwmIdleStateLow. - Semantik: Elektrischer Ausgangspegel im deaktivierten oder Idle-Zustand (nach
Pwm_Initbzw.Pwm_SetOutputToIdle()).
- Literale (via
PwmPolarity : EnumerationParamDef:- Literale (via
+literal):PwmPolarityHigh,PwmPolarityLow. - Semantik: Startpegel zu Beginn der PWM-Periode (High: Tastverhältnis definiert High-Phase; Low: Tastverhältnis definiert Low-Phase).
- Literale (via
3. Dynamisches Verhalten & Sequenzablauf
Da es sich um ein statisches Konfigurationsmetamodell handelt, leitet sich das dynamische Verhalten aus den parametrierten Eigenschaften ab:
- Initialisierungsphase (
Pwm_Init):- Treiber lädt das über
PwmChannelConfigSetselektierte Post-Build-Set. - Jeder Kanal wird mit
PwmPolarity,PwmDutycycleDefault,PwmPeriodDefaultundPwmIdleStateinitialisiert.
- Treiber lädt das über
- Laufzeit-Modulation:
PwmVariablePeriod: Erlaubt synchrone Aufrufe vonPwm_SetPeriodAndDuty(). Bei Kanälen vom TypPwmFixedPeriodführt dieser Aufruf zu einem DET-Fehler (PWM_E_PERIOD_UNCHANGEABLE).PwmFixedPeriod/PwmFixedPeriodShifted: Erlauben nurPwm_SetDutyCycle().
- Asynchrone Callbacks & Notifications:
- Ist
PwmNotification != "NULL"und die Benachrichtigung viaPwm_EnableNotification()scharfgeschaltet, ruft die ISR des Hardware-Timers bei Flankenwechsel den konfigurierten Funktionspointer im Interrupt-Kontext auf.
- Ist
- Abschaltung:
- Aufruf von
Pwm_SetOutputToIdle()forciert den physikalischen Pin sofort auf den Pegel vonPwmIdleState.
- Aufruf von
4. Normative Relevanz & Entwickler-Hinweise
- Duty-Cycle-Skalierung (0x8000-Konvention): Das Tastverhältnis wird in AUTOSAR strikt mit
0x0000(0 %) bis0x8000(100 %) parametriert und übergeben. Übergaben > 0x8000 an APIs wiePwm_SetDutyCycle()müssen vom Treiber mit dem DET-FehlerPWM_E_PARAM_DUTYCYCLEabgewiesen werden. - Kanal-Klassifizierung & Codegrößen-Optimierung: Hardware-Timer, die keine variablen Prescaler/Perioden-Register unterstützen, müssen als
PwmFixedPerioddefiniert werden. Dies ermöglicht es dem BSW-Generator, API-Funktionen wiePwm_SetPeriodAndDuty()per Präprozessor-Switch (PWM_SET_PERIOD_AND_DUTY_API == STD_OFF) vollständig zu entfernen. - ISR-Restriktionen bei
PwmNotification: Der Callback läuft direkt im ISR-Kontext des Timers. Entwickler dürfen darin keine blockierenden Operationen, OS-Wait-Events oder langwierige Berechnungen ausführen. - Post-Build-Variantenbildung: Da
multipleConfigurationContainer = truegesetzt ist, können verschiedene Parametersätze für unterschiedliche Fahrzeugderivate zur Linkzeit oder Post-Build-Ladezeit vorgehalten werden, ohne den Binärcode des MCAL-Treibers neu kompilieren zu müssen.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.