AUTOSAR_CP_SWS_FlexRayISOTransportLayer
FIG-89e22a5d3ca5db20
904 × 749 px
4 Release(s)
Figure 24: Counter, timer and function call interaction [SWS_FrTp_01105] ⌈The FrTp module shall support the counters and
SHA-256 Inhalts-Fingerabdruck:
89e22a5d3ca5db20914b5ad2b207bb8f681962bce5deec689f32635062ffb3e4
✦
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 TDMA-basierter FlexRay-Busabstraktion (Slots und Kommunikationszyklen
Cycle nbisCycle n+4). - Funktionale Einordnung: AUTOSAR Classic Platform (CP), Kommunikationsstack. Spezifiziert das Zusammenspiel zwischen Transport- und Schnittstellenschicht gemäß ISO 10681-2 (FlexRay ISO Transport Layer,
FrTp), PDU Router (PduR) und FlexRay Interface (FrIf). - Zweck: Darstellung des Flusssteuerungs- und Puffermanagement-Mechanismus bei temporärem Pufferengpass (
BUFREQ_E_BUSYbzw.No Buffer) auf Empfängerseite sowie des Zusammenspiels von Protokoll-Timern (Timeout_BS,Timeout_CR) und dem Flow-Control-Warteschleifenzähler (Counter MaxFcWait/WFTmaxgemäß [SWS_FrTp_01105], [SWS_FrTp_01114]).
2. Komponenten, Entitäten & Schnittstellen
Beteiligte Schichten & Instanzen
- Sender-Knoten (Tx):
PduR: Übergibt I-PDUs über das Transport-Interface an FrTp.FrTp: Führt Segmentierung durch, steuert Timeouts (Timeout_BS) und reagiert auf Flow-Control-Frames (FC).FrIf: Vermittelt zwischen FrTp und FlexRay-Treiber (CC), handhabt Tx-Requests und Tx-Confirmations.
- Kommunikationsmedium:
FR: FlexRay-Cluster mit TDMA-Struktur (Slots innerhalb definierter KommunikationszyklenCycle n…Cycle n+4).
- Empfänger-Knoten (Rx):
FrIf: Reagiert auf empfangene FlexRay-Frames und meldet sie an FrTp weiter.FrTp: Reassembliert Segmente, überwachtCounter MaxFcWaitsowieTimeout_CRund generiert FC-Frames (FC.WAIT,FC.CTS).PduR: Steuert das TP-Puffermanagement für die oberen Schichten (z. B. DCM / COM).
Signale, PDUs & API-Funktionen
Transmit(): AufrufePduR_FrTpTransmit()bzw.FrIf_Transmit().RxInd():FrIf_RxIndication().StartOfReception()/SOR():PduR_FrTpStartOfReception()zur Pufferallokation beim Start einer segmentierten Übertragung.CRxD:PduR_FrTpCopyRxData()zum Kopieren der empfangenen Nutzdaten in den bereitgestellten PduR-Puffer.- PDUs:
SF: Start Frame (Initialsegment der segmentierten Übertragung gemäß ISO 10681-2).FC.WAIT: Flow Control Frame mit FlowStatusWT(Wait).FC.CTS: Flow Control Frame mit FlowStatusCTS(Clear To Send).CF: Consecutive Frame (Folgesegment).
3. Dynamisches Verhalten & Sequenzablauf
Chronologischer Ablauf
- Initialisierung & SF-Übertragung:
- Tx-
PduRstößt perTransmit()die FrTp-Übertragung an; Tx-FrTpübergibt die Daten viaTransmit()an Tx-FrIf. - Der Start Frame (
SF) wird im statischen/dynamischen Slot inCycle nüber den Bus gesendet. - Mit dem Senden des SF startet Tx-
FrTpden ÜberwachungstimerTimeout_BS(Warten auf Flow Control).
- Tx-
- Pufferanforderung & Pufferengpass (Rx-Seite):
- Rx-
FrIfsignalisiert den Empfang perRxInd()an Rx-FrTp. - Rx-
FrTpruftStartOfReception()an Rx-PduRauf;PduRliefertNo Buffer(BUFREQ_E_BUSY). - Rx-
FrTpfordert Tx vonFC.WAITüber Rx-FrIfan und setztCounter MaxFcWait = 1.
- Rx-
- Erster FC.WAIT & Timer-Verhalten (Cycle n+1):
FC.WAITwird inCycle n+1übertragen und perRxInd()an Tx-FrTpübergeben.- Tx-
FrTpempfängtFC.WAITund setztTimeout_BSzurück (Timer wird neu gestartet). - Rx-
FrTppollt Rx-PduRerneut perSOR(); PduR meldet weiterhinNo Buffer. - Rx-
FrTpsendet erneutFC.WAITviaTransmit()und inkrementiertCounter MaxFcWait = 2.
- Zweiter FC.WAIT & Pufferallokation (Cycle n+2):
FC.WAITwird inCycle n+2übertragen; Tx-FrTpsetztTimeout_BSabermals zurück.- Rx-
FrTpruft erneutSOR()an PduR auf; PduR meldet nunBuffer(BUFREQ_OK). - Rx-
FrTpübergibt die im SF zwischengespeicherten Daten perCRxD(PduR_FrTpCopyRxData()) an den nun allokierten PduR-Puffer. - Rx-
FrTpsendetFC.CTSüber Rx-FrIfund startet den TimerTimeout_CR(Warten auf FolgesegmentCF).
- Freigabe & CF-Übertragung (Cycle n+3 bis Cycle n+4):
- In
Cycle n+3wirdFC.CTSübertragen; Tx-FrTpstopptTimeout_BS. - Tx-
FrTpübermittelt denCFviaTransmit()an Tx-FrIf. - In
Cycle n+4wird derCFübertragen; Rx-FrIfmeldet ihn perRxInd()an Rx-FrTp, wodurchTimeout_CRgestoppt/zurückgesetzt wird.
- In
Abbruchbedingungen & Fehlerpfade
MaxFcWait-Exzedierung: ErreichtCounter MaxFcWaitden konfigurierten Schwellenwert (FrTpMaxWft), ohne dass PduR Puffer bereitstellt, bricht Rx-FrTpdie Reassemblierung ab und signalisiert den Fehler.Timeout_BS-Ablauf: Geht einFC.WAIToderFC.CTSverloren oder verzögert sich über das Timeout hinaus, bricht Tx-FrTpdie Übertragung ab.Timeout_CR-Ablauf: Bleibt derCFnach dem Absenden vonFC.CTSlänger alsTimeout_CRaus, bricht Rx-FrTpdie Sitzung ab und gibt den allokierten Puffer frei.
4. Normative Relevanz & Entwickler-Hinweise
- FrTp-Pufferung: Rx-
FrTpmuss die Nutzdaten des Start Frames intern vorhalten, wennPduR_FrTpStartOfReception()zunächstBUFREQ_E_BUSYmeldet. Erst nach erfolgreicher Pufferzuteilung (BUFREQ_OK) werden diese Daten perPduR_FrTpCopyRxData()(CRxD) nachgereicht. - Konfigurationsparameter:
FrTpMaxWft: Bestimmt die Obergrenze fürCounter MaxFcWait. Muss anhand der Pufferfreigabe-Latenzen der Applikation (z. B. DCM Diagnosesitzungen) dimensioniert werden.FrTpTimeoutBs: Muss mindestens die TDMA-Roundtrip-Zeit (FlexRay-Slot- und Cycle-Verzögerung für Tx des SF plus Rx des FC) sowie Jitter abdecken.FrTpTimeoutCr: Muss an die Tx-Schedule-Planung des Senders angepasst sein (Zeitpunkt des nächsten verfügbaren CF-Slots nach Empfang vonFC.CTS).
- TDMA-Asynchronität: FrIf-Aufrufe (
Transmit()) laufen asynchron zur tatsächlichen Übertragung auf dem Bus. Die zeitliche Granularität der Timer und Counter ist strikt an das FlexRay-Kommunikationsraster (Cycle Time, Slot Allocation) gekoppelt.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.