AUTOSAR_SWS_FlexRayInterface
FIG-a7000c882c4ec122
836 × 877 px
2 Release(s)
Figure 9: 3: ProvideTxConfirmation
SHA-256 Inhalts-Fingerabdruck:
a7000c882c4ec1225cda69453debf2488b2f810ba0f78df27a742390d57a6fd2
✦
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 ohne Rahmenkopf 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 for FrIf).
2. Komponenten, Entitäten & Schnittstellen
Beteiligte Komponenten und Entitäten (als UML-Lifelines):
Upper Layer for FrIf: Übergeordnete AUTOSAR-Schicht (z. B. PduR oder FrNm), die PDUs an das FrIf übergibt und Bestätigungen empfängt.Interrupt Service Routine: Auslösende ISR, welche die Joblisten-Abarbeitung für einen FlexRay-Cluster startet.«module» FrIf: FlexRay Interface, zentrales Schichtmodul zur Abstraktion von Clustern und Controllern.«module» Fr: FlexRay Driver (Treiber), zuständig für den hardwarenahen Zugriff auf den Kommunikationscontroller.
Schnittstellen und Operationen:
FrIf_JobListExec_<FrIfCluster.ShortName>()/ RückgabeFrIf_JobListExecution_<ClstIdx>(): Aufruf der Joblisten-Ausführung für das durch seinen ShortName identifizierte Cluster.Fr_CheckTxLPduStatus(return, Fr_CtrlIdx, Fr_LPduIdx, Fr_TxLPduStatusPtr, Fr_SlotAssignmentPtr)/ RückgabeFr_CheckTxLSduStatus(): Treiberfunktion zur Prüfung des Übertragungsstatus eines LPdu-Puffers unter Angabe der Puffer- und Slotzuweisungszeiger.<UL_TxConfirmation>(PduIdType, Std_ReturnType)/ Rückgabe<UL_TxConfirmation>(): Standardisierte Callback-Funktion der oberen Schicht zur Bestätigung der Sendeoperation mit PDU-Identifikator und Ergebnisstatus.
3. Dynamisches Verhalten & Sequenzablauf
- Die
Interrupt Service Routineinitiiert über den synchronen AufrufFrIf_JobListExec_<FrIfCluster.ShortName>()die Joblisten-Ausführung im Modul«module» 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 Statuszeigers (
Set Fr_TxLSduStatusPtr to &FrIf_TxLSduStatus()).
- Bestimmung von Treiber-, LPdu- und Controller-Index (
FrIfruft synchron am Treiber«module» Frdie FunktionFr_CheckTxLPduStatus(return, Fr_CtrlIdx, Fr_LPduIdx, Fr_TxLPduStatusPtr, Fr_SlotAssignmentPtr)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_CheckTxLSduStatus()anFrIfzurü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>(PduIdType, Std_ReturnType)anUpper Layer for FrIfauf und wartet auf dessen Rückkehr (<UL_TxConfirmation>()).- 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 Treiberfunktion
Fr_CheckTxLPduStatuserfordert neben dem StatuszeigerFr_TxLPduStatusPtrzusätzlich den ParameterFr_SlotAssignmentPtrzur Verifikation der Slotzuordnung. - Die Benachrichtigung
<UL_TxConfirmation>der oberen Schicht verwendet die standardisierten AUTOSAR-ParametertypenPduIdTypeundStd_ReturnType, wodurch der Übertragungsstatus explizit an die obere Schicht übermittelt wird. - Der Aufruf der Joblisten-Ausführung erfolgt clusterbezogen über das Modell-Element
<FrIfCluster.ShortName>. - 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.