DEENESPTFRRUARHIKOZHNL
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.

2. Komponenten, Entitäten & Schnittstellen

  • Wurzel-Container – LinIfScheduleTable (ParamConfContainerDef, Multiplizität 1..*): 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).
      • 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.
      • LinIfPriority (IntegerParamDef, Wertebereich: min = 0, max = 255):
        • Steuerungsparameter für den Schedule-Table-Manager im LinIf.
        • Reservierungen: Priorität 0 ist strikt für die NULL_SCHEDULE reserviert; Priorität 255 ist für RUN_CONTINUOUS reserviert.
    • Sub-Container (+subContainer):
      • LinIfEntry (ParamConfContainerDef, Multiplizität 0..*):
        • 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ät 1..*):
            • Zeigt via Assoziation +destination auf den externen Container LinIfFrame (ParamConfContainerDef, Multiplizität 0..*), welcher die zu sendende PDU/Frame-Eigenschaften (Frame-ID, PduId, Checksum-Typ) definiert.

3. Dynamisches Verhalten & Sequenzablauf

  • Ablaufsteuerung in der BSW-MainFunction:
    • Der interne Timer von LinIf_MainFunction iteriert durch die aktiven LinIfEntry-Elemente.
    • Pro Slot wird bei Ablauf von LinIfDelay der über LinIfFrameRef referenzierte LinIfFrame an den Treiber übergeben (Lin_SendFrame).
  • Schedule-Umschaltung & Preemption:
    • Trigger: Anforderung einer neuen Tabelle via LinIf_ScheduleRequest(Channel, ScheduleTableIndex) (typischerweise durch den BswM oder CommM).
    • Tabellen mit Modus RUN_ONCE unterbrechen aktive RUN_CONTINUOUS-Tabellen anhand ihrer LinIfPriority.
    • Nach vollständiger Abarbeitung des letzten LinIfEntry der RUN_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).

4. Normative Relevanz & Entwickler-Hinweise

  • Validierungsregeln für Konfigurations-Generatoren:
    • Prioritäts-Kollision: Konfigurationen mit identischen LinIfPriority-Werten für mehrere RUN_ONCE-Schedules auf demselben LIN-Kanal sind unzulässig und müssen im Generator/ECUC-Tooling mit einem Validierungsfehler abgewiesen werden.
    • Timing-Konsistenz: LinIfDelay muss 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.
  • Embedded-Implementierung:
    • Der Post-Build- oder Pre-Compile-Generator transformiert diese Metamodell-Knoten in statische ROM-Tabellen (z. B. LinIf_EntryType[] und LinIf_ScheduleTableType[]).
    • symbolicNameValue = true bei LinIfScheduleTableIndex erzwingt standardkonforme symbolische Makros zur Entkopplung von Applikation/BswM und numerischen Tabellenindizes.

Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Aus dem Dokument extrahierter Text & Kontext

Beschriftungen im Schaubild:

LinIfScheduleTable : ParamConfContainerDef | lowerMultiplicity = 1 upperMultiplicity = * | LinIfEntry : ParamConfContainerDef | lowerMultiplicity = 0 upperMultiplicity = * | LinIfDelay :FloatParamDef | min = 0 | LinIfRunMode : EnumerationParamDef | RUN_CONTINUOUS : EnumerationLiteralDef | RUN_ONCE : EnumerationLiteralDef | LinIfScheduleTableIndex : | IntegerParamDef | symbolicNameValue = true | LinIfPriority :IntegerParamDef | min = 0 max = 255 | LinIfFrameRef :ReferenceDef | lowerMultiplicity = 1 upperMultiplicity = * | LinIfFrame : ParamConfContainerDef | lowerMultiplicity = 0 upperMultiplicity = * | +destination | +parameter | +subContainer | +parameter | +parameter | +literal | +literal | +parameter | +reference

Begleitender Spezifikationstext:

Specification of ECU Configuration Parameters V1.2.0 R2.1 Rev 0020 4.7.1.3 LIN Interface Schedule Table Configuration Figure 4.89 depicts the structure of the configuration parameters of a LIN interface’s schedule table. LinIfScheduleTable : ParamConfContainerDef lowerMultiplicity = 1 upperMultiplicity = * LinIfEntry : ParamConfContainerDef lowerMultiplicity = 0 upperMultiplicity = * LinIfDelay :FloatParamDef min = 0 LinIfRunMode : EnumerationParamDef RUN_CONTINUOUS : EnumerationLiteralDef RUN_ONCE : EnumerationLiteralDef LinIfScheduleTableIndex : IntegerParamDef symbolicNameValue = true LinIfPriority :IntegerParamDef min = 0 max = 255 LinIfFrameRef :ReferenceDef lowerMultiplicity = 1 upperMultiplicity = * LinIfFrame : ParamConfContainerDef lowerMultiplicity = 0 upperMultiplicity = * +destination +parameter +subContainer +parameter +parameter +literal +literal +parameter +reference Figure 4.89: LIN Interface Schedule Table configuration LinIfScheduleTable SWS Item Container Name LinIfScheduleTable {LinIf ScheduleTable} Description Describes a schedule table. Each LinIfChannel may have several schedule tables. Configuration Parameters Name last modified in: V1.0.0 LinIfPriority {LINIF PRIORITY} Description Priority of the schedule table. The priority is used in the schedule table manager. The RUN ONCE run mode schedules shall not have equal priority. Priority 0 is reserved for the NULL SCHEDULE. Priority 255 is reserved for the RUN CONTINUOUS run mode. Multiplicity 1 Type IntegerPara

Vorkommen in AUTOSAR-Releases (1)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R2.1.20 AUTOSAR_ECU_ConfigurationParameters S. 265 4.89 Figure 4.89: LIN Interface Schedule Table configuration