AUTOSAR_CP_SWS_LINTransceiverDriver
FIG-b61ebea53d80974a
839 × 765 px
1 Release(s)
Figure 7.1: LIN Transceiver Operation Modes
SHA-256 Inhalts-Fingerabdruck:
b61ebea53d80974a333ded9e61119bdea92eb0ea4a9547e595970c1857d14a24
✦
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
- Klassifikation: UML-Zustandsdiagramm (State Machine / Statechart) mit hierarchisch geschachtelten Zuständen (Composite States) und expliziter Trennung von Hardware-Power-Ebene und Software-Treiberzuständen.
- Architektur-Kontext:
- Plattform: AUTOSAR Classic Platform (CP), Release R23-11.
- Schicht: Basic Software (BSW), Microcontroller Abstraction Layer (MCAL) bzw. On-Board Device Abstraction.
- Modul:
LinTrcv(LIN Transceiver Driver, gemäßAUTOSAR_CP_SWS_LINTransceiverDriver). - Funktionaler Zweck: Deterministische Modellierung des Power- und Betriebsmodus-Managements der physikalischen LIN-Transceiver-Kanäle zur Entkopplung des oberen Kommunikations-Stacks (
LinIf,BswM,EcuM) von der spezifischen Transceiver-Hardware (GPIO/SPI-Ansteuerung).
2. Komponenten, Entitäten & Schnittstellen
- Hierarchische Zustände & Entitäten:
- Power-Ebene:
- Initialer Pseudozustand
Power On(Spannungszufuhr aktiv). - Final State
Power Off(vollständiger Spannungsverlust / Hardware-Reset). - Composite State
POWER_ON: Repräsentiert das Anliegen von Versorgungsspannung (V_BAT / V_CC).
- Initialer Pseudozustand
- Treiber-Ebene (innerhalb
POWER_ON):- Subzustand
NOT_ACTIVE: Zustand nach Power-On vor Aufruf der BSW-Initialisierungsroutine (Treiberinstanz uninitialisiert). - Composite State
ACTIVE: Vollständig initialisierter Treiber mit steuerbaren Betriebsmodi.
- Subzustand
- Transceiver-Betriebszustände (innerhalb
ACTIVE, DatentypLinTrcv_TrcvModeType):LINTRCV_TRCV_MODE_SLEEP: Niedrigststrom-Modus. Bus-Transmitter und Empfänger-Ausgangsstufe sind deaktiviert; Bus-Wake-up-Erkennung (WUF / Wake-Up Frame Detection) ist hardwareseitig scharfgeschaltet.LINTRCV_TRCV_MODE_NORMAL: Voll funktionsfähiger Sende- und Empfangsmodus. Transceiver treibt Rezessiv-/Dominant-Pegel und leitet Rx-Signale an den UART/LIN-Controller weiter.LINTRCV_TRCV_MODE_STANDBY: Optionaler Zwischen- bzw. Low-Power-Zustand (hardwareabhängig; typisch bei lokalem Wake-up oder zur Vorbereitung eines geordneten Einschwingvorgangs; Tx inaktiv, Rx/Wake-up aktiv).
- Power-Ebene:
- Schnittstellen & APIs (SWS-Signaturen):
LinTrcv_Init(const LinTrcv_ConfigType* ConfigPtr): Synchroner Treibereinstieg.LinTrcv_SetOpMode(uint8 LinNetwork, LinTrcv_TrcvModeType OpMode): Synchrone Modus-Umschaltung je Netzwerk-/Kanal-Index (im Diagramm parametrisiert notiert alsLinTrcvSetOpMode(...)).
- Kollaborierende BSW-Module:
LinIf(LIN Interface): Exklusiver Aufrufer vonLinTrcv_SetOpModezur Laufzeit.EcuM/BswM: Initialisierung viaLinTrcv_Initund Koordination des Bus-Wakeup-Managements.
3. Dynamisches Verhalten & Sequenzablauf
- Kaltstart & Initialisierungssequenz:
- Power-On: Übergang
[Power On]→POWER_ON::NOT_ACTIVE. - Treiber-Initialisierung:
LinTrcv_Init()triggert den Zustandsübergang vonNOT_ACTIVEnachACTIVE::LINTRCV_TRCV_MODE_SLEEP. - Normative Vorgabe (
SWS_LinTrcv_00055,SRS_Lin_01566): NachLinTrcv_Init()befindet sich jeder konfigurierte Kanal zwingend und deterministisch im ModusLINTRCV_TRCV_MODE_SLEEP(nicht in Normal oder Standby).
- Power-On: Übergang
- Betriebsmodus-Übergänge im Zustand
ACTIVE:- Aktivierung (
SLEEP→NORMAL):- Direkter Pfad: Aufruf
LinTrcv_SetOpMode(LinNetwork, LINTRCV_TRCV_MODE_NORMAL). - Alternativer Pfad (sofern Hardware Standby unterstützt): Über
LINTRCV_TRCV_MODE_STANDBYviaLinTrcv_SetOpMode(LinNetwork, LINTRCV_TRCV_MODE_STANDBY)und anschließendLINTRCV_TRCV_MODE_NORMAL.
- Direkter Pfad: Aufruf
- Deaktivierung (
NORMAL→SLEEP):- Direkter Pfad: Aufruf
LinTrcv_SetOpMode(LinNetwork, LINTRCV_TRCV_MODE_SLEEP). - Alternativer Pfad: Über
LINTRCV_TRCV_MODE_STANDBYnachLINTRCV_TRCV_MODE_SLEEP.
- Direkter Pfad: Aufruf
- Optionale Standby-Übergänge (
SRS_Lin_01524,SRS_Can_01098):- Alle Transitionen mit Beteiligung von
LINTRCV_TRCV_MODE_STANDBYsind mitoptionalannotiert. Sie sind nur dann zulässig und aktiv, wenn der zugrundeliegende Transceiver-Baustein einen dezidierten Standby-Pin oder Registermodus besitzt.
- Alle Transitionen mit Beteiligung von
- Aktivierung (
- Power-Off / Spannungsabfall:
- Tritt zu jedem Zeitpunkt bei Spannungsverlust aus dem Zustand
POWER_ONüber[Power Off]in den EndzustandPower Offauf.
- Tritt zu jedem Zeitpunkt bei Spannungsverlust aus dem Zustand
- Fehler- und Ausnahmepfade:
- Wird
LinTrcv_SetOpModeim ZustandNOT_ACTIVEaufgerufen, bricht der Treiber die Anfrage synchron ab (E_NOT_OK) und meldet einen Entwicklungsfehler an das DET (LINTRCV_E_UNINIT). - Die Anforderung eines nicht-unterstützten Modus (z. B.
STANDBYbei 2-Pin-Transceivern ohne Standby-Funktionalität) wird synchron mitE_NOT_OK/LINTRCV_E_PARAM_POINTERbzw. ungültigem Modus-Parameter abgewiesen.
- Wird
4. Normative Relevanz & Entwickler-Hinweise
- Start-up & Kommunikationsaufnahme: Da der Transceiver nach
LinTrcv_Init()zwingend im Sleep-Zustand verbleibt, kann keine Übertragung erfolgen, bevor dasLinIfdie Umschaltung nachLINTRCV_TRCV_MODE_NORMALviaLinTrcv_SetOpMode()erfolgreich durchgeführt hat. - Hardware-Einschwingzeiten (t_mode_change):
- Umschaltungen zwischen
SLEEP/STANDBYundNORMALsind an hardwarebedingte Übergangs- und Stabilisierungszeiten gebunden (z. B. Hochlaufen der internen Ladungspumpe / Bias-Spannungen, typisch $10\,\mu\text{s}$ bis $100\,\mu\text{s}$). - Treiber-Entwickler müssen sicherstellen, dass die Pegelstabilisierung entweder synchron blockierend (nur bei Kleinstzeiten zulässig) oder über den Verifikationsaufruf
LinTrcv_GetOpMode()abgesichert wird, bevor das LIN-Interface Bits auf den Bus treibt.
- Umschaltungen zwischen
- Wake-up Validierung & Routing:
- Im Zustand
LINTRCV_TRCV_MODE_SLEEPfungiert der Transceiver als Wake-up-Quelle (EcuM-Wakeup-Source). Der Treiber muss Interrupt- bzw. Pin-Ereignisse anEcuM_SetWakeupEvent()propagieren.
- Im Zustand
- Architektur-Isolation:
- Software Components (SWCs) dürfen
LinTrcv-APIs unter keinen Umständen direkt aufrufen. Die Mode-Transitions-Kette verläuft streng hierarchisch:SWC / Applikation→BswM→LinIf→LinTrcv.
- Software Components (SWCs) dürfen
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.