AUTOSAR_CP_SWS_FlexRayISOTransportLayer
FIG-d935b3e72a20f856
910 × 740 px
4 Release(s)
Figure 15: Transmit data overview in ‘Decoupled Buffer Access’ mode Step 01 - 10 Step 01 - 10 in ‘decoupled access mode’ are equal to step 01 – 10 in ‘immediate access mode’. Please refer chapter 7.5.2.1. For step 09 it is recommended to set the address information and PCI to a local buffer because the service primitive FrTp_TriggerTransmit is called in interrupt
SHA-256 Inhalts-Fingerabdruck:
d935b3e72a20f856b25d8284e25660708eb7e009d4a38719020dc856e07c936e
✦
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: UML-Sequenzdiagramm (Interaktionsübersicht mit Kontrollfluss- und Verzweigungskonstrukten / Inline-Bedingungen).
- Architektur-Kontext: AUTOSAR Classic Platform (CP), Communication Stack (ComStack).
- Funktionale Einordnung: Datenübertragung über das FlexRay ISO Transport Layer (
FrTp, gem. ISO 10681-2) im Betriebsmodus „Decoupled Buffer Access“ (im Gegensatz zum Immediate Buffer Access). - Technischer Zweck: Entkopplung der Datenbereitstellung (Assembly von N-PDUs im Pufferkontext des
FrTp_MainFunction) vom tatsächlichen Sendezeitpunkt des FlexRay-Kommunikationszyklus (FrIf_TriggerTransmitim Interrupt- bzw. Timer-Kontext des FlexRay Interface/Treibers).
2. Komponenten, Entitäten & Schnittstellen
Akteure & Module (Lebenslinien)
PduR(PDU Router): Übergeordnete Vermittlungsschicht; stellt I-SDUs bereit und nimmt Abschlussbestätigungen entgegen.FrTp(FlexRay Transport Layer): Transportprotokollinstanz; zuständig für Segmentierung, Flusssteuerung (Flow Control), PCI-Generierung (Protocol Control Information) und Verbindungs-/Kanalverwaltung.FrIf(FlexRay Interface): Unterlagerte Schnittstelle zum FlexRay-Treiber (Fr); taktet die N-PDU-Übertragung im statischen/dynamischen FlexRay-Segment.
Schnittstellen & Service-Primitive
- Sync Calldown:
FrTp_Transmit(TxSDU-ID, PduInfoPtr): Sendestartanforderung durch PduR.FrIf_Transmit(TxPDU-ID, PduInfoPtr): Übergabe der N-PDU-Sendeanforderung an FrIf.
- Async / Inter-Layer Callbacks & Data-Pull:
PduR_FrTpCopyTxData(TxSDU-ID, ...): Pull-Mechanismus zum Kopieren von Nutzdaten aus dem Upstream-Puffer in den FrTp-N-PDU-Puffer.FrTp_TriggerTransmit(TxPDU-ID, PduInfoPtr): Unterlagertes Polling/Triggering durch FrIf zur Pufferübergabe kurz vor dem FlexRay-Slot.FrTp_TxConfirmation(TxPDU-ID): Bestätigung des erfolgreichen Frame-Versands durch FrIf.PduR_TxConfirmation(TxSDU-ID, Std_ReturnType): End-to-End-Bestätigung des vollständigen SDU-Versands an die PduR.
Interne Entitäten & Zustandsvariablen
TxSDU-ID/TxPDU-ID: Identifikatoren für logische Transport-SDU bzw. physikalische Frame-N-PDU.- Flag
TX_SDU_AVAILABLE: Blockierschutz / Kanalstatusindikator für anstehende SDU-Daten. - Variable
TxPduState: Zustandsüberwachung der N-PDU (wird nachFrTp_TxConfirmationaufIdlezurückgesetzt). - Channel / Connection Allocation: Exklusive Bindung einer logischen FrTp-Verbindung an einen FrTp-Kanal.
3. Dynamisches Verhalten & Sequenzablauf
- Initiierungsphase (Kontext: Aufrufer-Task via PduR):
- 01:
PduRstößt die Übertragung überFrTp_Transmit(TxSDU-ID, ...)synchron an. - 02–04:
FrTpvalidiert dieTxSDU-ID, alloziert einen freien internen Kanal, initialisiert den Verbindungszustand und setzt das FlagTX_SDU_AVAILABLE. Rückkehr zuPduR(asynchroner Sendestart).
- 01:
- Puffer-Bereitstellung & PDU-Zusammenbau (Kontext:
FrTp_Main):- 05: Eintritt in den zyklischen Task-Aufruf
FrTp_Main. - 06–08: Abfrage und Kopieren der Nutzdaten via
PduR_FrTpCopyTxData(...), Zuweisung einer freienTxPDU-IDaus dem PDU-Pool und vollständiges Einlesen des Payloads. - 09–10: Lokale Vorbereitung von Adressinformationen und N-PCI (Start/Consecutive Frame); Übergabe der Sendeanforderung an die untere Schicht via
FrIf_Transmit(TxPDU-ID).
- 05: Eintritt in den zyklischen Task-Aufruf
- Hardwarenaher Sendeabruf (Kontext: FrIf / ISR):
- 11–12:
FrIfruft kurz vor dem Slot-SendezeitpunktFrTp_TriggerTransmitauf;FrTpkopiert die vorbereitete N-PDU direkt in den vom Treiber bereitgestellten Puffer. - 13–14: Nach erfolgreichem Bus-Transfer meldet
FrIfden Abschluss viaFrTp_TxConfirmation; FrTp dekrementiert/resettetTxPduState = "Idle".
- 11–12:
- Segmentierungs-, Flusskontroll- & Abschlusslogik (Kontext: Folgender
FrTp_Main):- 15: Nächste Ausführung von
FrTp_Main. - 16–18 (IF Flow Control): Falls das Protokoll ein Flow Control Frame erwartet (z. B. nach First Frame oder blockweisem Transfer), verbleibt der Kanal im Wartezustand (
Wait until FlowControl is received), bis der Empfang quittiert wird. - 19–23 (IF Segmentierung/Abschluss):
- Fall A (SDU unvollständig, Schritt 23): Rücksprung zu Schritt 06 zur Segmentierung der nächsten N-PDU.
- Fall B (Alle SDU-Daten übertragen, Schritte 20–22): Freigabe des FrTp-Kanals, Rücksetzen von
TX_SDU_AVAILABLEund finaler Aufruf vonPduR_TxConfirmation(TxSDU-ID, E_OK)zur Benachrichtigung der oberen Schichten.
- 15: Nächste Ausführung von
4. Normative Relevanz & Entwickler-Hinweise
- Interrupt-Kontext-Beschränkung (
FrTp_TriggerTransmit):FrTp_TriggerTransmitwird üblicherweise im FlexRay-Timer-/ISR-Kontext aufgerufen. Es darf darin keine aufwendige Datenmanipulation oder Upstream-Pufferabfrage (PduR_FrTpCopyTxData) stattfinden. Die PCI und Adressdaten müssen zwingend in Schritt 09 in einem lokalen Zwischenspeicher vorassembliert vorliegen (Execution-Time-Minimierung im ISR-Pfad). - Puffer-Lebensdauer & PDU-Pools:
Im Modus Decoupled Buffer Access muss der FrTp über dedizierte interne N-PDU-Buffer verfügen (Konfiguration via
FrTpTxPduPool). Ein geteiltes Puffer-Design erfordert strikte Exklusivität zwischenFrIf_TransmitundFrTp_TxConfirmation. - Reentrancy & Task-Scheduling:
FrTp_Transmit(Taskkontext) vs.FrTp_MainFunction(Zyklischer Task) vs.FrTp_TriggerTransmit(ISR-Kontext) erfordern reentrante Schutzmechanismen (kritische Abschnitte / Schutzzonen viaSchM_FrTp), insbesondere bezüglich Kanalallokation,TxPduStateund Pufferindizes.
- PduR-Kopiersemantik:
Da
PduR_FrTpCopyTxDatabereits inFrTp_Mainvor der eigentlichen Hardwareübertragung aufgerufen wird, müssen die Daten in oberen Schichten (z. B. DCM, COM) stabil gehalten bzw. direkt in den FrTp-Zwischenpuffer übergeben werden; ein Puffer-Overrun oder verfrühtes Überschreiben im oberen Layer führt zu Dateninkonsistenzen.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.