DEENESPTFRRUARHIKOZHNL
AUTOSAR_CP_SWS_LINInterface FIG-675ebdffed2e767c 827 × 543 px 1 Release(s)

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

SHA-256 Inhalts-Fingerabdruck: 675ebdffed2e767c61a59e13a5c14801dfb4db60ab88af79df40c4b29b29d36c
✦ 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

  • 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 & Aufrufe (vereinfachte Signaturen ohne Kanal- und Rückgabetyp-Angaben):
    • <User>_GotoSleepIndication(): Callback-Schnittstelle von LinIf an den konfigurierten User (LinSM).
    • LinIf_GotoSleep(): Synchrone Steuerungs-API zur Einleitung des Controller-Schlafmodus.
    • Lin_GoToSleepInternal(): MCAL-Treiberschnittstelle zum lokalen Versetzen der Controller-Hardware in den Low-Power-/Sleep-Modus.
    • SetMode(): Modulinterne Zustandsaktualisierung innerhalb von LinIf.
    • <User>_GotoSleepConfirmation(): Asynchroner/quittierender Bestätigungs-Callback an den User.
    • LinIf_SetTrcvMode(LINTRCV_TRCV_MODE_SLEEP): Schnittstelle zur Transceiver-Modusumschaltung mit Modusparameter.
    • LinTrcv_SetOpMode(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.
    • LinIf benachrichtigt die überlagerte Schicht via <User>_GotoSleepIndication().
  2. Kanal-Schlaf-Anforderung:
    • Der LinIf User reagiert mit dem synchronen Aufruf LinIf_GotoSleep().
  3. Hardware-Controller-Abschaltung:
    • LinIf ruft am LIN-Treiber Lin_GoToSleepInternal() auf.
    • Da es sich um einen Slave handelt, darf kein Wakeup-/Sleep-Frame auf den Bus gelegt werden; der Treiber versetzt den On-Chip-Controller lokal 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() über den Übergang.
  5. Transceiver-Schlaf-Sequenz (opt Transceiver Driver is supported):
    • Sofern konfiguriert, fordert LinIf User die Umschaltung des Transceivers über LinIf_SetTrcvMode(LINTRCV_TRCV_MODE_SLEEP) an.
    • LinIf delegiert die Anforderung an den Transceiver-Treiber via LinTrcv_SetOpMode(LINTRCV_TRCV_MODE_SLEEP).
    • Die Aufrufkette kehrt synchron zurück, womit der Schlafzustand für Controller und Transceiver eingenommen ist.

4. Normative Relevanz & Entwickler-Hinweise

  • Normative Verbindlichkeit: Das Diagramm spezifiziert die Reihenfolge bei der Schlafeinleitung eines LIN-Slave-Knotens. Das lokale Versetzen der Controller-Hardware in den Ruhezustand via Lin_GoToSleepInternal geht der Bestätigung <User>_GotoSleepConfirmation voraus.
  • Slave-Spezifischer Unterschied zum Master: Im Gegensatz zum LIN-Master (Lin_GoToSleep) sendet der Slave keinen Bus-Frame, sondern verwendet Lin_GoToSleepInternal, um lokale Controller-Ressourcen stromsparend zu schalten.
  • Abstraktion von Kanalparametern: In dieser Fassung wurden formale Kanalparameter (Channel, channel, LinNetwork) sowie der Rückgabetyp : Std_ReturnType aus den Operationssignaturen entfernt; die semantische Zuordnung zu Kanälen und Rückgabewerten erfolgt über die textuelle API-Spezifikation.
  • Transceiver-Entkopplung: Die Umschaltung des Transceivers erfolgt unabhängig und nachgelagert zur Controller-Abschaltung durch den User innerhalb des optionalen Ausführungsrahmens opt.

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

R24-11 → R25-11 keine inhaltliche Änderung Vorgänger: FIG-9c3d9ab0cbfea8d2

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 | LinTrcv_SetOpMode(LINTRCV_TRCV_MODE_SLEEP) | SetMode() | <User>_GotoSleepConfirmation() | LinIf_GotoSleep() | Lin_GoToSleepInternal() | LinIf_SetTrcvMode(LINTRCV_TRCV_MODE_SLEEP) | <User>_GotoSleepIndication()

Begleitender Spezifikationstext:

Specification of LIN Interface AUTOSAR CP R25-11 9.8.2 Go to sleep process in slave nodes This section is only applicable to LIN slave nodes. This use case in Figure 9.16 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. «module» Lin «module» LinIf «module» LinTrcv «module» LinIf User opt Transceiver Driver is supported LinTrcv_SetOpMode(LINTRCV_TRCV_MODE_SLEEP) SetMode() <User>_GotoSleepConfirmation() LinIf_GotoSleep() Lin_GoToSleepInternal() LinIf_SetTrcvMode(LINTRCV_TRCV_MODE_SLEEP) <User>_GotoSleepIndication() Figure 9.16: Go-to-sleep process (slave node) 137 of 199 Document ID 73: AUTOSAR_CP_SWS_LINInterface

Vorkommen in AUTOSAR-Releases (1)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R25-11 AUTOSAR_CP_SWS_LINInterface S. 137 9.16 Figure 9.16: Go-to-sleep process (slave node)