DEENESPTFRRUARHIKOZHNL
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).
    • 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.
    • Transceiver-Betriebszustände (innerhalb ACTIVE, Datentyp LinTrcv_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).
  • 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 als LinTrcvSetOpMode(...)).
  • Kollaborierende BSW-Module:
    • LinIf (LIN Interface): Exklusiver Aufrufer von LinTrcv_SetOpMode zur Laufzeit.
    • EcuM / BswM: Initialisierung via LinTrcv_Init und Koordination des Bus-Wakeup-Managements.

3. Dynamisches Verhalten & Sequenzablauf

  1. Kaltstart & Initialisierungssequenz:
    • Power-On: Übergang [Power On] → POWER_ON::NOT_ACTIVE.
    • Treiber-Initialisierung: LinTrcv_Init() triggert den Zustandsübergang von NOT_ACTIVE nach ACTIVE::LINTRCV_TRCV_MODE_SLEEP.
    • Normative Vorgabe (SWS_LinTrcv_00055, SRS_Lin_01566): Nach LinTrcv_Init() befindet sich jeder konfigurierte Kanal zwingend und deterministisch im Modus LINTRCV_TRCV_MODE_SLEEP (nicht in Normal oder Standby).
  2. 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_STANDBY via LinTrcv_SetOpMode(LinNetwork, LINTRCV_TRCV_MODE_STANDBY) und anschließend LINTRCV_TRCV_MODE_NORMAL.
    • Deaktivierung (NORMAL → SLEEP):
      • Direkter Pfad: Aufruf LinTrcv_SetOpMode(LinNetwork, LINTRCV_TRCV_MODE_SLEEP).
      • Alternativer Pfad: Über LINTRCV_TRCV_MODE_STANDBY nach LINTRCV_TRCV_MODE_SLEEP.
    • Optionale Standby-Übergänge (SRS_Lin_01524, SRS_Can_01098):
      • Alle Transitionen mit Beteiligung von LINTRCV_TRCV_MODE_STANDBY sind mit optional annotiert. Sie sind nur dann zulässig und aktiv, wenn der zugrundeliegende Transceiver-Baustein einen dezidierten Standby-Pin oder Registermodus besitzt.
  3. Power-Off / Spannungsabfall:
    • Tritt zu jedem Zeitpunkt bei Spannungsverlust aus dem Zustand POWER_ON über [Power Off] in den Endzustand Power Off auf.
  4. Fehler- und Ausnahmepfade:
    • Wird LinTrcv_SetOpMode im Zustand NOT_ACTIVE aufgerufen, 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. STANDBY bei 2-Pin-Transceivern ohne Standby-Funktionalität) wird synchron mit E_NOT_OK / LINTRCV_E_PARAM_POINTER bzw. ungültigem Modus-Parameter abgewiesen.

4. Normative Relevanz & Entwickler-Hinweise

  • Start-up & Kommunikationsaufnahme: Da der Transceiver nach LinTrcv_Init() zwingend im Sleep-Zustand verbleibt, kann keine Übertragung erfolgen, bevor das LinIf die Umschaltung nach LINTRCV_TRCV_MODE_NORMAL via LinTrcv_SetOpMode() erfolgreich durchgeführt hat.
  • Hardware-Einschwingzeiten (t_mode_change):
    • Umschaltungen zwischen SLEEP/STANDBY und NORMAL sind 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.
  • Wake-up Validierung & Routing:
    • Im Zustand LINTRCV_TRCV_MODE_SLEEP fungiert der Transceiver als Wake-up-Quelle (EcuM-Wakeup-Source). Der Treiber muss Interrupt- bzw. Pin-Ereignisse an EcuM_SetWakeupEvent() propagieren.
  • 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.

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

R23-11 → R24-11 keine inhaltliche Änderung Vorgänger: FIG-56c57f141c18b36f

Keine inhaltlichen Änderungen erkennbar.

R24-11 → R25-11 keine inhaltliche Änderung Nachfolger: FIG-47747c86f079dd94

Keine inhaltlichen Änderungen erkennbar.

Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Erkannte Spezifikationsbelege & Anforderungen auf dieser Seite

Aus dem Dokument extrahierter Text & Kontext

Beschriftungen im Schaubild:

Power On Power Off | POWER_ON | NOT_ACTIVE | ACTIVE | LINTRCV_TRCV_MODE_SLEEP LINTRCV_TRCV_MODE_NORMAL | LINTRCV_TRCV_MODE_STANDBY | optional LinTrcvSetOpMode (LinTRCV_TRCV_MODE_STANDBY) | [Power Off] | [LinTrcvSetOpMode (LinTRCV_TRCV_MODE_SLEEP)] | LinTrcv_Init() | optional LinTrcvSetOpMode (LinTRCV_TRCV_MODE_STANDBY) | optional LinTrcvSetOpMode (LinTRCV_TRCV_MODE_NORMAL) | [Power On] | LinTrcvSetOpMode (LinTRCV_TRCV_MODE_NORMAL) | optional LinTrcvSetOpMode (LinTRCV_TRCV_MODE_SLEEP)

Vorkommen in AUTOSAR-Releases (1)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R24-11 AUTOSAR_CP_SWS_LINTransceiverDriver S. 15 7.1 Figure 7.1: LIN Transceiver Operation Modes