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_LPDUUse 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_CtrlIdxUse 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
- Die Oberschicht initiiert das Senden durch den Aufruf von
FrIf_Transmit(return, FrIf_TxPduId, FrIf_PduInfoPtr). - Das
FrIfermittelt anhand vonFrIf_TxPduIdden zuständigen FlexRay-Treiber, den Controller-Index (Fr_CtrlIdx) und die LPDU (Fr_LPDU). - Anhand des Zeigers
FrIf_PduInfoPtrliest dasFrIfdie Zeigeradresse der SDU (Fr_LSduPtr) sowie die Länge (Fr_LSduLength) aus. - Das
FrIfruft synchron am TreiberFr_TransmitTxLPdu(return, Fr_CtrlIdx, Fr_LPduIdx, Fr_LSduPtr, Fr_LSduLength)auf. - Der Treiber ermittelt anhand von
Fr_LPduIdxden zugehörigen Sendepuffer des Communication ControllersFr_CtrlIdx. - Der Treiber kopiert die L-SDU mittels
Fr_LSduPtrundFr_LSduLengthin den Sendepuffer des Controllers und gibt den Puffer frei (Commit). - Der Treiber quittiert die Operation mit
Fr_TransmitTxLSduan dasFrIf. - In einem optionalen Block (
opt Fr_TransmitTxLSdu() returned E_OK):- Wenn
[PDU's TxConfCounter < PDU's CounterLimit]zutrifft, inkrementiert dasFrIfden ZählerTxConfCounterder PDU (Increment PDU's TxConfCounter).
- Wenn
- Das
FrIfkehrt mitFrIf_Transmitzur 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ückgabewertE_OKdes 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.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.