DEENESPTFRRUARHIKOZHNL
AUTOSAR_SWS_FlexRayInterface FIG-b6d0cb1bc20b4435 926 × 805 px 2 Release(s)

Figure 9: 1: TransmitWithImmediateBufferAccess

SHA-256 Inhalts-Fingerabdruck: b6d0cb1bc20b44359be7c483817dd655aae16e699f81e786c4edaa495fe9fb5f
✦ 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

UML-Sequenzdiagramm im Rahmen sd FrIf Tx with Immediate Buffer Access. Es stellt den synchronen Sendeablauf einer PDU über das AUTOSAR FlexRay Interface (FrIf) mit direktem Pufferzugriff (Immediate Buffer Access) dar. Der Ablauf verortet sich im Kommunikationsstapel zwischen einer generischen oberen Schicht (Upper Layer), dem FlexRay Interface (FrIf) und dem hardwarenahen FlexRay-Treiber (Fr).

2. Komponenten, Entitäten & Schnittstellen

Beteiligte Entitäten mit Lebenslinien:

  • Generic Elements::Upper Layer for FrIf: Generische Oberschicht (z. B. PduR).
  • «module» FrIf::FrIf: FlexRay-Interface-Modul.
  • «module» Fr::Fr: FlexRay-Treiber-Modul (Hardware-Abstraktionsschicht).

Schnittstellen und Nachrichten:

  • FrIf_Transmit(return, FrIf_TxPduId, FrIf_PduInfoPtr): Synchroner Sendeaufruf von der Oberschicht an das FrIf.
  • Interne FrIf-Operationen:
    • Use FrIf_TxPduId to find out appropriate FlexRay Driver, Fr_CtrlIdx, and Fr_LPDU
    • Use PduInfoPtr to find out Fr_LSduPtr and Fr_LSduLength
  • Fr_TransmitTxLPdu(return, Fr_CtrlIdx, Fr_LPduIdx, Fr_LSduPtr, Fr_LSduLength): Aufruf an den FlexRay-Treiber.
  • Interne Fr-Operationen:
    • Use Fr_LPduIdx to find out actual transmit buffer of CC Fr_CtrlIdx
    • Use Fr_LSduPtr and Fr_LSduLength to copy L-SDU into CC transmit buffer and commit the buffer
  • Fr_TransmitTxLSdu: Rückmeldung des Treibers an das FrIf.
  • FrIf_Transmit: Rückmeldung des Sendeauftrags an die Oberschicht.

3. Dynamisches Verhalten & Sequenzablauf

  1. Die Oberschicht initiiert das Senden durch den Aufruf von FrIf_Transmit(return, FrIf_TxPduId, FrIf_PduInfoPtr).
  2. Das FrIf ermittelt anhand von FrIf_TxPduId den zuständigen FlexRay-Treiber, den Controller-Index (Fr_CtrlIdx) und die LPDU (Fr_LPDU).
  3. Anhand des Zeigers FrIf_PduInfoPtr liest das FrIf die Zeigeradresse der SDU (Fr_LSduPtr) sowie die Länge (Fr_LSduLength) aus.
  4. Das FrIf ruft synchron am Treiber Fr_TransmitTxLPdu(return, Fr_CtrlIdx, Fr_LPduIdx, Fr_LSduPtr, Fr_LSduLength) auf.
  5. Der Treiber ermittelt anhand von Fr_LPduIdx den zugehörigen Sendepuffer des Communication Controllers Fr_CtrlIdx.
  6. Der Treiber kopiert die L-SDU mittels Fr_LSduPtr und Fr_LSduLength in den Sendepuffer des Controllers und gibt den Puffer frei (Commit).
  7. Der Treiber quittiert die Operation mit Fr_TransmitTxLSdu an das FrIf.
  8. In einem optionalen Block (opt Fr_TransmitTxLSdu() returned E_OK):
    • Wenn [PDU's TxConfCounter < PDU's CounterLimit] zutrifft, inkrementiert das FrIf den Zähler TxConfCounter der PDU (Increment PDU's TxConfCounter).
  9. Das FrIf kehrt mit FrIf_Transmit zur Oberschicht zurück.

4. Normative Relevanz & Entwickler-Hinweise

Das Diagramm spezifiziert das synchrone Senden mit direktem Pufferzugriff:

  • Das Schreiben in den Kommunikations-Controller-Sendepuffer erfolgt im Kontext des Sendeaufrufs (FrIf_Transmit), ohne asynchrones Entkoppeln über FrIf-eigene Puffer.
  • Die Ausführung von Tx-Bestätigungen bzw. das Hochzählen des Bestätigungszählers (TxConfCounter) ist an den Rückgabewert E_OK des Treibers sowie an eine Obergrenze (CounterLimit) gebunden.
  • Entwickler müssen sicherstellen, dass Pufferkonfiguration, SDU-Längen und Controller-Zuordnungen über die statische Konfiguration konsistent aufeinander abgebildet sind.

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

R3.1.5 → R3.2.3 keine inhaltliche Änderung Nachfolger: FIG-a5136123c197ce75

Keine inhaltlichen Änderungen erkennbar.

Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Aus dem Dokument extrahierter Text & Kontext

Beschriftungen im Schaubild:

sd FrIf Tx with Immediate Buffer Access | «module» | FrIf::FrIf | «module» | Fr::Fr | opt Fr_TransmitTxLSdu() returned E_OK | Generic Elements::Upper Layer | for FrIf | FrIf_Transmit(return, FrIf_TxPduId, FrIf_PduInfoPtr) | Use FrIf_TxPduId to find out appropriate FlexRay Driver, Fr_CtrlIdx, and Fr_LPDU | Use PduInfoPtr to find out Fr_LSduPtr and Fr_LSduLength | Fr_TransmitTxLPdu(return, Fr_CtrlIdx, Fr_LPduIdx, Fr_LSduPtr, Fr_LSduLength) | Use Fr_LPduIdx to find out actual transmit buffer of CC Fr_CtrlIdx | Use Fr_LSduPtr and Fr_LSduLength to copy L-SDU into CC transmit buffer and commit the buffer | Fr_TransmitTxLSdu | [PDU's TxConfCounter < PDU's CounterLimit]: Increment PDU's TxConfCounter | FrIf_Transmit

Vorkommen in AUTOSAR-Releases (2)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R3.0.7 AUTOSAR_SWS_FlexRayInterface S. 87 9 Figure 9: 1: TransmitWithImmediateBufferAccess
R3.1.5 AUTOSAR_SWS_FlexRayInterface S. 87 9 Figure 9: 1: TransmitWithImmediateBufferAccess