AUTOSAR_SWS_LINInterface
FIG-8a1a30fdcb6095ed
897 × 589 px
1 Release(s)
Figure 22: Go-to-sleep process (slave node)
SHA-256 Inhalts-Fingerabdruck:
8a1a30fdcb6095edcd187b463f056f854190f4597e100c0a2b60fccb731e901b
✦
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 (typischerweiseLinSM– LIN State Manager, aggregiert durchBswM/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 vonLinIfan 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 vonLinIf.<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
- Trigger & Signalisierung (Indication):
- Die Slave-Hardware detektiert entweder einen Go-To-Sleep-Frame (Master Request Frame mit Identifier
0x3Cund erstem Datenbyte0x00) oder das Ablaufen des Bus-Idle-Timeouts (mindestens 4 bis 10 Sekunden Inaktivität gemäß LIN-Spezifikation). LinIfbenachrichtigt die überlagerte Schicht via<User>_GotoSleepIndication(channel).
- Die Slave-Hardware detektiert entweder einen Go-To-Sleep-Frame (Master Request Frame mit Identifier
- Kanal-Schlaf-Anforderung:
- Der
LinIf Userreagiert mit dem synchronen AufrufLinIf_GotoSleep(Channel).
- Der
- Hardware-Controller-Abschaltung:
LinIfruft am LIN-TreiberLin_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.
- Zustandsübergang & Bestätigung:
LinIfführt die interne StatusänderungSetMode()aufLINIF_CHANNEL_SLEEPaus.LinIfinformiert den User mittels<User>_GotoSleepConfirmation(channel, TRUE)über den erfolgreichen Übergang.
- Transceiver-Schlaf-Sequenz (
opt):- Sofern konfiguriert, fordert
LinIf Userdie Abschaltung des Transceivers überLinIf_SetTrcvMode(Channel, LINTRCV_TRCV_MODE_SLEEP)an. LinIfübersetzt den logischenChannelauf das physikalischeLinNetworkund ruftLinTrcv_SetOpMode(LinNetwork, LINTRCV_TRCV_MODE_SLEEP)auf.- Der Transceiver wechselt in den Sleep-/Standby-Modus mit aktiver Wake-up-Erkennung (Bus-Monitor aktiv).
- Sofern konfiguriert, fordert
4. Normative Relevanz & Entwickler-Hinweise
- Slave- vs. Master-Semantik: Im Slave-Kontext ist der Aufruf von
Lin_GoToSleepInternal()zwingend normativ vorgeschrieben. Die Standard-APILin_GoToSleep()ist ausschließlich LIN-Mastern vorbehalten, da nur diese autonom Sleep-Frames auf den Bus emittieren dürfen. - Zweistufige Entkopplung:
LinIfschaltet den Transceiver nachLinIf_GotoSleep()nicht implizit ab. Die Koordination der Transceiver-Modi verbleibt in der Hoheit desLinSM(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
LinIfChannelundLinTrcv-Instanz (LinNetwork) in der BSW-Konfiguration konsistent hinterlegt ist (LinIfChannelIdzuLinIfTrcvId). - Wake-up-Pfad-Vorbereitung: Durch das Setzen von
LINTRCV_TRCV_MODE_SLEEPwird der Transceiver so parametriert, dass nachfolgende dominante Impulse auf dem Bus als externes Wake-up-Ereignis via ICU/EcuM verarbeitet werden können.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.