DEENESPTFRRUARHIKOZHNL
AUTOSAR_SWS_FlexRayISOTransportLayer FIG-3b43122a5f677d02 503 × 911 px 1 Release(s)

Figure 10: Frame sequence of a segmented acknowledged data transfer with unknown

SHA-256 Inhalts-Fingerabdruck: 3b43122a5f677d024d378be67acf51031cf285d2598dd1110178b989cfd1aa21
✦ 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 / Protokoll-Ablaufdiagramm auf N-PDU-Ebene (Frame Sequence).
  • Architektur-Kontext:
    • AUTOSAR Classic Platform (Release R4.0.3), BSW Communication Stack (ComStack).
    • Modul: FlexRay ISO Transport Layer (FrTp), normativ konform zu ISO 10681-2 (Road vehicles — Communication on FlexRay — Part 2: Communication layer services).
    • Horizontale Peer-to-Peer-Kommunikation zweier FlexRay-Knoten (FrTp_Sender und FrTp_Receiver) über das FlexRay Interface (FrIf).
  • Technischer Zweck: Spezifikation der segmentierten, quittierten Datenübertragung (Segmented Acknowledged Data Transfer) bei zur Übertragungszeit unbekannter Gesamtnachrichtenlänge (unknown message length / dynamic streaming). Ermöglicht das segmentierte Übertragen von Nutzdaten über FlexRay, deren finale PDU-Größe beim Verbindungsaufbau von der oberen Schicht (PduR) noch nicht quantifiziert werden kann.

2. Komponenten, Entitäten & Schnittstellen

  • Akteure / Lebenslinien:
    • FrTp_Sender: Sendende Transportprotokoll-Entität. Steuert Segmentierung, TX-Zustandsmaschine, Pufferabruf via PduR_FrTpCopyTxData() sowie die Protokoll-Timer A_s (TX-Bestätigung) und B_s (Warten auf Flow Control).
    • FrTp_Receiver: Empfangende Transportprotokoll-Entität. Steuert De-Segmentierung, Reassembly, Pufferbereitstellung via PduR_FrTpStartOfReception() / PduR_FrTpCopyRxData(), Block-Validierung sowie Timer A_r und C_r (Warten auf Folgeframe).
  • N-PDU-Entitäten (Frame-Typen nach ISO 10681-2):
    • STFA (StartFrame_ACK): Erster Frame des Datenstroms; fordert Quittierung/Flusssteuerung an. Trägt das Längenfeld ML = 0 (Kennzeichnung für unbekannte bzw. dynamische Gesamtlänge).
    • FC.CTS (FlowControl_CTS, Clear-to-Send): Flusssteuerungs-Frame des Empfängers. Autorisiert die Übertragung des nächsten Blocks und definiert Flow-Control-Parameter (z. B. Block Size BS, Bandwidth Control BC).
    • CF (ConsecutiveFrame): Fortlaufender Datenframe innerhalb eines Übertragungsblocks mit zyklischer Sequenznummer (SN) zur Erkennung von Lücken oder Fehlordnungen.
    • CFEOB (ConsecutiveFrame_EOB, End of Block): Expliziter Abschlussframe eines Zwischenblocks. Triggert beim Empfänger die Blockquittierung via FC.CTS.
    • LF (LastFrame): Finaler Datenframe der Gesamtübertragung. Signalisiert dem Empfänger bei unbekannter Gesamtlänge das definitive Ende des Datenstroms und transportiert die verbleibenden Rest-Payload-Bytes.
    • FC.ACK (im Diagramm redaktionell als FlowControl_CTS (FC.ACK) bezeichnet): Finaler Flusssteuerungsframe mit Status ACK. Bestätigt nach Empfang des LF den erfolgreichen Gesamtempfang der Nachricht.
  • Schnittstellen (ComStack):
    • Obere Schicht: PduR (PDU Router) via AUTOSAR TP-APIs (PduR_FrTpStartOfReception, PduR_FrTpCopyRxData, PduR_FrTpRxIndication, PduR_FrTpCopyTxData, PduR_FrTpTxConfirmation).
    • Untere Schicht: FrIf (FlexRay Interface) via FrIf_Transmit(), FrIf_TxConfirmation(), FrIf_RxIndication().

3. Dynamisches Verhalten & Sequenzablauf

  1. Verbindungsaufbau & Block-1-Initialisierung:
    • FrTp_Sender setzt nach Sendeauftrag ein STFA ab (ML = 0).
    • FrTp_Receiver initiiert über PduR_FrTpStartOfReception(..., TpSduLength=0, ...) die Pufferallokation und antwortet nach erfolgreicher Pufferbereitstellung mit FC.CTS.
  2. Block-1-Transfer:
    • FrTp_Sender überträgt fortlaufende Segmente: CF → CF → CFEOB.
    • CFEOB schließt den Block ab; der Sender stoppt und wartet auf Quittierung (Überwachung durch Timer B_s).
    • FrTp_Receiver validiert die Sequenz und bestätigt mit erneutem FC.CTS.
  3. Block-2-Transfer (variable Blockgröße):
    • FrTp_Sender überträgt den zweiten Block: CF → CF → CF → CFEOB.
    • Nach erfolgreichem Empfang des CFEOB quittiert FrTp_Receiver mit FC.CTS.
  4. Finaler Datenblock & Verbindungsabschluss:
    • Sobald die obere Schicht alle Restdaten bereitgestellt hat, sendet FrTp_Sender das Segment CF und schließt die Übertragung zwingend mit LF ab.
    • Der LF informiert FrTp_Receiver über das Erreichen des Stream-Endes. Der Empfänger schließt die Reassembly ab, übergibt die Daten an die obere Schicht (PduR_FrTpRxIndication(..., E_OK)) und sendet die finale Quittung FC.ACK.
    • Nach Erhalt von FC.ACK schließt FrTp_Sender die Verbindung und meldet PduR_FrTpTxConfirmation(..., E_OK).
  5. Fehlerpfade & Timeouts:
    • Sender-Timeout: Läuft Timer B_s vor Eingang eines erwarteten FC.CTS/FC.ACK ab, bricht der Sender die Übertragung mit E_NOT_OK ab.
    • Empfänger-Timeout/Integritätsfehler: Läuft Timer C_r ab oder tritt ein Sequenznummernfehler (SN-Mismatch) auf, sendet der Receiver FC.NACK bzw. FC.ABT (Abort) und verwirft die Puffer.

4. Normative Relevanz & Entwickler-Hinweise

  • Differenzierung Known vs. Unknown Message Length:
    • Bei known message length ist die Gesamtlänge im STF/STFA kodiert; der Empfänger erkennt das Ende rein anhand des empfangenen Byte-Zählers. Das letzte Segment ist dort ein regulärer CF bzw. CFEOB.
    • Bei unknown message length (dieses Schaubild) ist der Frame LF normativ zwingend, da der Empfänger mangels initialer Längenangabe das Übertragungsende nicht autark berechnen kann.
  • Pufferanforderung im PduR / Empfänger-Modul:
    • PduR_FrTpStartOfReception() muss zwingend mit TpSduLength = 0 umgehen können. Der Puffer (z. B. in Dcm oder Com) muss inkrementell oder in dynamisch erweiterbaren Chunks bereitgestellt werden.
    • Kann der Empfänger einen Block temporär nicht annehmen, muss er FC.WT (Wait) absetzen; bei Pufferüberlauf erfolgt FC.OVFLW.
  • Redaktionelle SWS-Inkonsistenz:
    • Der letzte Frame im Diagramm ist fälschlich als FlowControl_CTS (FC.ACK) beschriftet. Nach ISO 10681-2 handelt es sich um einen Flow-Control-Frame mit dem Flow-Status ACK (FS = 1 bzw. FC.ACK), nicht um CTS (FS = 0).
  • FlexRay-Timing-Restriktionen:
    • Die Latenz zwischen CFEOB und FC.CTS bzw. LF und FC.ACK ist durch das statische/dynamische FlexRay-Slot-Scheduling und die Task-Zykluszeit der FrTp_MainFunction() determiniert. Timeouts (B_s, C_r) müssen im AUTOSAR-Parameterbaum (FrTpTimeBs, FrTpTimeCr) zwingend oberhalb der maximalen FlexRay-Zykluswiederholungsdauer dimensioniert sein.

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

R4.0.3 → R4.1.3 redaktionell Nachfolger: FIG-d57ed7f412fb3abb
  • Lebenslinien-Header: Die Beschriftungen FrTp_Sender und FrTp_Receiver am Kopf der beiden vertikalen Lebenslinien wurden entfernt.
  • Layout: Überarbeitung der grafischen Darstellung (Neuausrichtung von Texten, Zeilenabständen und Neupositionierung der Zeitbeschriftung t).

Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Vorkommen in AUTOSAR-Releases (1)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R4.0.3 AUTOSAR_SWS_FlexRayISOTransportLayer S. 38 10 Figure 10: Frame sequence of a segmented acknowledged data transfer with unknown