DEENESPTFRRUARHIKOZHNL
AUTOSAR_SWS_LINInterface FIG-7c52c88888e8bb6e 909 × 1163 px 1 Release(s)

Figure 17: Go-to-sleep command process

SHA-256 Inhalts-Fingerabdruck: 7c52c88888e8bb6ed89c7b9c1231314ab387be899b1be71ba7f8f47c7bbf0876
✦ 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 einem generischen LinIf-Nutzer (LinIf User), 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» LinIf User: Generischer oberer Nutzer des LIN Interface (z. B. LinSM).
  • «module» LinIf: LIN Interface (Schnittstellenmodul).
  • «module» Lin: LIN Driver (MCAL), markiert mit Mehrfachinstanz-Symbol.
  • «module» LinTrcv: LIN Transceiver Driver (MCAL).

Schnittstellen und Nachrichten:

  • LinIf_GotoSleep(Channel) : Std_ReturnType
  • LinIf_MainFunction()
  • Lin_GoToSleep(Channel)
  • Lin_GoToSleepInternal(Channel)
  • Lin_GetStatus(Channel, Lin_SduPtr) : Lin_StatusType
  • Returnwert Lin_GetStatus(): LIN_CH_SLEEP
  • Lokale Operation: SetMode()
  • <User>_GotoSleepConfirmation(channel, TRUE)
  • LinIf_SetTrcvMode(Channel, LINTRCV_TRCV_MODE_SLEEP)
  • LinTrcv_SetOpMode(LinNetwork, LINTRCV_TRCV_MODE_SLEEP)

3. Dynamisches Verhalten & Sequenzablauf

  1. Einleitung des Schlafmodus: Der LinIf User ruft synchron LinIf_GotoSleep(Channel) am LinIf auf, welches mit Std_ReturnType antwortet.
  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 Lin_GoToSleep(Channel) auf.
    • Zweig [channel is in sleep mode]: Die LinIf_MainFunction() ruft am Lin-Treiber 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 meldet den Erfolg über <User>_GotoSleepConfirmation(channel, TRUE) an den LinIf User.
  5. Transceiver-Abschaltung: Innerhalb des bedingten Abschnitts opt Transceiver Driver is supported ruft der LinIf User daraufhin LinIf_SetTrcvMode(Channel, LINTRCV_TRCV_MODE_SLEEP) auf. LinIf delegiert den Aufruf synchron via LinTrcv_SetOpMode(LinNetwork, LINTRCV_TRCV_MODE_SLEEP) an den Treiber LinTrcv.

4. Normative Relevanz & Entwickler-Hinweise

Die Sequenz entkoppelt die obere Softwareschicht abstrakt als LinIf User von spezifischen Zustandsmanagern. Die Transceiver-Ansteuerung ist optional ausgeführt (opt Transceiver Driver is supported), sodass Systeme ohne separaten Transceiver-Treiber konform bleiben. Der Aufruf von LinIf_SetTrcvMode erfolgt erst nach erfolgreichem Bestätigungs-Callback <User>_GotoSleepConfirmation.

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

R4.0.3 → R4.1.3 normative Änderung Vorgänger: FIG-51b4cb14f4361f7b
  • 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.
R4.1.3 → R4.2.2 keine inhaltliche Änderung Nachfolger: FIG-d9b52040f3c6df7e

Keine inhaltlichen Änderungen erkennbar.

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» | LinTrcv | «module» | LinIf User | alt Channel state | [channel is not in sleep mode] | [channel is in sleep mode] | opt Transceiver Driver is supported | LinIf_GotoSleep(Channel) : Std_ReturnType | LinIf_MainFunction() | LinIf_MainFunction() Lin_GoToSleep(Channel) | LinIf_MainFunction() | Lin_GoToSleepInternal(Channel) | LinIf_MainFunction() | LinIf_MainFunction() | Lin_GetStatus(Channel, Lin_SduPtr) :Lin_StatusType | Lin_GetStatus() :LIN_CH_SLEEP | SetMode() | <User>_GotoSleepConfirmation(channel, TRUE) | LinIf_SetTrcvMode(Channel, LINTRCV_TRCV_MODE_SLEEP) LinTrcv_SetOpMode(LinNetwork, LINTRCV_TRCV_MODE_SLEEP)

Vorkommen in AUTOSAR-Releases (1)

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