DEENESPTFRRUARHIKOZHNL
AUTOSAR_SWS_LINStateManager FIG-488dae3a3f3358b3 830 × 669 px 1 Release(s)

Figure 7: Schedule Table switch

SHA-256 Inhalts-Fingerabdruck: 488dae3a3f3358b331554cecf91784d5ffc2fbdabeb8f45bed3702d354045ed4
✦ 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.0.3 → R4.1.3 normative Änderung Vorgänger: FIG-3ec728b0a428fed0
  • LinSM_ScheduleRequest: Die Signatur wurde von Datentyp-Bezeichnern (Std_ReturnType, NetworkHandleType, LinIf_SchHandleType) auf Parameternamen (network, schedule) umgestellt.
  • LinIf_ScheduleRequest: Die Signatur wurde von Datentyp-Bezeichnern (Std_ReturnType, NetworkHandleType, LinIf_SchHandleType) auf Parameternamen (Channel, Schedule) umgestellt.
  • LinSM_ScheduleRequestConfirmation: Der Parameterumfang wurde von (NetworkHandleType, LinIf_SchHandleType) auf (network) reduziert (Entfall des Schedule-Parameters).
  • BswM_LinSM_CurrentSchedule: Die Signatur wurde von Datentyp-Bezeichnern (NetworkHandleType, LinIf_SchHandleType) auf Parameternamen (Network, CurrentSchedule) umgestellt.
  • start_timer(): Der interne Aufruf in LinSM wird nun vor dem Absenden von LinIf_ScheduleRequest ausgeführt (zuvor erst nach LinIf_ScheduleRequest).
  • Kontrollfluss / Reply-Nachrichten: Explizite synchrone Rückkehrpfeile (gestrichelte Linien) von LinIf an LinSM sowie von LinSM an BswM nach LinIf_ScheduleRequest hinzugefügt.
R4.1.3 → R4.2.2 keine inhaltliche Änderung Nachfolger: FIG-77bcb51a9ba418a1

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 | [schedule=new_schedule]: LinSM_ScheduleRequest(network, schedule) | start_timer() | LinIf_ScheduleRequest(Channel, Schedule) | LinSM_ScheduleRequestConfirmation(network) | stop_timer() | [schedule=new_schedule]: BswM_LinSM_CurrentSchedule(Network, CurrentSchedule)

Begleitender Spezifikationstext:

R4.1 Rev 3 45 of 52 Document ID 255: AUTOSAR_SWS_LIN_StateManager - AUTOSAR Confidential - 9.3 Schedule switch Figure 7 shows the use-cases of switching the schedule table when the LinSM accepts the request.

Vorkommen in AUTOSAR-Releases (1)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R4.1.3 AUTOSAR_SWS_LINStateManager S. 45 7 Figure 7: Schedule Table switch