DEENESPTFRRUARHIKOZHNL
AUTOSAR_SWS_LINStateManager FIG-b0e2418656f59e19 890 × 707 px 2 Release(s)

Figure 9: Schedule Table switch

SHA-256 Inhalts-Fingerabdruck: b0e2418656f59e1956ca5157db094c26e89dcb615bdb6d81f12332d262c77bcf
✦ 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).
  • Architektur-Kontext: AUTOSAR Classic Platform (Release 4.0.3), Kommunikations- und Modusmanagement-Stack.
  • Technischer Zweck: Spezifikation des asynchronen Umschaltvorgangs für LIN-Schedule-Tabellen (Schedule Table switch). Das Diagramm definiert das Zusammenspiel zwischen dem Basic Software Mode Manager (BswM), dem LIN State Manager (LinSM) und dem LIN Interface (LinIf) inklusive Bestätigungsschleife und Timeout-Überwachung.

2. Komponenten, Entitäten & Schnittstellen

Beteiligte Module (Lifelines)
  • «module» BswM: System-/Modus-Koordinator; fordert Fahrplanwechsel an und konsumiert den bestätigten Status zur Modusauswertung.
  • «module» LinSM: Abstraktions- und Überwachungsschicht für LIN-Netzwerke; validiert den Modus, startet Timeout-Timer und vermittelt zwischen BswM und LinIf.
  • «module» LinIf: Hardwarenahe Schnittstelle; steuert den LIN-Treiber und wickelt den tatsächlichen Slot-Wechsel im LIN-Frame-Header/Schedule-Zyklus ab.
Schnittstellen & Signaturen
  • LinSM_ScheduleRequest(network, schedule):
    • Synchroner Aufruf von BswM an LinSM zur Anforderung einer neuen Schedule-Tabelle unter der Bedingung [schedule=new_schedule].
  • LinIf_ScheduleRequest(Channel, Schedule):
    • Synchroner Weiterleitungsaufruf von LinSM an LinIf.
  • LinSM_ScheduleRequestConfirmation(network):
    • Asynchroner Bestätigungs-Callback von LinIf an LinSM, sobald der Master den Tabellenwechsel auf dem Bus vollzogen hat (ohne Schedule-Parameter).
  • BswM_LinSM_CurrentSchedule(Network, CurrentSchedule):
    • Modus-Indikation von LinSM an BswM zur Aktualisierung der BswM-Mode-Arbitration unter der Bedingung [schedule=new_schedule].

3. Dynamisches Verhalten & Sequenzablauf

  1. Trigger- & Initialisierungsphase (synchron):
    • BswM fordert bei Bedingung [schedule=new_schedule] den Tabellenwechsel über LinSM_ScheduleRequest(network, schedule) bei LinSM an.
    • LinSM startet unmittelbar die lokale Timeout-Überwachung mittels start_timer().
  2. Weiterleitung & synchrone Quittierung:
    • LinSM leitet die Anforderung über LinIf_ScheduleRequest(Channel, Schedule) an LinIf weiter.
    • LinIf quittiert synchron an LinSM (Rückkehrpfeil), woraufhin LinSM synchron an BswM zurückkehrt. Der tatsächliche Buswechsel erfolgt entkoppelt.
  3. Bestätigungsphase (asynchron):
    • Nach Vollzug des Wechsels auf dem LIN-Bus ruft LinIf den Callback LinSM_ScheduleRequestConfirmation(network) an LinSM auf.
    • LinSM stoppt den laufenden Überwachungs-Timer (stop_timer()).
  4. Modus-Meldung:
    • LinSM meldet den aktiven Fahrplan über BswM_LinSM_CurrentSchedule(Network, CurrentSchedule) an BswM (unter Bedingung [schedule=new_schedule]).
    • Nach Verarbeitung im BswM kehrt der Kontrollfluss über LinSM zurück zu LinIf.

4. Normative Relevanz & Entwickler-Hinweise

  • Asynchrones Protokollverhalten: Ein Tabellenwechsel auf LIN erfolgt nie ad hoc mitten im Frame. LinIf_ScheduleRequest registriert den Wunsch; erst am Ende des laufenden Slots/Frames bzw. Schedule-Zyklus aktiviert der LIN-Master-Task die neue Tabelle.
  • Timeout-Supervision (LinSMConfirmationTimeout):
    • Tritt kein LinSM_ScheduleRequestConfirmation() innerhalb der konfigurierten Zeitspanne auf, läuft der Timer ab.
    • Konsequenz bei Timeout: LinSM meldet einen Fehler (Det/Dem LINSM_E_CONFIRMATION_TIMEOUT) und BswM wird nicht positiv über den Tabellenwechsel informiert.
  • Konfigurationsaspekte:
    • LinSMConfirmationTimeout muss in LinSM größer parametriert werden als die maximale Dauer des längsten LIN-Frames bzw. Schedule-Slots des Zielclusters plus Task-Jitter.
    • Schedule-IDs (LinIf_SchHandleType) müssen zwischen BswM-Regeln, LinSM-Konfiguration und LinIf-Tabellenkonsistenz 1:1 gemappt sein.
  • Reentrancy & Kontext:
    • LinSM_ScheduleRequest wird im Kontext des aufrufenden Tasks (typischerweise BswM-Task) ausgeführt.
    • LinSM_ScheduleRequestConfirmation wird typischerweise aus dem zyklischen Task der LinIf_MainFunction oder dem LIN-Treiber-ISR aufgerufen. Reentrancy-Schutz auf den Kanalzuständen im LinSM ist zwingend einzuhalten.

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

R4.3.1 → R18-10_R4.4.0_R1.5.0 keine inhaltliche Änderung Vorgänger: FIG-77bcb51a9ba418a1

Keine inhaltlichen Änderungen erkennbar.

R19-11 → R20-11 keine inhaltliche Änderung Nachfolger: FIG-46ae62b63fb76276

Keine inhaltlichen Änderungen erkennbar.

Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Aus dem Dokument extrahierter Text & Kontext

Beschriftungen im Schaubild:

«module» | LinSM | «module» | LinIf | «module» | BswM | stop_timer() | start_timer() | [schedule=new_schedule]: LinSM_ScheduleRequest(network, schedule) | LinSM_ScheduleRequestConfirmation(network) | LinIf_ScheduleRequest(Channel, Schedule) | [schedule=new_schedule]: BswM_LinSM_CurrentSchedule(Network, CurrentSchedule)

Begleitender Spezifikationstext:

Figure 9 shows the use-cases of switching the schedule table when the LinSM accepts the request.

Vorkommen in AUTOSAR-Releases (2)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R18-10_R4.4.0_R1.5.0 AUTOSAR_SWS_LINStateManager S. 47 9 Figure 9: Schedule Table switch
R19-11 AUTOSAR_SWS_LINStateManager S. 49 9 Figure 9: Schedule Table switch