AUTOSAR_SWS_FlexRayISOTransportLayer
FIG-58ec1092fe0db1ff
798 × 1124 px
1 Release(s)
Figure 26: Receiving of N-Pdus (FrTp_MainFunction() shall call PduR_FrTpStartOfReception()
SHA-256 Inhalts-Fingerabdruck:
58ec1092fe0db1ff839933691c6de6af381ded564c6f2d611f76d3c4c9067389
✦
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 verschachtelten Ausführungsrahmen (
combined fragments/ bedingte Blöcke). - Technischer Zweck: Spezifikation des asynchron entkoppelten Empfangspfades (Decoupled Reception Handling) im AUTOSAR FlexRay Transport Layer (
FrTp, ISO 10681-2) gemäß AUTOSAR R4.1.3. - Architektur-Kontext: Entkopplung des zeitkritischen Interrupt-/Treiber-Kontexts (
FrIf) von der oberen Kommunikationsschicht (PduR).FrTp_RxIndication()puffert empfangene N-PDUs lediglich zwischen; die Weitergabe an den PDU-Router viaPduR_StartOfReception()undPduR_FrTpCopyRxData()erfolgt verzögert im periodischen Kontext derFrTp_MainFunction().
2. Komponenten, Entitäten & Schnittstellen
- Beteiligte Module (Lifelines):
PduR(PDU Router): Vermittlungsschicht; allokiert Empfangspuffer und nimmt assemblierte I-SDUs entgegen.FrTp(FlexRay ISO Transport Layer): Segmentierung, Reassemblierung, Flusssteuerung und Quittierung gemäß ISO 10681-2.FrIf(FlexRay Interface): Hardware-Abstraktionsschicht des FlexRay-Kommunikations-Controllers.
- Aufgerufene Schnittstellen & APIs:
- Unterer Schichtenübergang (
FrTp↔FrIf):FrTp_RxIndication(): Benachrichtigung über eingegangene FlexRay-N-PDU aus dem Bus-Interface.FrIf_Transmit(): Sendeanforderung für Transportprotokoll-Steuerframes (FC / Ack).FrTp_TriggerTransmit(): Polling-Callback desFrIfzur Datenübergabe bei entkoppeltem Puffermodus (Decoupled Buffer Access).FrTp_TxConfirmation(): Sendebestätigung für FC- bzw. Ack-Frames.
- Oberer Schichtenübergang (
FrTp→PduR):PduR_StartOfReception()(bzw.PduR_FrTpStartOfReception()): Initialer Aufruf zur Pufferbereitstellung bei Beginn einer SDU-Rezeption.PduR_FrTpCopyRxData(): Segmentweises Kopieren empfangener Nutzdaten in den Zielpuffer des PduR/oberen Layers.PduR_RxIndication(): Finale Abschlussmeldung über die vollständig empfangene I-SDU.
- Unterer Schichtenübergang (
- Zustandsvariablen / Flags:
RX_PDU_AVAILABLE: Synchronisations-Flag zwischen ISR-/Interface-Kontext und periodischem MainFunction-Kontext.TX_PDU_AVAILABLE: Status-Flag zur Steuerung von Sendeanforderungen (wird bei Abschluss zurückgesetzt).
3. Dynamisches Verhalten & Sequenzablauf
- Phasen-Trigger (Interrupt- bzw. Treiber-Ebene):
FrIfruft synchronFrTp_RxIndication()auf.FrTpkopiert die N-PDU intern (Copy data) und setzt das interne Signal-FlagRX_PDU_AVAILABLE = True.- Rücksprung zu
FrIf. Keine Interaktion mit demPduRim ISR-Kontext.
- Geplante Verarbeitung im Task-Kontext (
FrTp_Main):- Die periodische
FrTp_MainFunction()prüftCheck Flag RX_PDU_AVAILABLE. - Bedingung
RX_PDU_AVAILABLE == True:- Block
If SF received(Single Frame):FrTpruftPduR_StartOfReception()auf, um den Empfang anzumelden und die Puffergröße zu verifizieren.FrTpruftPduR_FrTpCopyRxData()auf;PduRkopiert die Daten in den Zielspeicher.
- Block
If N-Pdu.FC or N-Pdu.Ack is required:- Falls das Protokoll eine Flusssteuerung (Flow Control) oder Quittierung (Ack) erfordert: Aufruf von
FrIf_Transmit(). - Optional (
If Decoupled Buffer Access is configured):FrIffordert die Frame-Payload zeitversetzt via CallbackFrTp_TriggerTransmit()an. FrIfbestätigt den Sendevorgang viaFrTp_TxConfirmation().
- Falls das Protokoll eine Flusssteuerung (Flow Control) oder Quittierung (Ack) erfordert: Aufruf von
- Block
If complete SDU is received:FrTpsetzt das Sende-/Statusflag zurück (Reset Flag TX_PDU_AVAILABLE).FrTpsignalisiert den erfolgreichen Gesamtempfang an die Anwendung viaPduR_RxIndication().
- Block
- Die periodische
4. Normative Relevanz & Entwickler-Hinweise
- Kontext- und Thread-Sicherheit:
RX_PDU_AVAILABLEfungiert als IPC-Schranke zwischen ISR (FrIf_RxIndication) und OS-Task (FrTp_MainFunction). Der Zugriff muss atomar oder über Critical Sections (SchM_Enter_FrTp_...) abgesichert sein, um Race Conditions zu verhindern. - Speicher-Overhead: Das Verfahren erzwingt Zwischenpuffer im
FrTp(RAM-Bedarf pro Empfangskanal), da Nutzdaten imRxIndication-Aufruf zwischengespeichert werden müssen, bevor derPduR-Zielpuffer viaPduR_StartOfReception()überhaupt angefordert wird. - Latenz & ISO 10681-2 Timer: Das Verschieben von
PduR_StartOfReception()und der FC/Ack-Generierung in dieFrTp_MainFunction()macht die Antwortzeiten direkt abhängig vom Task-Scheduling-Intervall (FrTpMainFunctionCycle). Eine zu große Zykluszeit führt zu Protokoll-Timeouts (Verletzung von N_Ar / N_Br) auf dem FlexRay-Bus. - Pufferzugriffsmodus: Der Aufruf von
FrTp_TriggerTransmit()ist rein konfigurativ: Er wird nur durchlaufen, wenn imFrIf/Frder entkoppelte Puffermodus aktiviert ist (im Schaubild als „Decoubled Buffer Access“ typographisch fehlerhaft mit „b“ beschriftet). Im direkten Modus übergibtFrIf_Transmit()den Puffer unmittelbar.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.