DEENESPTFRRUARHIKOZHNL
AUTOSAR_SWS_FlexRayInterface FIG-0b2cac5a643c2301 836 × 879 px 1 Release(s)

Figure 9: 3: ProvideTxConfirmation

SHA-256 Inhalts-Fingerabdruck: 0b2cac5a643c230183c5aa02a816b26614d30ee0d6396f6afa494b570297b8b4
✦ 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ückgabe FrIf_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ückgabe Fr_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

  1. Die Interrupt Service Routine initiiert über den synchronen Aufruf FrIf_JobListExec_<FrIfCluster.ShortName>() die Joblisten-Ausführung im Modul «module» FrIf.
  2. FrIf fü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()).
  3. FrIf ruft synchron am Treiber «module» Fr die Funktion Fr_CheckTxLPduStatus(return, Fr_CtrlIdx, Fr_LPduIdx, Fr_TxLPduStatusPtr, Fr_SlotAssignmentPtr) auf.
  4. Fr ermittelt anhand von Fr_LPduIdx den tatsächlichen Sendepuffer des Controllers Fr_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 via Fr_CheckTxLSduStatus() an FrIf zurückkehrt.
  5. In einem kombinierten Fragment opt prüft FrIf, 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 FrIf die PDU-Kennung und die zugehörige Upper-Layer-Komponente (Determine FrTxPduId and PDU-owning Upper Layer()).
    • FrIf ruft den Callback <UL_TxConfirmation>(PduIdType, Std_ReturnType) an Upper Layer for FrIf auf und wartet auf dessen Rückkehr (<UL_TxConfirmation>()).
    • Nach erfolgreichem Rücksprung dekrementiert FrIf den Bestätigungszähler der PDU (Decrement PDU's TxConfCounter()).
  6. Nach Abschluss der Prüfungen und Schleifen kehrt FrIf mit FrIf_JobListExecution_<ClstIdx>() zur Interrupt Service Routine zurück.

4. Normative Relevanz & Entwickler-Hinweise

  • Die Treiberfunktion Fr_CheckTxLPduStatus erfordert neben dem Statuszeiger Fr_TxLPduStatusPtr zusätzlich den Parameter Fr_SlotAssignmentPtr zur Verifikation der Slotzuordnung.
  • Die Benachrichtigung <UL_TxConfirmation> der oberen Schicht verwendet die standardisierten AUTOSAR-Parametertypen PduIdType und Std_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 TxConfCounter ist streng an die Bedingung gekoppelt, dass eine TxConfirmation konfiguriert ist und der Status FR_TRANSMITTED signalisiert 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.

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

R20-11 → R21-11 keine inhaltliche Änderung Vorgänger: FIG-958196574a2005ce

Keine inhaltlichen Änderungen erkennbar.

Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Aus dem Dokument extrahierter Text & Kontext

Beschriftungen im Schaubild:

Interrupt Service Routine Upper Layer for FrIf «module» | FrIf | «module» | Fr | FrIf Joblist Handling | opt PDU's TxConfCounter > 0 && TxConfirmation is configured for this PDU | loop For each PDU in this Frame | opt Fr_TxLSduStatus == FR_TRANSMITTED | Fr_CheckTxLSduStatus() | Fr_CheckTxLPduStatus(return, Fr_CtrlIdx, Fr_LPduIdx, Fr_TxLPduStatusPtr, Fr_SlotAssignmentPtr) | Decrement PDU's TxConfCounter() | <UL_TxConfirmation>() | FrIf_JobListExec_<FrIfCluster.ShortName> () | Determine DriverIdx, Fr_LPduIdx, and Fr_CtrlIdx for checking the TxLSdu Status() | Set Fr_TxLSduStatusPtr to &FrIf_TxLSduStatus() | Use Fr_LPduIdx to find out actual transmit buffer of | CC Fr_CtrlIdx() | Check Tx Status of Buffer() | <UL_TxConfirmation>(PduIdType, Std_ReturnType) | FrIf_JobListExecution_<ClstIdx>() | Determine FrTxPduId and PDU-owning Upper Layer()

Vorkommen in AUTOSAR-Releases (1)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R21-11 AUTOSAR_SWS_FlexRayInterface S. 127 9 Figure 9: 3: ProvideTxConfirmation