DEENESPTFRRUARHIKOZHNL
AUTOSAR_SWS_LINStateManager FIG-b5e54e9f13448139 888 × 1011 px 2 Release(s)

Figure 4: LinSM State Machine (master node)

SHA-256 Inhalts-Fingerabdruck: b5e54e9f1344813981b0906007b83c35a5594bbad6a4a40a6044ed1c9b2056ec
✦ 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: Hierarchisches UML-Zustandsdiagramm (State Machine Diagram / Statechart) nach AUTOSAR-SWS-Metamodell.
  • Architektur-Kontext: Spezifiziert das operative Zustands- und Modusverhalten des BSW-Moduls LinSM (LIN State Manager, AUTOSAR Communication Services) für Master-Knoten (master node).
  • Funktionaler Zweck:
    • Koordination der Kommunikationsmodi (NO_COM, FULL_COM) je LIN-Cluster auf Anforderung des ComM (Communication Manager) bzw. BswM (Basic Software Mode Manager).
    • Steuerung des asynchronen Schedule-Table-Wechsels und des Bus-Schlafzustands über die Abstraktionsschicht LinIf (LIN Interface).

2. Komponenten, Entitäten & Schnittstellen

  • Globale Modulzustände:
    • LINSM_UNINIT: Modul nach Reset uninitialisiert; keine API-Aufrufe zulässig außer LinSM_Init.
    • LINSM_INIT: Modul ist initialisiert. Umfasst als hierarchischer Oberzustand (Composite State) die netzwerkspezifischen Instanzen.
  • Kanalbezogene Zustände (Kardinalität 1..n via Pseudo-State For each LIN network):
    • LINSM_NO_COM: Bus befindet sich im Sleep-Zustand; keine Kommunikation aktiv.
    • LINSM_FULL_COM: Zusammengesetzter Zustand für aktive Kommunikation.
      • Subzustand LINSM_RUN_COMMUNICATION: Reguläre Master-Kommunikation; Schedule-Tables werden abgearbeitet.
      • Subzustand LINSM_GOTO_SLEEP: Transitorischer Wartezustand während des asynchronen Herunterfahrens/Sleep-Frame-Versands.
  • Schnittstellen & Interaktionspartner:
    • Obere Schicht (ComM / BswM): Modusanforderungen gesteuert über interne Zustandsvariable reqComMode (NO_COM, FULL_COM).
    • Untere Schicht (LinIf - synchrone Steuer-APIs): LinIf_GotoSleep(), LinIf_ScheduleRequest().
    • Untere Schicht (LinIf - asynchrone Callbacks / Triggers): LinSM_WakeupConfirmation(), LinSM_ScheduleRequestConfirmation(), LinSM_GotoSleepConfirmation().
    • Initialisierungs-API: LinSM_Init().
  • Guard-Bedingungen & Timer-Ressourcen:
    • Guards: [reqComMode==FULL_COM], [reqComMode==NO_COM && LinIf_GotoSleep()==E_OK].
    • Interne Ressourcen: Überwachungstimer (Start timer, parametriert via LinSMConfirmationTimeout).

3. Dynamisches Verhalten & Sequenzablauf

  1. Modul-Initialisierung:
    • Transition von LINSM_UNINIT nach LINSM_INIT synchron durch Aufruf von LinSM_Init.
    • Für jeden konfigurierten LIN-Kanal wechselt der Subautomat initial in LINSM_NO_COM.
  2. Aufwecken / Übergang nach LINSM_FULL_COM:
    • Nach Anforderung des Vollkommunikationsmodus (reqComMode == FULL_COM) und erfolgreichem Wake-up auf dem Bus meldet das LinIf das Ereignis über LinSM_WakeupConfirmation.
    • Bei erfülltem Guard [reqComMode==FULL_COM] erfolgt der Zustandsübergang in den Composite State LINSM_FULL_COM, der direkt den Default-Subzustand LINSM_RUN_COMMUNICATION aktiviert.
  3. Schedule-Table-Management (LINSM_RUN_COMMUNICATION):
    • Trigger LinSM_ScheduleRequest: Löst den synchronen Aufruf LinIf_ScheduleRequest() aus und startet den Bestätigungstimer (Start timer).
    • Asynchrone Bestätigung: LinSM_ScheduleRequestConfirmation signalisiert die erfolgreiche Übernahme der Schedule-Tabelle durch den LIN-Treiber und schließt die Transition per Self-Transition ab (Timer-Stopp/Quittierung an BswM).
  4. Schlafphasen-Einleitung (LINSM_RUN_COMMUNICATION → LINSM_GOTO_SLEEP):
    • Trigger/Guard: reqComMode == NO_COM liegt vor und der synchrone Aufruf LinIf_GotoSleep() liefert E_OK.
    • Aktion: Starten des Bestätigungstimers (Start timer), Übergang in den Zwischenzustand LINSM_GOTO_SLEEP.
  5. Abschluss des Sleep-Übergangs (LINSM_GOTO_SLEEP → LINSM_NO_COM):
    • Das LinIf meldet nach erfolgreichem Versand des Go-To-Sleep-Frames bzw. Ablauf der Bus-Ruhezeit LinSM_GotoSleepConfirmation.
    • Trigger schaltet die Kanalinstanz zurück in LINSM_NO_COM.

4. Normative Relevanz & Entwickler-Hinweise

  • Asynchrone Entkopplung: Zustandsübergänge zwischen Kommunikationsmodi erfolgen niemals rein synchron. Ein synchroner Aufruf (z. B. LinIf_GotoSleep() == E_OK) berechtigt nur zum Wechsel in den Wartezustand (LINSM_GOTO_SLEEP); erst der asynchrone Callback vollendet den Moduswechsel.
  • Kanalunabhängigkeit: Die Zustände LINSM_NO_COM und LINSM_FULL_COM sind channel-spezifisch (NetworkHandleType). Bei Multi-Channel-Derivaten laufen die Subautomaten vollständig unabhängig voneinander.
  • Timeout-Handhabung (LinSMConfirmationTimeout):
    • Bleibt ein Callback (LinSM_GotoSleepConfirmation oder LinSM_ScheduleRequestConfirmation) aus, läuft der gestartete Timer ab.
    • Entwickler müssen das normativ geforderte Timeout-Verhalten (Fehlermeldung via Det_ReportRuntimeError bzw. Dem_SetEventStatus sowie Fehler-Rückfallpfad) im Modul konfigurieren und behandeln.
  • Schedule-Request-Serialisierung: Während ein Schedule-Request unbestätigt ist (Timer läuft), dürfen nachfolgende Requests nicht zu undefinierten Zuständen im LinIf führen; das Modul muss Re-Entranz-Konflikte oder Pufferungen gemäß SWS absichern.

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

R19-11 → R20-11 keine inhaltliche Änderung Nachfolger: FIG-7646e50bf4a42ee6

Keine inhaltlichen Änderungen erkennbar.

Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Aus dem Dokument extrahierter Text & Kontext

Beschriftungen im Schaubild:

LINSM_UNINIT | LINSM_INIT | LINSM_NO_COM | LINSM_FULL_COM | LINSM_RUN_COMMUNICATION | LINSM_GOTO_SLEEP | [reqComMode==NO_COM && LinIf_GotoSleep()==E_OK] /Start timer | LinSM_ScheduleRequest /LinIf_ScheduleRequest Start timer | LinSM_ScheduleRequestConfirmation | LinSM_WakeupConfirmation [reqComMode==FULL_COM] | For each LIN network | LinSM_GotoSleepConfirmation | LinSM_Init

Vorkommen in AUTOSAR-Releases (2)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R18-10_R4.4.0_R1.5.0 AUTOSAR_SWS_LINStateManager S. 21 4 Figure 4: LinSM State Machine (master node)
R19-11 AUTOSAR_SWS_LINStateManager S. 21 4 Figure 4: LinSM State Machine (master node)