DEENESPTFRRUARHIKOZHNL
AUTOSAR_SWS_LINInterface FIG-0ffc415cba2c0896 907 × 1025 px 1 Release(s)

Figure 17: Go-to-sleep command process

SHA-256 Inhalts-Fingerabdruck: 0ffc415cba2c0896fd18b5c4259c3f869c642746962dc093cf0ea46f1790e574
✦ 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_<ChannelId>()
  • 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 periodisch die kanalspezifische Hauptfunktion LinIf_MainFunction_<ChannelId>() auf.
  3. Fallunterscheidung über alt Channel state:
    • Zweig [channel is not in sleep mode]: Die LinIf_MainFunction_<ChannelId>() ruft am Lin-Treiber Lin_GoToSleep(Channel) auf.
    • Zweig [channel is in sleep mode]: Die LinIf_MainFunction_<ChannelId>() ruft am Lin-Treiber Lin_GoToSleepInternal(Channel) auf.
  4. Statusüberprüfung und Quittierung: Bei einem weiteren Aufruf von LinIf_MainFunction_<ChannelId>() 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 bildet das Multi-Channel-Konzept der Basessoftware ab, bei dem Hauptfunktionen kanalspezifisch als LinIf_MainFunction_<ChannelId>() ausgelegt sind. Dies erlaubt eine getrennte zeitliche Planung und Priorisierung einzelner LIN-Kanäle in verschiedenen BSW-Tasks. Die Transceiver-Behandlung bleibt optional (opt Transceiver Driver is supported).

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

R4.2.2 → R4.3.1 normative Änderung Vorgänger: FIG-d9b52040f3c6df7e
  • Hauptfunktion: Sämtliche zyklischen Aufrufe LinIf_MainFunction() der BSW-Task werden kanal-spezifisch durch LinIf_MainFunction_<ChannelId>() ersetzt.

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_<ChannelId>() | LinIf_MainFunction_<ChannelId>() | Lin_GoToSleep(Channel) | LinIf_MainFunction_<ChannelId>() | Lin_GoToSleepInternal(Channel) | LinIf_MainFunction_<ChannelId>() | LinIf_MainFunction_<ChannelId>() | 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.3.1 AUTOSAR_SWS_LINInterface S. 93 17 Figure 17: Go-to-sleep command process