DEENESPTFRRUARHIKOZHNL
AUTOSAR_SWS_LINInterface FIG-51b4cb14f4361f7b 917 × 1175 px 1 Release(s)

Figure 17: Go-to-sleep command process

SHA-256 Inhalts-Fingerabdruck: 51b4cb14f4361f7b0c9fe8c0b20dd5f175afc21afc3dc8b347d5c4e2bbf52d3a
✦ 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

UML-Sequenzdiagramm zur Spezifikation des Go-To-Sleep-Ablaufs (Übergang in den Schlafmodus) im Kommunikations-Stack der AUTOSAR Classic Platform. Das Diagramm zeigt die Interaktion zwischen dem Communication Manager (ComM), dem LIN State Manager (LinSM), der LIN-Schnittstelle (LinIf), dem LIN-Treiber (Lin) und dem LIN-Transceiver-Treiber (LinTrcv), gesteuert durch periodische Aufrufe einer Basessoftware-Task (BSW Task).

2. Komponenten, Entitäten & Schnittstellen

Beteiligte Entitäten und Lebenslinien:

  • BSW Task (OS task or cyclic call): Zyklischer Task-Kontext zur periodischen Ausführung der Hauptfunktionen.
  • «module» ComM: Kommunikationsmanager, fordert Kommunikationsmodi an.
  • «module» LinSM: LIN State Manager, koordiniert LIN-Zustände.
  • «module» LinIf: LIN Interface (Schnittstellenmodul).
  • «module» Lin: LIN Driver (MCAL), markiert mit Dekonstruktions-/Mehrfachinstanz-Symbol.
  • «module» LinTrcv: LIN Transceiver Driver (MCAL).

Schnittstellen und Nachrichten:

  • LinSM_RequestComMode(channel, COMM_NO_COMMUNICATION) : Std_ReturnType
  • LinIf_GotoSleep(Channel) : Std_ReturnType
  • LinIf_MainFunction()
  • Lin_GoToSleep(Channel) : Std_ReturnType
  • Lin_GoToSleepInternal(Channel) : Std_ReturnType
  • Lin_GetStatus(Channel, Lin_SduPtr) : Lin_StatusType
  • Returnwert Lin_GetStatus(): LIN_CH_SLEEP
  • Lokale Operation: SetMode()
  • LinSM_GotoSleepConfirmation(network, TRUE)
  • LinIf_SetTrcvMode(Channel, LINTRCV_TRCV_MODE_SLEEP)
  • LinTrcv_SetOpMode(LinNetwork, LINTRCV_TRCV_MODE_SLEEP) : Std_ReturnType

3. Dynamisches Verhalten & Sequenzablauf

  1. Einleitung des Schlafmodus: ComM ruft synchron LinSM_RequestComMode(channel, COMM_NO_COMMUNICATION) am LinSM auf. Dieser delegiert die Anforderung synchron mittels LinIf_GotoSleep(Channel) an das LinIf, welches den Aufruf mit Std_ReturnType bestätigt.
  2. Zyklische Abarbeitung über BSW Task: Die BSW-Task ruft zyklisch LinIf_MainFunction() auf.
  3. Fallunterscheidung über alt Channel state:
    • Zweig [channel is not in sleep mode]: Die LinIf_MainFunction() ruft am Lin-Treiber synchron Lin_GoToSleep(Channel) auf.
    • Zweig [channel is in sleep mode]: Die LinIf_MainFunction() ruft am Lin-Treiber synchron Lin_GoToSleepInternal(Channel) auf.
  4. Statusüberprüfung und Quittierung: Bei einem weiteren Aufruf von LinIf_MainFunction() fragt LinIf mittels Lin_GetStatus(Channel, Lin_SduPtr) den Treiberstatus ab. Nach Erhalt des Status LIN_CH_SLEEP führt LinIf intern SetMode() aus und sendet die asynchrone Bestätigung LinSM_GotoSleepConfirmation(network, TRUE) an den LinSM.
  5. Transceiver-Abschaltung: LinSM stößt die Umschaltung des Transceivers über LinIf_SetTrcvMode(Channel, LINTRCV_TRCV_MODE_SLEEP) an. LinIf leitet dies synchron als LinTrcv_SetOpMode(LinNetwork, LINTRCV_TRCV_MODE_SLEEP) an das Modul LinTrcv weiter.

4. Normative Relevanz & Entwickler-Hinweise

Die Sequenz definiert das standardisierte synchrone und asynchrone Zusammenspiel zwischen LinSM, LinIf, Lin und LinTrcv beim Herunterfahren eines LIN-Kanals. Die eigentliche Zustandsüberprüfung im Treiber und die Kanalstilllegung erfolgen entkoppelt über die zyklische LinIf_MainFunction(). Transceiver-Zustandswechsel erfolgen erst nach Bestätigung des Schlafzustands durch das Lin-Treibermodul. Der Rückgabewert LIN_CH_SLEEP signalisiert den erfolgreichen Abschluss des Schlafzustandsübergangs auf Busebene.

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

R4.0.3 → R4.1.3 normative Änderung Nachfolger: FIG-7c52c88888e8bb6e
  • Lebenslinien/Module: Die separaten Lebenslinien für «module» ComM und «module» LinSM sowie der initiale Aufruf LinSM_RequestComMode(channel, COMM_NO_COMMUNICATION) : Std_ReturnType entfallen; stattdessen agiert ein generischer «module» LinIf User.
  • Bestätigungs-Callback: LinSM_GotoSleepConfirmation(network, TRUE) wird durch <User>_GotoSleepConfirmation(channel, TRUE) ersetzt (Änderung des Empfängers und des Parameter-Typs von network zu channel).
  • Transceiver-Ansteuerung: Der Ablauf für das Umschalten des Transceiver-Modus (LinIf_SetTrcvMode und LinTrcv_SetOpMode) wird in ein eigenes Bedingungsfragment opt Transceiver Driver is supported gekapselt und geht vom LinIf User aus, nachdem die Bestätigung empfangen wurde.
  • Rückgabetypen/Signaturen: Bei Lin_GoToSleep(Channel), Lin_GoToSleepInternal(Channel) und LinTrcv_SetOpMode(...) entfallen die explizit annotierten :Std_ReturnType-Rückgabetypen im Diagramm.

Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Aus dem Dokument extrahierter Text & Kontext

Beschriftungen im Schaubild:

«module» | Lin | «module» | LinIf | BSW Task (OS task | or cyclic call) | «module» | LinSM | «module» | ComM | «module» | LinTrcv | alt Channel state | [channel is not in sleep mode] | [channel is in sleep mode] | LinSM_RequestComMode(channel, COMM_NO_COMMUNICATION) : Std_ReturnType | LinIf_GotoSleep(Channel) :Std_ReturnType | LinIf_MainFunction() | LinIf_MainFunction() Lin_GoToSleep(Channel) :Std_ReturnType | LinIf_MainFunction() | Lin_GoToSleepInternal(Channel) :Std_ReturnType | LinIf_MainFunction() | LinIf_MainFunction() | Lin_GetStatus(Channel, Lin_SduPtr) : Lin_StatusType | Lin_GetStatus() :LIN_CH_SLEEP | SetMode() | LinSM_GotoSleepConfirmation(network, TRUE) | LinIf_SetTrcvMode(Channel, LINTRCV_TRCV_MODE_SLEEP) | LinTrcv_SetOpMode(LinNetwork, LINTRCV_TRCV_MODE_SLEEP) :Std_ReturnType

Vorkommen in AUTOSAR-Releases (1)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R4.0.3 AUTOSAR_SWS_LINInterface S. 99 17 Figure 17: Go-to-sleep command process