DEENESPTFRRUARHIKOZHNL
AUTOSAR_SWS_LINInterface FIG-800f4599841c569c 898 × 589 px 2 Release(s)

Figure 22: Go-to-sleep process (slave node)

SHA-256 Inhalts-Fingerabdruck: 800f4599841c569cc8d139520981357dc56d50c17c05f14afe611d695da72573
✦ 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

  • Diagrammtyp: UML 2.0 Sequenzdiagramm (Interaktionsdiagramm mit bedingtem Ausführungsrahmen opt).
  • Architektur-Kontext: AUTOSAR Classic Platform, Schichtenmodell der Kommunikationsdienste (Communication Services) und MCAL.
  • Funktionale Einordnung: Spezifikation des geregelten Übergangs in den Schlafzustand (Go-to-sleep process) für einen LIN-Slave-Knoten (AUTOSAR_SWS_LINInterface, Kapitel Channel State Modes). Zeigt das koordinierte Herunterfahren von LIN-Controller und LIN-Transceiver nach Empfang eines Sleep-Befehls oder Erkennung eines Bus-Idle-Zustands.

2. Komponenten, Entitäten & Schnittstellen

  • Akteure / Module (Lebenslinien):
    • «module» LinIf User: Obere Schicht (typischerweise LinSM – LIN State Manager, aggregiert durch BswM/ComM).
    • «module» LinIf: Vermittlungs- und Abstraktionsschicht (AUTOSAR LIN Interface).
    • «module» Lin: MCAL-Treiber (AUTOSAR LIN Driver zur Ansteuerung der On-Chip UART/LIN-Hardware; versehen mit Controller-/Hardware-Multiplizitätssymbol).
    • «module» LinTrcv: MCAL- bzw. BSW-Treiber für externe LIN-Transceiver-Bausteine.
  • Interaktionsrahmen / Operatoren:
    • opt Transceiver Driver is supported: Bedingter Block; wird nur durchlaufen, wenn ein LIN-Transceiver-Treiber im Stack konfiguriert ist (LinIfLinTrcvDriverSupport == TRUE).
  • Schnittstellen & Parameter:
    • <User>_GotoSleepIndication(channel): Callback-Schnittstelle von LinIf an den konfigurierten User (LinSM).
    • LinIf_GotoSleep(Channel): Std_ReturnType: Synchrone Steuerungs-API zur Einleitung des Controller-Schlafmodus.
    • Lin_GoToSleepInternal(Channel): MCAL-Treiberschnittstelle zum lokalen Versetzen der Controller-Hardware in den Low-Power-/Sleep-Modus.
    • SetMode(): Modulinterne Zustandsaktualisierung innerhalb von LinIf.
    • <User>_GotoSleepConfirmation(channel, TRUE): Asynchroner/quittierender Bestätigungs-Callback an den User mit Erfolgsstatus.
    • LinIf_SetTrcvMode(Channel, LINTRCV_TRCV_MODE_SLEEP): Schnittstelle zur Transceiver-Modusumschaltung.
    • LinTrcv_SetOpMode(LinNetwork, LINTRCV_TRCV_MODE_SLEEP): Hardwarenahe API zur Umschaltung des Transceiver-Betriebsmodus.

3. Dynamisches Verhalten & Sequenzablauf

  1. Trigger & Signalisierung (Indication):
    • Die Slave-Hardware detektiert entweder einen Go-To-Sleep-Frame (Master Request Frame mit Identifier 0x3C und erstem Datenbyte 0x00) oder das Ablaufen des Bus-Idle-Timeouts (mindestens 4 bis 10 Sekunden Inaktivität gemäß LIN-Spezifikation).
    • LinIf benachrichtigt die überlagerte Schicht via <User>_GotoSleepIndication(channel).
  2. Kanal-Schlaf-Anforderung:
    • Der LinIf User reagiert mit dem synchronen Aufruf LinIf_GotoSleep(Channel).
  3. Hardware-Controller-Abschaltung:
    • LinIf ruft am LIN-Treiber Lin_GoToSleepInternal(Channel) auf.
    • Wichtig: Da es sich um einen Slave handelt, darf kein Wakeup-/Sleep-Frame auf den Bus gelegt werden; der Treiber deaktiviert lediglich Rx/Tx-Interrupts bzw. versetzt den On-Chip-Controller intern in den energiesparenden Zustand.
  4. Zustandsübergang & Bestätigung:
    • LinIf führt die interne Statusänderung SetMode() auf LINIF_CHANNEL_SLEEP aus.
    • LinIf informiert den User mittels <User>_GotoSleepConfirmation(channel, TRUE) über den erfolgreichen Übergang.
  5. Transceiver-Schlaf-Sequenz (opt):
    • Sofern konfiguriert, fordert LinIf User die Abschaltung des Transceivers über LinIf_SetTrcvMode(Channel, LINTRCV_TRCV_MODE_SLEEP) an.
    • LinIf übersetzt den logischen Channel auf das physikalische LinNetwork und ruft LinTrcv_SetOpMode(LinNetwork, LINTRCV_TRCV_MODE_SLEEP) auf.
    • Der Transceiver wechselt in den Sleep-/Standby-Modus mit aktiver Wake-up-Erkennung (Bus-Monitor aktiv).

4. Normative Relevanz & Entwickler-Hinweise

  • Slave- vs. Master-Semantik: Im Slave-Kontext ist der Aufruf von Lin_GoToSleepInternal() zwingend normativ vorgeschrieben. Die Standard-API Lin_GoToSleep() ist ausschließlich LIN-Mastern vorbehalten, da nur diese autonom Sleep-Frames auf den Bus emittieren dürfen.
  • Zweistufige Entkopplung: LinIf schaltet den Transceiver nach LinIf_GotoSleep() nicht implizit ab. Die Koordination der Transceiver-Modi verbleibt in der Hoheit des LinSM (LinIf User). Erst nach positivem <User>_GotoSleepConfirmation() darf der Transceiver in den Schlafmodus versetzt werden, um fehlerhafte Busflanken oder unvollständige Controller-Abschaltungen zu verhindern.
  • Kanal- und Netzwerk-Mapping: Konfiguratoren müssen sicherstellen, dass die Zuordnung zwischen LinIfChannel und LinTrcv-Instanz (LinNetwork) in der BSW-Konfiguration konsistent hinterlegt ist (LinIfChannelId zu LinIfTrcvId).
  • Wake-up-Pfad-Vorbereitung: Durch das Setzen von LINTRCV_TRCV_MODE_SLEEP wird der Transceiver so parametriert, dass nachfolgende dominante Impulse auf dem Bus als externes Wake-up-Ereignis via ICU/EcuM verarbeitet werden können.

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

R19-11 → R20-11 keine inhaltliche Änderung Nachfolger: FIG-8a1a30fdcb6095ed

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 | «module» | LinTrcv | «module» | LinIf User | opt Transceiver Driver is supported | LinIf_SetTrcvMode(Channel, LINTRCV_TRCV_MODE_SLEEP) | SetMode() | LinIf_GotoSleep(Channel): Std_ReturnType | Lin_GoToSleepInternal(Channel) | LinTrcv_SetOpMode(LinNetwork, LINTRCV_TRCV_MODE_SLEEP) | <User>_GotoSleepConfirmation(channel, TRUE) | <User>_GotoSleepIndication(channel)

Begleitender Spezifikationstext:

This use case in Figure 22 shows the execution of the sleep transition, either caused by reception of a go-to-sleep command or by the detection of a bus idle condition.

Vorkommen in AUTOSAR-Releases (2)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R18-10_R4.4.0_R1.5.0 AUTOSAR_SWS_LINInterface S. 127 22 Figure 22: Go-to-sleep process (slave node)
R19-11 AUTOSAR_SWS_LINInterface S. 135 22 Figure 22: Go-to-sleep process (slave node)