DEENESPTFRRUARHIKOZHNL
AUTOSAR_CP_SWS_FlexRayStateManager FIG-85c7eb19defd631a 888 × 970 px 1 Release(s)

Figure 9.11: Transition from FullCom to NoCom

SHA-256 Inhalts-Fingerabdruck: 85c7eb19defd631aeb349f8b960c83f4ab711b4867c95afa86f069a0957329ca
✦ 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 2.x Sequenzdiagramm (Interaktionsdiagramm).
  • Technischer Zweck: Spezifikation des zweistufigen Deaktivierungs- und Shutdown-Ablaufs eines FlexRay-Clusters beim Wechsel von voller Kommunikation (COMM_FULL_COMMUNICATION) in den inaktiven Modus (COMM_NO_COMMUNICATION).
  • Funktionale Einordnung: Der FlexRay Communication Controller (CC) unterliegt deterministischen TDMA-Zyklusregeln und kann nicht ohne Protokollverletzungen abrupt gestoppt werden. Der Ablauf entkoppelt die synchrone Busanforderung des ComM vom hardwarenahen, zyklusgebundenen Anhalten des Protokoll-Engines (POC: HALT), dem anschließenden Transceiver-Standby und der Überführung des Controllers in den Zustand READY.

2. Komponenten, Entitäten & Schnittstellen

Alle Akteure sind als AUTOSAR-Basissoftwaremodule («module») im jeweiligen Namensraum typisiert:

  • ComM (from ComM): Communication Manager (Service Layer). Initiiert Kommunikationsmodi und empfängt die globale Modus-Indikation.
  • SchM (from SchM): BSW Scheduler / RTE. Triggert periodisch die zyklische Task-Verarbeitung der State-Machine.
  • BswM (from BswM): Basic Software Mode Manager (Service Layer). Arbitriert Zustände und Aktionen anhand gemeldeter Sub-Zustände (HALT_REQ, READY).
  • FrSM (from FrSM): FlexRay State Manager (System Services). Zentrale Statemachine für die Cluster-Zustandsverwaltung.
  • FrIf (from FrIf): FlexRay Interface (Communication Hardware Abstraction). Abstrakte Treiberschnittstelle für Controller (Fr) und Transceiver (FrTrcv).

Schnittstellen / Signaturen:

  • FrSM_RequestComMode(NetworkHandleType BusHandle, ComM_ModeType ComMode)
  • FrIf_SetState(uint8 CtrlIdx, FrIf_StateType Transition) mit Übergang FRIF_GOTO_OFFLINE
  • FrIf_HaltCommunication(uint8 CtrlIdx)
  • ComM_BusSM_ModeIndication(NetworkHandleType BusHandle, ComM_ModeType ComMode)
  • BswM_FrSM_CurrentState(FrSM_ModeType CurrentState) (Modi: HALT_REQ, READY)
  • FrSM_MainFunction_<FrSMCluster.ShortName>()
  • FrIf_GetPOCStatus(uint8 CtrlIdx, Fr_POCStatusType* FrIf_POCStatusPtr)
  • FrIf_SetTransceiverMode(uint8 FrIf_CtrlIdx, uint8 FrIf_ChnlIdx, FrTrcv_TrcvModeType FrTrcvMode)
  • FrIf_ControllerInit(uint8 FrIf_CtrlIdx)

3. Dynamisches Verhalten & Sequenzablauf

Phase 1: Synchrone Initiierung (Kontext: Aufrufender Task des ComM)
  1. Trigger: ComM fordert über FrSM_RequestComMode(BusHandle, COMM_NO_COM) die Busabschaltung an.
  2. Tx/Rx-Stopp: FrSM entkoppelt die PDU-Verarbeitung synchron durch Aufruf von FrIf_SetState(CtrlIdx, FRIF_GOTO_OFFLINE) (Sperrung aller PDU-Routen im FrIf).
  3. Zyklus-Halt anfordern: FrSM weist den Controller via FrIf_HaltCommunication(CtrlIdx) an, die Kommunikation einzustellen. (Hinweis: Der Hardware-POC verbleibt bis zum Erreichen des aktuellen FlexRay-Zyklusendes im Zustand NORMAL_ACTIVE und geht erst am Zyklusende in HALT über).
  4. Frühe Quittierung: Noch im synchronen Ausführungskontext informiert FrSM den ComM über ComM_BusSM_ModeIndication(BusHandle, COMM_NO_COM), dass der Moduswechsel aus Netzwerk-Perspektive akzeptiert ist.
  5. Mode-Arbitration Trigger: FrSM meldet den Übergangszustand über BswM_FrSM_CurrentState(HALT_REQ) an den BswM.
  6. Return: FrSM_RequestComMode kehrt synchron mit E_OK zum ComM zurück.
Phase 2: Asynchroner Abschluss & Re-Initialisierung (Kontext: FrSM_MainFunction)
  1. Zyklischer Aufruf: SchM aktiviert FrSM_MainFunction_<FrSMCluster.ShortName>().
  2. POC-Polling: FrSM liest den Controller-Zustand über FrIf_GetPOCStatus(CtrlIdx, FrIf_POCStatusPtr) aus.
  3. Transceiver Sleep/Standby: Sobald POCState == HALT detektiert wurde, versetzt FrSM die Transceiver der Cluster-Kanäle über FrIf_SetTransceiverMode(FrIf_CtrlIdx, FrIf_ChnlIdx, STANDBY) in den stromsparenden Modus.
  4. Controller-Reset: Über FrIf_ControllerInit(FrIf_CtrlIdx) wird der FlexRay-CC von HALT zurück in den Zustand READY überführt, um für nachfolgende Kaltstarts/Wakeups betriebsbereit zu sein.
  5. Abschlussmeldung: FrSM meldet den erreichten Endzustand via BswM_FrSM_CurrentState(READY) an den BswM.

4. Normative Relevanz & Entwickler-Hinweise

  • Asynchrone Modus-Diskrepanz: Für den ComM ist der Bus nach Phase 1 logisch sofort offline (COMM_NO_COM). Die Hardware schaltet jedoch verzögert (am TDMA-Zyklusende) ab. Ein sofortiger Re-Start (COMM_FULL_COM) während Phase 1 führt zu internen State-Machine-Konflikten bzw. wird abgewiesen, solange HALT_REQ aktiv ist.
  • Konfigurationsabhängigkeit der Task-Zykluszeit: Die Periodizität der FrSM_MainFunction definiert direkt die Latenz bis zum Erreichen des Standby-Zustands. Sie sollte an die FlexRay-Zykluszeit (typisch 5 ms) angepasst werden, um unnötige Verzögerungen beim ECU-Shutdown zu vermeiden.
  • Controller-Zustand nach Shutdown: Der FlexRay-Controller verbleibt im Zustand READY (nicht uninitialisiert oder HALT). Treiber-Entwickler müssen sicherstellen, dass FrIf_ControllerInit() die CHI-Ressourcen korrekt vorbereitet hinterlässt, ohne die globale Konfiguration zu invalidieren.
  • Transceiver-Kanalbehandlung: Bei Dual-Channel-Clustern (Kanal A und B) muss FrIf_SetTransceiverMode() pro konfiguriertem Kanalindex (FrIf_ChnlIdx) abgesetzt werden.
  • Fehlerbehandlung (POC-Timeout): Sollte der Controller aufgrund gestörter Synchronisation den Zustand HALT nicht innerhalb des parametrierten Timeouts (FrSMDurationHaltReq) erreichen, greift der interne Fehlerpfad des FrSM (Übergang nach FrSM_StartupError bzw. Dem-Report).

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

R23-11 → R24-11 redaktionell Vorgänger: FIG-990c0c40f6fa9ca4
  • Lebenslinie FrSM: Korrektur des Modulpfads unter dem Kopf von (from FrSm) zu (from FrSM).
R24-11 → R25-11 normative Änderung Nachfolger: FIG-97b3194f6c05ef37
  • Aufruf FrSM_RequestComMode: Aktualisierung der Parameter von (BusHandle, COMM_NO_COM) zu (network, COMM_NO_COMMUNICATION).
  • Callback von FrSM an ComM: Ersetzung des generischen Aufrufs ComM_BusSM_ModeIndication(BusHandle, COMM_NO_COM) durch die modulspezifische Schnittstelle ComM_FrSM_ModeIndication(BusHandle, COMM_NO_COM).

Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Aus dem Dokument extrahierter Text & Kontext

Beschriftungen im Schaubild:

«module» | ComM | (from ComM) | «module» | BswM | (from BswM) | «module» | SchM | (from SchM) | «module» | FrSM | (from FrSM) | «module» | FrIf | (from FrIf) |                   |       |                  | FrIf_ControllerInit(FrIf_CtrlIdx) | FrIf_SetTransceiverMode(FrIf_CtrlIdx, FrIf_ChnlIdx, STANDBY) | FrIf_GetPOCStatus(CtrlIdx, FrIf_POCStatusPtr) | FrSM_MainFunction_<FrSMCluster.ShortName> | ComM_BusSM_ModeIndication(BusHandle, COMM_NO_COM) | E_OK | FrIf_SetState(CtrlIdx, FRIF_GOTO_OFFLINE) | BswM_FrSM_CurrentState(HALT_REQ) | FrIf_HaltCommunication(CtrlIdx) | FrSM_RequestComMode(BusHandle, COMM_NO_COM) | BswM_FrSM_CurrentState(READY)

Vorkommen in AUTOSAR-Releases (1)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R24-11 AUTOSAR_CP_SWS_FlexRayStateManager S. 58 9.11 Figure 9.11: Transition from FullCom to NoCom