AUTOSAR_SWS_FlexRayISOTransportLayer
FIG-9e680cbc04ab0600
895 × 423 px
1 Release(s)
Figure 21: Transmit Cancellation at segmented data transfer
SHA-256 Inhalts-Fingerabdruck:
9e680cbc04ab060017aabca3595963671e5b9ed21a17e4a685655b08e3563ac4
✦
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
- Klassifikation: UML-Sequenzdiagramm / Interaktionsdiagramm mit expliziter vertikaler Zeitachse (t) und Task-/Zyklus-Triggerpunkten (
FrTp_MainFunction). - Architektur-Kontext: AUTOSAR Classic Platform (CP R4.0.3), BSW Communication Services, Modul
FrTp(FlexRay ISO Transport Layer, ISO 10681-2). - Technischer Zweck: Spezifikation des asynchronen Abbruchverhaltens (Transmit Cancellation) einer segmentierten 1:1-N-SDU-Übertragung, wenn der Abbruchauftrag (
FrTp_CancelTransmit/FrTp_TransmitCancellation) nach bereits ausgesendetemStartFrame(SF), aber vor dem Versenden nachfolgenderConsecutive Frames(CF) eintrifft.
2. Komponenten, Entitäten & Schnittstellen
- Lebenslinien / Entitäten:
FrTp Sender: Lokale FrTp-Instanz des sendenden Steuergeräts (TX-Kanal).FrTp Receiver: Entfernter FrTp-Knoten auf Empfängerseite (RX-Kanal).- Obere Schicht (implizit): PDU Router (
PduR) bzw. Diagnostic Communication Manager (Dcm). - Untere Schicht (implizit): FlexRay Interface (
FrIf) / FlexRay-Bus.
- Service Primitives & APIs (Sender):
FrTp_Transmit(TxPduId, PduInfoPtr): Synchroner Sendeaufruf durch denPduR.FrTp_TransmitCancellationbzw.FrTp_CancelTransmit(TxPduId): Synchroner Abbruchauftrag durch denPduR; setzt intern das SteuerungsflagTC_REQUEST.FrTp_MainFunction(): Zyklischer BSW-Scheduler-Task zur Zustandsverarbeitung, Timer-Dekrementierung und PDU-Assemblierung.PduR_FrTpTxConfirmation(TxPduId, NotifResultType = E_CANCELLATION_OK): Asynchroner Bestätigungs-Callback an die obere Schicht über den vollzogenen Abbruch.
- Service Primitives & APIs (Empfänger):
FrTp_RxIndication(RxPduId, PduInfoPtr): FrIf-Callback bei Ankunft einer N-PDU.PduR_FrTpStartOfReception(...): BenachrichtigtPduRüber Beginn einer segmentierten Übertragung zwecks Pufferallokation.PduR_FrTpRxIndication(RxPduId, NotifResultType = E_Timeout): Meldet den Empfangsabbruch infolge eines abgelaufenen Überwachungs-Timers.
- Protokoll-PDUs (ISO 10681-2):
StartFrame(SF): Initialer Frame zur Ankündigung der Gesamt-N-SDU-Länge.FlowControl(FC): Flusssteuerungs-PDU des Receivers mit Flow-Status (FS), Blockgröße (BS) und Zeitschranken (STmin/BC).
3. Dynamisches Verhalten & Sequenzablauf
- Sendeinitiierung:
PduRinitiiert die segmentierte Übertragung überFrTp_Transmit(). Der Sender allokiert den TX-Verbindungskontext. - StartFrame-Versand: Im nachfolgenden
FrTp_MainFunction()-Zyklus des Senders wird derStartFramegeneriert und über dasFrIfauf den Bus übertragen. - Abbruchanforderung (Sender-seitig): Vor Eintreffen des FlowControl-Frames wird am Sender
FrTp_TransmitCancellationaufgerufen. Der Sender markiert die Verbindung mit dem StatusflagTC_REQUEST. - Empfang StartFrame & FlowControl (Receiver-seitig):
- Der Receiver empfängt via
FrTp_RxIndication()denStartFrame. - Im folgenden
FrTp_MainFunction()ruft der ReceiverPduR_FrTpStartOfReception()auf (Pufferreservierung) und sendet einFlowControlan den Sender zurück. - Der Receiver startet den RX-Timeout-Timer (N_Ar / N_Cr).
- Der Receiver empfängt via
- Verarbeitung des Abbruchs (Sender-seitig):
- Sender empfängt das
FlowControlviaFrTp_RxIndication(). - In der nächsten
FrTp_MainFunction()des Senders greift die Abbruchlogik: DaTC_REQUESTansteht, werden keineConsecutive Framesversendet. Die TX-Verbindungsressourcen werden freigegeben. - Sender bestätigt den Abbruch gegenüber dem PduR via
PduR_FrTpTxConfirmation(TxPduId, E_CANCELLATION_OK).
- Sender empfängt das
- Timeout & Fehlerabschluss (Receiver-seitig):
- Das ISO-10681-2-Protokoll definiert keinen expliziten Abort-Frame auf dem Bus; der Abbruch erfolgt für den Empfänger stumm.
- Der Receiver-Timer läuft ab (
Timeout). - Die
FrTp_MainFunction()des Receivers bricht die unvollständige N-SDU ab und informiert den PduR viaPduR_FrTpRxIndication(RxPduId, E_Timeout).
4. Normative Relevanz & Entwickler-Hinweise
- Statische Konfigurationsabhängigkeit: Das Verhalten setzt zwingend den Konfigurationsparameter
FrTpGeneral/FrTpTransmitCancellation = TRUEvoraus (SWS_FrTp_01097). Ist dieser Parameter deaktiviert, existiert die API nicht bzw. liefertE_NOT_OK. - Asynchrone Puffer-Lebensdauer im PduR: Der synchrone Aufruf
FrTp_CancelTransmit()signalisiert via RückgabewertE_OKlediglich die Akzeptanz des Abbruchgesuchs. Der TX-Puffer darf im PduR/Dcm nicht sofort freigegeben werden; die tatsächliche Freigabe darf erst im Kontext des CallbacksPduR_FrTpTxConfirmation()mitE_CANCELLATION_OKerfolgen. - Protokollbedingte Asymmetrie (Silent Discard): Auf Empfängerseite führt die senderseitige Transmit Cancellation nach Übertragung des StartFrames zwangsläufig zu einem Kommunikations-Timeout (
E_Timeout, i. d. R. gemappt aufNTFRSLT_E_TIMEOUT_AoderNTFRSLT_E_TIMEOUT_CR). - Puffer-Blockade im Receiver: Der im Receiver über
PduR_FrTpStartOfReception()allokierte lineare TP-Puffer bleibt für die gesamte Dauer des Timeout-Fensters blockiert. Entwickler zeitkritischer Diagnose- oder Flash-Stacks müssen diesen Timeout im Fehlerbehandlungs- und Retry-Design berücksichtigen.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.