DEENESPTFRRUARHIKOZHNL
AUTOSAR_CP_SWS_CANInterface FIG-9c62294d8888dba6 932 × 391 px 12 Release(s)

Figure 7.8: PDU channel mode control

SHA-256 Inhalts-Fingerabdruck: 9c62294d8888dba677a99e681cb60ab17b5ffc7386c3e62b65da2b3169c92d0e
✦ 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: Hierarchischer UML-Zustandsautomat (State Machine Diagram) mit Composite State (Superstate OFFLINE) und orthogonal/flach strukturierten Substates.
  • Architektur-Kontext:
    • Modul: CAN Interface (CanIf), AUTOSAR Classic Platform (ECU Abstraction Layer / Communication Services).
    • Funktionale Einordnung: Verwaltung der Betriebszustände logischer CAN-PDU-Kanäle (CanIf_PduChannelModeType).
    • Zweck: Granulare, softwareseitige Steuerung der Sende- und Empfangspfade (Tx/Rx) logischer Kommunikationskanäle unabhängig vom physikalischen Zustand des CAN-Controllers (Can_ControllerStateType).

2. Komponenten, Entitäten & Schnittstellen

  • Zustände und Pseudo-Zustände:
    • Initial Pseudostate (Schwarzer Kreis): Eintrittspunkt nach Modulinitialisierung (CanIf_Init).
    • Superstate OFFLINE: Hierarchischer Überzustand für alle Modi mit eingeschränkter Sendefunktion. Beinhaltet drei Substates:
      • Offline (CANIF_OFFLINE): Standardzustand; vollständige Deaktivierung aller Sende- und Empfangsaktivitäten.
      • Passive (CANIF_TX_OFFLINE): Listen-Only-Modus; Empfangspfad aktiv, Sendepfad blockiert.
      • Active (CANIF_TX_OFFLINE_ACTIVE): Simulierter Sendemodus; Empfangspfad aktiv, Sendeoperationen werden intern bestätigt, ohne physisch auf den Bus gesendet zu werden.
    • Zustand ONLINE (CANIF_ONLINE): Vollständiger bidirektionaler Kommunikationsmodus (Tx und Rx uneingeschränkt aktiv).
  • Relevante Datentypen & Schnittstellen (API):
    • CanIf_PduModeType / CanIf_PduChannelModeType: Enum der Kanalbetriebsarten (CANIF_OFFLINE, CANIF_TX_OFFLINE, CANIF_TX_OFFLINE_ACTIVE, CANIF_ONLINE).
    • CanIf_SetPduMode(): Steuerungsschnittstelle, typischerweise aufgerufen durch den CAN State Manager (CanSM).
    • CanIf_GetPduMode(): Abfrageschnittstelle des aktuellen Kanalmodus.
    • Obere Schichten (Upper Layers): PduR, CanTp, CanNm, J1939Tp, Xcp.
    • Untere Schicht (Lower Layer): CanDrv (Can_Write).

3. Dynamisches Verhalten & Sequenzablauf

  • Initialisierungssequenz:
    • Mit Aufruf von CanIf_Init() wechselt jeder PDU-Kanal deterministisch über den Initialübergang in den Subzustand Offline (CANIF_OFFLINE, [SWS_CANIF_00864]).
  • Transitionen & Trigger:
    • Innerhalb des Superstates OFFLINE: Vollständige bidirektionale Übergänge zwischen den Substates (Offline ↔ Passive, Offline ↔ Active, Passive ↔ Active). Getriggert durch gezielte Anforderungen via CanIf_SetPduMode().
    • Zwischen OFFLINE und ONLINE:
      • Eintritt in ONLINE: Von jedem der drei Offline-Substates aus möglich, sofern der zugrunde liegende CAN-Controller im Zustand CAN_CS_STARTED ist.
      • Austritt aus ONLINE: Führt zurück in den Superstate OFFLINE (Zielsubstate abhängig vom Parameter in CanIf_SetPduMode()).
    • Controller-Zustandsänderung:
      • Wird CanIf_SetControllerMode(ControllerId, CAN_CS_SLEEP) ausgeführt, erzwingt das CanIf für den betroffenen Kanal synchron den Übergang nach CANIF_OFFLINE ([SWS_CANIF_00865]).
  • Kanalverhalten pro Modus:
    • CANIF_OFFLINE ([SWS_CANIF_00073]):
      • Transmit-Requests (CanIf_Transmit()) werden sofort mit E_NOT_OK abgewiesen.
      • Alle zugehörigen Tx-Puffer im CanIf werden vollständig gelöscht.
      • Rx-Indication-Callbacks (<User_RxIndication>) an obere Schichten werden unterdrückt.
      • Tx-Confirmation-Callbacks (<User_TxConfirmation>) an obere Schichten werden unterdrückt.
    • CANIF_TX_OFFLINE (Passive):
      • Rx-Pfad ist aktiv: Eingehende Frames via CanIf_RxIndication() werden an die oberen Schichten gemeldet.
      • Tx-Pfad ist inaktiv: CanIf_Transmit() wird blockiert bzw. abgewiesen.
    • CANIF_TX_OFFLINE_ACTIVE (Active):
      • Rx-Pfad ist aktiv.
      • Tx-Pfad ist simuliert: CanIf_Transmit() wird akzeptiert (E_OK); die PDU wird nicht an den CanDrv (Can_Write()) weitergereicht, jedoch meldet das CanIf die erfolgreiche Übertragung via <User_TxConfirmation> an die oberen Schichten zurück.
    • CANIF_ONLINE:
      • Voller Kommunikationsbetrieb: Weiterleitung von Tx-Anfragen an den Treiber und Weiterleitung aller Rx-Indikationen/Tx-Bestätigungen an die Upper Layers.

4. Normative Relevanz & Entwickler-Hinweise

  • Puffer-Bereinigung & Determinismus:
    • Beim Wechsel in CANIF_OFFLINE werden Puffer synchron verworfen ([SWS_CANIF_00073]). Entwickler müssen beachten, dass beim Re-Aktivieren (CANIF_ONLINE) keine Alt-PDUs verbleiben; gepufferte Daten gehen verloren.
  • Fehlerbehandlung in oberen Schichten (Com, PduR):
    • Sendeschichten müssen den synchronen Rückgabewert E_NOT_OK bei CanIf_Transmit() verarbeiten, wenn sich ein Kanal in CANIF_OFFLINE oder CANIF_TX_OFFLINE befindet.
  • Verwendungszweck CANIF_TX_OFFLINE (Passive):
    • Einsatz bei Diagnoseabläufen (z. B. UDS Service 0x28 CommunicationControl), Flashen über Bootloader/Software-Updates oder während Bus-Off-Recovery-Sequenzen, um Silent-Monitoring ohne Bus-Interferenz zu gewährleisten.
  • Verwendungszweck CANIF_TX_OFFLINE_ACTIVE (Active):
    • Spezieller Modus zur Validierung, Software-in-the-Loop (SiL) oder End-of-Line (EOL)-Prüfungen. Verhindert Buslast, erlaubt jedoch das Ausführen von Upper-Layer-Zustandsautomaten, die auf Tx-Bestätigungen angewiesen sind (z. B. Timeouts in Com).
  • Kopplung Controller- vs. PDU-Modus:
    • Der PDU-Modus ist eine logische Filterschicht. Ein Umschalten auf CANIF_ONLINE hat keine Wirkung auf den Bus, wenn der CAN-Controller nicht in CAN_CS_STARTED ist. Umgekehrt schlägt ein Senden bei CAN_CS_STARTED fehl, wenn der PDU-Modus in OFFLINE verharrt.

Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Erkannte Spezifikationsbelege & Anforderungen auf dieser Seite

Aus dem Dokument extrahierter Text & Kontext

Begleitender Spezifikationstext:

Specification of CAN Interface AUTOSAR CP R25-11 Figure 7.8: PDU channel mode control Figure 7.8 shows a diagram with possible PDU channel modes. Each L-PDU channel can be in CANIF_OFFLINE (no communication), CANIF_TX_OFFLINE (passive mode => listen without sending), CANIF_TX_OFFLINE_ACTIVE (simulated transmission with listening), and CANIF_ONLINE (full communication). The default state is the CANIF_OFFLINE mode. 7.19.2.1 CANIF_OFFLINE [SWS_CANIF_00864] ⌈During initialization CanIf shall switch every channel to CANIF_OFFLINE.⌋ [SWS_CANIF_00865] ⌈If CanIf_SetControllerMode(ControllerId, CAN_CS_SLEEP) is called, CanIf shall set the PDU channel mode of the corresponding channel to CANIF_OFFLINE.⌋ [SWS_CANIF_00073] ⌈For Physical Channels switching to CANIF_OFFLINE mode CanIf shall: • prevent forwarding of transmit requests CanIf_Transmit() of associated L-PDUs to CanDrv (return E_NOT_OK to the calling upper layer modules), • clear the corresponding CanIf transmit buffers, • prevent invocation of receive indication callback services of the upper layer modules, • prevent invocation of transmit confirmation callback services of the upper layer modules. ⌋ 59 of 245 Document ID 12: AUTOSAR_CP_SWS_CANInterface

Vorkommen in AUTOSAR-Releases (12)

Release Dokument Seite Nr. Bildunterschrift im Dokument
EXTERN AUTOSAR_SWS_CANInterface S. 61 7.8 Figure 7.8: PDU channel mode control
R4.1.3 AUTOSAR_SWS_CANInterface S. 77 7.11 Figure 7.11: PDU channel mode control
R4.2.2 AUTOSAR_SWS_CANInterface S. 64 7.9 Figure 7.9: PDU channel mode control
R4.3.1 AUTOSAR_SWS_CANInterface S. 61 7.8 Figure 7.8: PDU channel mode control
R18-10_R4.4.0_R1.5.0 AUTOSAR_SWS_CANInterface S. 58 7.8 Figure 7.8: PDU channel mode control
R19-11 AUTOSAR_SWS_CANInterface S. 59 7.8 Figure 7.8: PDU channel mode control
R20-11 AUTOSAR_SWS_CANInterface S. 58 7.8 Figure 7.8: PDU channel mode control
R21-11 AUTOSAR_SWS_CANInterface S. 58 7.8 Figure 7.8: PDU channel mode control
R22-11 AUTOSAR_SWS_CANInterface S. 61 7.8 Figure 7.8: PDU channel mode control
R23-11 AUTOSAR_CP_SWS_CANInterface S. 59 7.8 Figure 7.8: PDU channel mode control
R24-11 AUTOSAR_CP_SWS_CANInterface S. 63 7.8 Figure 7.8: PDU channel mode control
R25-11 AUTOSAR_CP_SWS_CANInterface S. 59 7.8 Figure 7.8: PDU channel mode control