DEENESPTFRRUARHIKOZHNL
AUTOSAR_CP_SWS_FlexRayISOTransportLayer FIG-1317e568079854cf 506 × 1004 px 4 Release(s)

Figure 25: Sending of N-Pdus

SHA-256 Inhalts-Fingerabdruck: 1317e568079854cf6a5f58d6d9dd419d1cf10fb7fb01e72a6bd5d3db9fe63e19
✦ KI-generierte Bildanalyse & technische Beschreibung Modell: gemini-3.8-flash (via agy) · Rezept figure-series@1 · erstellt am 2026-10-08

1. Diagrammtyp & Architektur-Kontext

  • Klassifikation: UML-Sequenzdiagramm (Interaktionsdiagramm) mit bedingten Ausführungsrahmen (Combined Fragments / Interaction Frames).
  • Technischer Zweck: Spezifikation des asynchronen N-SDU-Sendeablaufs (Sending of N-PDUs) über das FlexRay-ISO-Transport-Layer-Modul (FrTp, ISO 10681-2) im AUTOSAR Classic ComStack (Release R4.1.3).
  • Funktionale Einordnung: Detaillierung der Interaktion zwischen Vermittlungsschicht (PduR), Transportprotokollschicht (FrTp) und unterer Busschnittstelle (FrIf) zur Entkopplung von Sendeanforderung, Pufferabruf, Segmentierung und Sendeüberwachung.

2. Komponenten, Entitäten & Schnittstellen

  • Komponenten (Lifelines):
    • PduR (PDU Router): Übergeordnete Instanz; initiiert Sendeanforderungen, stellt Nutzdaten via Callback bereit und nimmt die finale Sendebestätigung entgegen.
    • FrTp (FlexRay ISO Transport Layer): Protokollinstanz; zuständig für Segmentierung, Flusskontrolle (FC), ACK-Auswertung, Timer-Überwachung und Assemblierung von Transport-PDUs (SF, FF, CF).
    • FrIf (FlexRay Interface): Untergeordnete Abstraktionsschicht zum FlexRay-Treiber/Controller; übernimmt Sendeaufträge und liefert Bus-Trigger/Bestätigungen.
  • Schnittstellen & Service-APIs:
    • FrTp_Transmit(TxPduId, PduInfoPtr): Initiale asynchrone Sendeanforderung durch den PduR.
    • PduR_FrTpCopyTxData(TxPduId, PduInfoPtr, RetryInfoPtr, AvailableDataPtr): Pufferabruf-Callback zur schrittweisen Extraktion der SDU-Payload aus dem PduR-Puffer.
    • FrIf_Transmit(TxPduId, PduInfoPtr): Übergabe der assemblierten N-PDU an das FlexRay-Interface.
    • FrTp_TriggerTransmit(TxPduId, PduInfoPtr): Polling-API der unteren Schicht bei entkoppeltem Pufferzugriff (Decoupled Buffer Access).
    • FrTp_TxConfirmation(TxPduId) / PduR_TxConfirmation(TxPduId): Bestätigungs-Callbacks über erfolgte Frame- bzw. Gesamt-SDU-Übertragungen.
    • FrTp_RxIndication(RxPduId, PduInfoPtr): Empfang von Gegenstellen-Nachrichten (Flow Control N-PDU.FC oder Quittungen ACK).
  • Interne Kontrollvariablen / Flags:
    • TX_PDU_AVAILABLE: Status-Flag in FrTp; indiziert eine anstehende SDU-Übertragung für den zyklischen Task-Kontext.
    • TC_REQUEST: Tx-Confirmation-Request-Flag; steuert verzögerte Bestätigungen an den PduR.

3. Dynamisches Verhalten & Sequenzablauf

  1. Asynchroner Sendestart:
    • PduR ruft synchron FrTp_Transmit() auf.
    • FrTp setzt intern TX_PDU_AVAILABLE = True und kehrt unmittelbar via Return-Pfad zurück (nicht-blockierender Aufruf).
  2. Zyklische Verarbeitung (FrTp_Main):
    • Im periodischen Task-Kontext prüft FrTp das Flag TX_PDU_AVAILABLE.
    • Bei TC_REQUEST == True: Aufruf von PduR_TxConfirmation() für vorangegangene Quittierungsbedarfe.
    • Payload-Extraktion: FrTp ruft PduR_FrTpCopyTxData() auf. Bei inkrementellem Kopieren erfolgt die Pufferübertragung (Copy data) iterativ bis zur vollständigen Frame-Nutzlast.
    • Frame-Assemblierung: Build an appropriate N-PDU (Generierung von Header/PCI gemäß ISO 10681-2).
    • Übergabe nach unten: Aufruf von FrIf_Transmit(), Bestätigung via Return-Pfad.
  3. **Optional: Entkoppelter Pufferzugriff (Decoupled Buffer Access):**
    • Falls konfiguriert (im Diagramm typografisch als Decoubled Buffer Access betitelt), triggert das FrIf die Datenbereitstellung zeitversetzt über FrTp_TriggerTransmit().
  4. L2-Bestätigung & Protokoll-Rückmeldung:
    • FrIf meldet den physischen Busversand über FrTp_TxConfirmation().
    • Optional (Flusskontrolle / ACK): Erfordert das Protokoll ein FC- oder ACK-Frame, empfängt FrTp dieses via FrIf_RxIndication().
  5. Abschluss der Übertragung:
    • Wenn alle Bytes der Gesamt-SDU übertragen und quittiert sind: FrTp setzt TX_PDU_AVAILABLE = False zurück.
    • FrTp benachrichtigt den PduR endgültig über PduR_TxConfirmation().

4. Normative Relevanz & Entwickler-Hinweise

  • Kontext-Trennung & WCET: FrTp_Transmit() darf keine langwierigen Kopieroperationen durchführen; das Serialisieren via PduR_FrTpCopyTxData() ist zwingend in den Kontext von FrTp_MainFunction() (bzw. FrTp_Main) ausgelagert, um den Stack-Aufrufer vor unzulässigen Ausführungszeiten zu schützen.
  • **Pufferstrategie (Decoupled Buffer Access):** Bei aktiviertem entkoppeltem Zugriff muss der Puffer in FrTp zwischen FrIf_Transmit() und FrTp_TriggerTransmit() zwingend stabil gehalten werden. Ein Überschreiben vor dem Trigger-Aufruf führt zu Datenkorruption im FlexRay-Slot.
  • Flusskontrolle & Timeouts: Entwickler müssen beachten, dass beim Warten auf N-PDU.FC über FrTp_RxIndication() ISO-10681-2-Timer (z. B. B_s, C_s) scharf geschaltet werden. Läuft der Timer vor Eintreffen der Indication ab, muss FrTp die Übertragung abbrechen und den PduR mit E_NOT_OK über PduR_TxConfirmation() informieren.
  • Reentrancy & Concurrency: Der Zugriff auf TX_PDU_AVAILABLE und TC_REQUEST erfolgt über Thread-/Task-Grenzen hinweg (PduR_Transmit-Kontext vs. FrTp_Main-OS-Task vs. FrIf-Interrupt-Kontext). Diese Zugriffe müssen über AUTOSAR-SchM-Mechanismen (SchM_Enter_FrTp_*, Exclusive Areas) atomar geschützt werden.

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

R19-11 → R20-11 keine inhaltliche Änderung Vorgänger: FIG-7f40b68edd0418c8

Keine inhaltlichen Änderungen erkennbar.

R23-11 → R24-11 keine inhaltliche Änderung Nachfolger: FIG-7ca25c48b3b06a77

Keine inhaltlichen Änderungen erkennbar.

Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Aus dem Dokument extrahierter Text & Kontext

Beschriftungen im Schaubild:

PduR FrTp FrIf | FrTp_Transmit() | Set Flag TX_PDU_AVAILABLE FrTp_Transmit() | Check Flag TC_REQUEST | PduR_FrTpCopyTxData() | PduR_FrTpCopyTxData() | PduR_FrTpCopyTxData() | Copy data | PduR_FrTpCopyTxData() | Build an appropriate N-PDU | FrIf_Transmit() | FrIf_Transmit() | FrTp_TriggerTransmit() | FrTp_TriggerTransmit() | If Decoubled Buffer Access is configured | FrTp_TxConfirmation() | FrTp_TxConfirmation() | FrTp_Main | Check Flag TX_PDU_AVAILABLE | TX_PDU_AVAILABLE = True | PduR_TxConfirmation() | TC_REQUEST = True | If N-PDU.FC is expected or ACK is configured | If complete SDU is transmitted Reset Flag TX_PDU_AVAILABLE PduR_TxConfirmation() | PdUR_TxConfirmation() | FrTp_RxIndication() | FrTp_RxIndication()

Vorkommen in AUTOSAR-Releases (4)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R20-11 AUTOSAR_SWS_FlexRayISOTransportLayer S. 88 25 Figure 25: Sending of N-Pdus
R21-11 AUTOSAR_SWS_FlexRayISOTransportLayer S. 88 25 Figure 25: Sending of N-Pdus
R22-11 AUTOSAR_SWS_FlexRayISOTransportLayer S. 89 25 Figure 25: Sending of N-Pdus
R23-11 AUTOSAR_CP_SWS_FlexRayISOTransportLayer S. 91 25 Figure 25: Sending of N-Pdus