AUTOSAR_ECU_ConfigurationParameters
FIG-c98732e3c39983e8
897 × 485 px
1 Release(s)
Figure 4.89: LIN Interface Schedule Table configuration
SHA-256 Inhalts-Fingerabdruck:
c98732e3c39983e86644aede67e8af9ff0766b9117c386918a2b866362d0ac02
✦
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: Metamodell-Ausschnitt als UML-Klassendiagramm der AUTOSAR ECU Configuration Parameter Definition (
ParamConfContainerDef/ ECUC-Metamodell nach AUTOSAR Release 2.1.20). - Architektur-Kontext:
- Schicht: Communication Services / Communication Hardware Abstraction (BSW-Modul
LinIf– LIN Interface). - Funktionaler Zweck: Deklaration der statischen Konfigurationsstrukturen für LIN-Schedule-Tabellen (
LinIfScheduleTable). Dient als Vorlage zur Codegenerierung für das deterministische, zeitgesteuerte Frame-Scheduling auf LIN-Master-Kanälen.
- Schicht: Communication Services / Communication Hardware Abstraction (BSW-Modul
2. Komponenten, Entitäten & Schnittstellen
- Wurzel-Container –
LinIfScheduleTable(ParamConfContainerDef, Multiplizität1..*): Repräsentiert eine Schedule-Tabelle innerhalb eines LIN-Interface-Kanals (LinIfChannel).- Aggregationen (
+parameter):LinIfScheduleTableIndex(IntegerParamDef):- Attribut:
symbolicNameValue = true. - Generiert eindeutige C-Symbolnamen (z. B.
#define LinIfConf_LinIfScheduleTable_<Name> <Index>) für die Übergabe an die Runtime-API (LinIf_ScheduleRequest).
- Attribut:
LinIfRunMode(EnumerationParamDef):- Komposition mit Literalen (
+literal):RUN_CONTINUOUS(EnumerationLiteralDef): Zyklische Endlos-Wiederholung der Tabelle.RUN_ONCE(EnumerationLiteralDef): Einmalige Ausführung aller Tabelleneinträge; anschließender automatischer Rückfall auf die zuvor aktive bzw. niederpriorigere Schedule-Tabelle.
- Komposition mit Literalen (
LinIfPriority(IntegerParamDef, Wertebereich:min = 0,max = 255):- Steuerungsparameter für den Schedule-Table-Manager im LinIf.
- Reservierungen: Priorität
0ist strikt für dieNULL_SCHEDULEreserviert; Priorität255ist fürRUN_CONTINUOUSreserviert.
- Sub-Container (
+subContainer):LinIfEntry(ParamConfContainerDef, Multiplizität0..*):- Repräsentiert einen diskreten Zeitschlitz (Slot) innerhalb der Schedule-Tabelle.
- Enthält Parameter (
+parameter):LinIfDelay(FloatParamDef,min = 0): Dauer des Zeitschlitzes (Slot-Länge / Delay bis zur Aktivierung des nächsten Eintrags).
- Enthält Referenz (
+reference):LinIfFrameRef(ReferenceDef, Multiplizität1..*):- Zeigt via Assoziation
+destinationauf den externen ContainerLinIfFrame(ParamConfContainerDef, Multiplizität0..*), welcher die zu sendende PDU/Frame-Eigenschaften (Frame-ID, PduId, Checksum-Typ) definiert.
- Zeigt via Assoziation
- Aggregationen (
3. Dynamisches Verhalten & Sequenzablauf
- Ablaufsteuerung in der BSW-MainFunction:
- Der interne Timer von
LinIf_MainFunctioniteriert durch die aktivenLinIfEntry-Elemente. - Pro Slot wird bei Ablauf von
LinIfDelayder überLinIfFrameRefreferenzierteLinIfFramean den Treiber übergeben (Lin_SendFrame).
- Der interne Timer von
- Schedule-Umschaltung & Preemption:
- Trigger: Anforderung einer neuen Tabelle via
LinIf_ScheduleRequest(Channel, ScheduleTableIndex)(typischerweise durch den BswM oder CommM). - Tabellen mit Modus
RUN_ONCEunterbrechen aktiveRUN_CONTINUOUS-Tabellen anhand ihrerLinIfPriority. - Nach vollständiger Abarbeitung des letzten
LinIfEntryderRUN_ONCE-Tabelle schaltet der LinIf automatisch zurück auf die unterbrochene kontinuierliche Tabelle. - Die Anforderung von Priorität
0(NULL_SCHEDULE) stoppt die Übertragung auf dem Bus (Bus-Ruhe / Sleep-Vorbereitung).
- Trigger: Anforderung einer neuen Tabelle via
4. Normative Relevanz & Entwickler-Hinweise
- Validierungsregeln für Konfigurations-Generatoren:
- Prioritäts-Kollision: Konfigurationen mit identischen
LinIfPriority-Werten für mehrereRUN_ONCE-Schedules auf demselben LIN-Kanal sind unzulässig und müssen im Generator/ECUC-Tooling mit einem Validierungsfehler abgewiesen werden. - Timing-Konsistenz:
LinIfDelaymuss zwingend größer oder gleich der maximalen Übertragungsdauer des referenzierten Frames (Header + Response + Inter-Byte-Spaces + Jitter bei gegebener LIN-Baudrate) sein, um Frame-Überlappungen zu verhindern.
- Prioritäts-Kollision: Konfigurationen mit identischen
- Embedded-Implementierung:
- Der Post-Build- oder Pre-Compile-Generator transformiert diese Metamodell-Knoten in statische ROM-Tabellen (z. B.
LinIf_EntryType[]undLinIf_ScheduleTableType[]). symbolicNameValue = truebeiLinIfScheduleTableIndexerzwingt standardkonforme symbolische Makros zur Entkopplung von Applikation/BswM und numerischen Tabellenindizes.
- Der Post-Build- oder Pre-Compile-Generator transformiert diese Metamodell-Knoten in statische ROM-Tabellen (z. B.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.