AUTOSAR_SWS_FlexRayISOTransportLayer
FIG-802d40813da2c1c6
896 × 648 px
1 Release(s)
Figure 16: Receive data overview (FrTp_RxIndication() shall call PduR_FrTpStartOfReception()
SHA-256 Inhalts-Fingerabdruck:
802d40813da2c1c6c9857d1bb9fb49722277fa01d4a9fb07242e5d3ed26ae592
✦
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
- Diagrammtyp: Interaktions- / Sequenzdiagramm mit Kontrollfluss-Annotationen (Pseudocode-Verzweigungen
IF-THEN-ELSE) und zwei Ausführungskontexten (asynchroner Callback-/ISR-Kontext vs. periodischer Task-Kontext). - Technischer Zweck: Spezifikation des normativen Empfangspfads segmentierter und unsegmentierter Transport-PDUs nach ISO 10681-2 im AUTOSAR FlexRay Transport Layer (
FrTp). - Funktionale Einordnung: Vertikale Entkopplung zwischen der busnahen Hardware-Abstraktion (
FrIf) und dem PDU-Routing (PduR). Das Diagramm verdeutlicht die Entlastung des Interrupt-Kontexts durch asynchrone Weiterverarbeitung in der periodischen Hauptfunktion.
2. Komponenten, Entitäten & Schnittstellen
- Beteiligte BSW-Module (Lifelines):
FrIf(FlexRay Interface): Liefert empfangene N-PDUs an und sendet generierte Flow-Control-Frames aus.FrTp(FlexRay ISO Transport Layer): Protokollmaschine für Reassemblierung, Adressierung, PCI-Dekodierung, Flusskontrolle und Kanalallokation.PduR(PDU Router): Abnehmer der I-SDU; Schnittstelle zu oberen Schichten (z. B. DCM, COM).
- Schnittstellen & Service-APIs:
- Downlink-Schnittstellen (
FrIf↔FrTp):FrTp_RxIndication(RxPduId, PduInfoPtr): Synchroner Empfangs-Callback vonFrIfanFrTp.FrIf_Transmit(TxPduId, PduInfoPtr): Sendeanforderung für Flow-Control-PDUs (FC,FC.ACK).
- Uplink-Schnittstellen (
FrTp→PduR):PduR_FrTpStartOfReception(RxSduId, TpSduInfoPtr, TpSduLength, BufferSizePtr): Initialer Pufferallokations-Aufruf bei Empfang eines Start Frames (STF).PduR_FrTpCopyRxData(RxSduId, PduInfoPtr, BufferSizePtr): Kopieren der Nutzdaten aus dem lokalen Transport-Layer-Puffer in den Zielpuffer.PduR_FrTpRxIndication(RxSduId, Result): Abschlussmeldung der vollständigen SDU-Rezeption.
- Task-Schnittstelle:
FrTp_Main/FrTp_MainFunction(): Zyklischer SchM-/OS-Task-Einsprungpunkt.
- Downlink-Schnittstellen (
- Interne Datenstrukturen & Flags:
RX_PDU_AVAILABLE(RxPduId): Synchronisations- und Zustands-Flag (Kanal-/PDU-spezifisch) zur Übergabe vom ISR- an den Task-Kontext.Local Buffer: Zwischenpuffer innerhalb vonFrTpzur Entkopplung des Bus-Timings von der PduR-Pufferbereitstellung.Channel / Connection: Dynamisch zugewiesene Verwaltungseinheit für eine aktive logische 1:1- oder 1:n-Verbindung.
3. Dynamisches Verhalten & Sequenzablauf
Phase I: Interrupt- / Callback-Ebene (FrTp_RxIndication)
- 01:
FrIfruft synchronFrTp_RxIndication(PDU-ID). - 02–03:
FrTpvalidiertPDU-ID, extrahiert Quell-/Zieladresse und parst den PCI (Protocol Control Information). - 04–07 (Zweig STF - Start Frame):
- Freien Kanal allokieren und Verbindung initialisieren (05).
- Nutzdaten in den internen
Local Bufferkopieren (06). - Synchroner Callout
PduR_FrTpStartOfReception(RxSduId, ...)zur Prüfung der Pufferverfügbarkeit und Bekanntgabe der Gesamtlänge (07).
- 08 (Zweig CF - Consecutive Frame):
- Bestehenden Kanal anhand Verbindungs-ID / Adressen identifizieren.
- 09: Setzen von
RX_PDU_AVAILABLE(RxPduId)und unverzügliche Rückkehr zuFrIf.
Phase II: Zyklische Task-Ebene (FrTp_MainFunction)
- 10–12:
FrTp_Mainwird aufgerufen, quittiert/löschtRX_PDU_AVAILABLE(RxPduId)(11) und führt die Detailanalyse des PCI durch (12). - 13–14 (Flow Control Handling):
- Falls gemäß Protokollzustand (z. B. Block Size / Bandbreitenanforderung) erforderlich: Generierung und Versand des Flow-Control-Frames via
FrIf_Transmit(TxPduId, ...)(14).
- Falls gemäß Protokollzustand (z. B. Block Size / Bandbreitenanforderung) erforderlich: Generierung und Versand des Flow-Control-Frames via
- 15: Übergabe der Nutzdaten an den PDU-Router über
PduR_FrTpCopyRxData(RxSduId, ...). - 16–17 (Unvollständige Nachricht):
- Falls noch weitere N-PDUs ausstehen: Zustand halten, auf nächste CF-Indikation warten (Rücksprung zu Schritt 01).
- 18–22 (Abschluss der SDU):
- Falls ISO 10681-2 Acknowledge gefordert ist (
FlowControl.ACK): Senden vonFC.ACKviaFrIf_Transmit(19–20). - Freigabe des zugewiesenen Kanals (21).
- Abschlussmeldung an die Applikation via
PduR_FrTpRxIndication(RxSduId, E_OK)(22).
- Falls ISO 10681-2 Acknowledge gefordert ist (
4. Normative Relevanz & Entwickler-Hinweise
- SWS_FrTp_00137 (Normative Anforderung): Bei Empfang eines
STFist der synchrone Aufruf vonPduR_FrTpStartOfReception()zwingend vorgeschrieben. Der Rückgabewert (BUFREQ_OK,BUFREQ_E_NOT_OK,BUFREQ_E_OVFL) entscheidet unmittelbar darüber, ob der Transfer akzeptiert, per Flow-Control (FC_OVFLW) abgewiesen oder verworfen wird. - Kontext-Splitting & ISR-Latenz:
- Die Datenübergabe via
PduR_FrTpCopyRxData()erfolgt normativ im Task-Kontext (FrTp_MainFunction), nicht in der ISR. - Obere Schichten (z. B.
Dcm,PduR) dürfen inPduR_FrTpStartOfReception()keine langwierigen oder blockierenden Operationen ausführen, da dies denFrIf_RxIndication-Aufrufpfad (potenziell CAT2-ISR) verlängert.
- Die Datenübergabe via
- Concurrency & Critical Sections:
- Der Zugriff auf das Synchronisations-Flag
RX_PDU_AVAILABLEsowie auf die Kanal-Deskriptoren muss gegen gleichzeitigen Zugriff zwischen ISR-Ebene (FrTp_RxIndication) und Task-Ebene (FrTp_MainFunction) mittels Basic Software Scheduler Protection (SchM_Enter_FrTp_.../SchM_Exit_FrTp_...) atomar gekapselt sein.
- Der Zugriff auf das Synchronisations-Flag
- Pufferallokation & Dimensionierung:
- Das Modul erfordert dedizierte Pufferkapazitäten (
Copy data into local buffer), um empfangene N-PDUs zwischen Speicherung inFrTp_RxIndicationund Abholung inFrTp_MainFunctionvor Überschreiben zu sichern.
- Das Modul erfordert dedizierte Pufferkapazitäten (
- Protokollspezifika (ISO 10681-2 vs. ISO 15765-2):
- Entwickler müssen beachten, dass FlexRay TP ein explizites Acknowledge (
FlowControl.ACK) nach Rezeption aller Datenpakete unterstützt, was im CAN TP nicht existiert und gesonderte Tx-PDU-Ressourcen imFrIfbindet.
- Entwickler müssen beachten, dass FlexRay TP ein explizites Acknowledge (
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.