DEENESPTFRRUARHIKOZHNL
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 ausgesendetem StartFrame (SF), aber vor dem Versenden nachfolgender Consecutive 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 den PduR.
    • FrTp_TransmitCancellation bzw. FrTp_CancelTransmit(TxPduId): Synchroner Abbruchauftrag durch den PduR; setzt intern das Steuerungsflag TC_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(...): Benachrichtigt PduR ü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

  1. Sendeinitiierung: PduR initiiert die segmentierte Übertragung über FrTp_Transmit(). Der Sender allokiert den TX-Verbindungskontext.
  2. StartFrame-Versand: Im nachfolgenden FrTp_MainFunction()-Zyklus des Senders wird der StartFrame generiert und über das FrIf auf den Bus übertragen.
  3. Abbruchanforderung (Sender-seitig): Vor Eintreffen des FlowControl-Frames wird am Sender FrTp_TransmitCancellation aufgerufen. Der Sender markiert die Verbindung mit dem Statusflag TC_REQUEST.
  4. Empfang StartFrame & FlowControl (Receiver-seitig):
    • Der Receiver empfängt via FrTp_RxIndication() den StartFrame.
    • Im folgenden FrTp_MainFunction() ruft der Receiver PduR_FrTpStartOfReception() auf (Pufferreservierung) und sendet ein FlowControl an den Sender zurück.
    • Der Receiver startet den RX-Timeout-Timer (N_Ar / N_Cr).
  5. Verarbeitung des Abbruchs (Sender-seitig):
    • Sender empfängt das FlowControl via FrTp_RxIndication().
    • In der nächsten FrTp_MainFunction() des Senders greift die Abbruchlogik: Da TC_REQUEST ansteht, werden keine Consecutive Frames versendet. Die TX-Verbindungsressourcen werden freigegeben.
    • Sender bestätigt den Abbruch gegenüber dem PduR via PduR_FrTpTxConfirmation(TxPduId, E_CANCELLATION_OK).
  6. 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 via PduR_FrTpRxIndication(RxPduId, E_Timeout).

4. Normative Relevanz & Entwickler-Hinweise

  • Statische Konfigurationsabhängigkeit: Das Verhalten setzt zwingend den Konfigurationsparameter FrTpGeneral/FrTpTransmitCancellation = TRUE voraus (SWS_FrTp_01097). Ist dieser Parameter deaktiviert, existiert die API nicht bzw. liefert E_NOT_OK.
  • Asynchrone Puffer-Lebensdauer im PduR: Der synchrone Aufruf FrTp_CancelTransmit() signalisiert via Rückgabewert E_OK lediglich die Akzeptanz des Abbruchgesuchs. Der TX-Puffer darf im PduR/Dcm nicht sofort freigegeben werden; die tatsächliche Freigabe darf erst im Kontext des Callbacks PduR_FrTpTxConfirmation() mit E_CANCELLATION_OK erfolgen.
  • 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 auf NTFRSLT_E_TIMEOUT_A oder NTFRSLT_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.

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

R4.0.3 → R4.1.3 normative Änderung Nachfolger: FIG-bd9f915a81260a10
  • FrTp_TransmitCancellation: Ersetzt durch den API-Aufruf FrTp_CancelTransmit mit Signatur-/Rückgabewert-Annotation Std_ReturnType = E_OK.
  • PduR_FrTpStartOfReception: Ersetzt durch PduR_FrTpProvideRxBuffer auf Empfängerseite zur Pufferanforderung nach StartFrame-Empfang.
  • PduR_FrTpTxConfirmation: Asynchroner Bestätigungsaufruf mit NotifResultType = E_CANCELLATION_OK am Sender nach Empfang des FlowControl ersatzlos entfernt.

Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Aus dem Dokument extrahierter Text & Kontext

Begleitender Spezifikationstext:

Figure 21 depicts the transmit cancellation behavior of a segmented data transfer. If a requested but currently not started data transfer shall be cancelled the service primitive FrTp_CancelTransmit is called and the TC_REQUEST flag is set. The FrTp module’s main task shall cancel the requested data transfer and confirm the cancellation by a service primitive PduR_FrTpTxConfirmation()call with the corresponding notification result type (see [FRTP1116). On receiver side no data transfer is recognized.

Vorkommen in AUTOSAR-Releases (1)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R4.0.3 AUTOSAR_SWS_FlexRayISOTransportLayer S. 75 21 Figure 21: Transmit Cancellation at segmented data transfer