AUTOSAR_SWS_FlexRayInterface
FIG-981e0249d7cdb64c
925 × 1123 px
2 Release(s)
Figure 9: 3: ProvideTxConfirmation
SHA-256 Inhalts-Fingerabdruck:
981e0249d7cdb64cda006a894304c5ba841d175ab54acce044ea669bee9b62bd
✦
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
Das UML-Sequenzdiagramm mit dem Rahmen sd FrIf Provide TxConfirmation spezifiziert den Ablauf zur Bereitstellung der Sende-Bestätigung (Tx-Confirmation) innerhalb des AUTOSAR FlexRay-Kommunikationsstacks. Der dargestellte Prozess ist im Kontext der Joblisten-Ausführung (FrIf Joblist Handling) der FlexRay-Schnittstelle (FrIf) angesiedelt und beschreibt die Interaktion zwischen einer Interrupt-Service-Routine, dem FrIf-Modul, dem darunterliegenden FlexRay-Treiber (Fr) sowie einer übergeordneten Schicht (Upper Layer).
2. Komponenten, Entitäten & Schnittstellen
Beteiligte Komponenten und Entitäten (als UML-Lifelines):
Generic Elements::Upper Layer for FrIf: Übergeordnete AUTOSAR-Schicht (z. B. PduR oder FrNm), die PDUs an das FrIf übergibt und Bestätigungen empfängt.Generic Elements::Interrupt Service Routine: Generischer Auslöser / ISR, welcher die periodische oder ereignisgesteuerte Joblisten-Abarbeitung triggert.«module» FrIf::FrIf: FlexRay Interface, zentrales Schichtmodul zur Abstraktion von Clustern und Controllern.«module» Fr::Fr: FlexRay Driver (Treiber), zuständig für den hardwarenahen Zugriff auf den Kommunikationscontroller.
Schnittstellen und Operationen:
FrIf_JobListExec_<ClstIdx>()/ RückgabeFrIf_JobListExecution_<ClstIdx>: Triggeraufruf der Joblisten-Abarbeitung für einen spezifischen Cluster-Index.Fr_CheckTxLPduStatus(return, Fr_CtrlIdx, Fr_LPduIdx, Fr_TxLSduStatusPtr)/ RückgabeFr_CheckTxLSduStatus: Treiberfunktion zur Prüfung des Übertragungsstatus eines LPdu-Puffers.<UL_TxConfirmation>(FrIf_TxPduId)/ Rückgabe<UL_TxConfirmation>: Callback-Funktion der oberen Schicht zur Benachrichtigung über die erfolgreiche Übertragung einer PDU.
3. Dynamisches Verhalten & Sequenzablauf
- Die
Generic Elements::Interrupt Service Routineinitiiert über den synchronen AufrufFrIf_JobListExec_<ClstIdx>()die Joblisten-Ausführung im ModulFrIf::FrIf. FrIfführt eine interne Sequenz zur Vorbereitung der Statusprüfung aus:- Bestimmung von Treiber-, LPdu- und Controller-Index (
Determine DriverIdx, Fr_LPduIdx, and Fr_CtrlIdx for checking the TxLSdu Status). - Vorbereitung des Ausgabezeigers (
Set Fr_TxLSduStatusPtr to &FrIf_TxLSduStatus).
- Bestimmung von Treiber-, LPdu- und Controller-Index (
FrIfruft synchron am TreiberFr::Frdie FunktionFr_CheckTxLPduStatus(return, Fr_CtrlIdx, Fr_LPduIdx, Fr_TxLSduStatusPtr)auf.Frermittelt anhand vonFr_LPduIdxden tatsächlichen Sendepuffer des ControllersFr_CtrlIdx(Use Fr_LPduIdx to find out actual transmit buffer of CC Fr_CtrlIdx) und prüft den Hardware-Sendestatus (Check Tx Status of Buffer), bevor die Ausführung viaFr_CheckTxLSduStatusanFrIfzurückkehrt.- In einem kombinierten Fragment
optprüftFrIf, ob der Sendestatus erfolgreich ist (Fr_TxLSduStatus == FR_TRANSMITTED):- Wenn wahr, wird eine Schleife
loop For each PDU in this Frameüber alle im übertragenen Frame enthaltenen PDUs durchlaufen. - Innerhalb der Schleife prüft ein weiteres Fragment
opt, ob für die PDU eine Bestätigung aussteht und konfiguriert ist (PDU's TxConfCounter > 0 && TxConfirmation is configured for this PDU). - Bei erfüllter Bedingung ermittelt
FrIfdie PDU-Kennung und die zugehörige Upper-Layer-Komponente (Determine FrTxPduId and PDU-owning Upper Layer). FrIfruft den Callback<UL_TxConfirmation>(FrIf_TxPduId)anUpper Layer for FrIfauf und wartet auf dessen Rückkehr.- Nach erfolgreichem Rücksprung dekrementiert
FrIfden Bestätigungszähler der PDU (Decrement PDU's TxConfCounter).
- Wenn wahr, wird eine Schleife
- Nach Abschluss der Prüfungen und Schleifen kehrt
FrIfmitFrIf_JobListExecution_<ClstIdx>zur Interrupt-Service-Routine zurück.
4. Normative Relevanz & Entwickler-Hinweise
- Die Überprüfung des Übertragungsstatus erfolgt auf LPdu-Ebene über den FlexRay-Treiber, während Tx-Confirmations auf I-PDU-Ebene an die jeweilige Upper Layer gemeldet werden (Unterstützung von PDU-Multiplexing / mehreren PDUs pro Frame).
- Das Dekrementieren des Zählers
TxConfCounterist streng an die Bedingung gekoppelt, dass eine TxConfirmation konfiguriert ist und der StatusFR_TRANSMITTEDsignalisiert wurde. - Die Benachrichtigung der oberen Schicht erfolgt blockierend im Ausführungskontext der Jobliste / ISR. Implementierer müssen sicherstellen, dass Upper-Layer-Callbacks zeitlich deterministisch und ohne blockierende Wartezeiten ausgeführt werden.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.