DEENESPTFRRUARHIKOZHNL
AUTOSAR_SWS_FlexRayInterface FIG-6e107bdc8b57a433 924 × 1164 px 1 Release(s)

Figure 9: 4: ReceiveAndIndicate

SHA-256 Inhalts-Fingerabdruck: 6e107bdc8b57a433774dbbe5d169a1177f6a9304c6230aa2122909011309b2f7
✦ 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 (sd FrIf Immediate Reception), das die zeitgesteuerte bzw. interruptgetriebene unmittelbare L-SDU- und PDU-Empfangsverarbeitung innerhalb des AUTOSAR-FlexRay-Stacks darstellt. Der Architektur-Kontext umfasst die Interaktion zwischen einer Interrupt Service Routine (ISR) bzw. dem Job-Handling, dem FlexRay-Interface (FrIf), dem hardwarenahen FlexRay-Treiber (Fr) und den darüberliegenden Schichten (Upper Layer for FrIf, z. B. PduR oder FrNm).

2. Komponenten, Entitäten & Schnittstellen

Das Diagramm umfasst vier Interaktionsteilnehmer (Lebenslinien):

  • Generic Elements::Upper Layer for FrIf
  • Generic Elements::Interrupt Service Routine
  • «module» FrIf::FrIf
  • «module» Fr::Fr

Schnittstellen und Operationen:

  • FrIf_JobListExec_<ClstIdx>() / Rückgabe FrIf_JobListExecution_<ClstIdx>
  • Fr_ReceiveRxLPdu(return, Fr_CtrlIdx, Fr_LPduIdx, Fr_LSduPtr, Fr_LPduStatusPtr, Fr_LSduLengthPtr)
  • Rückmeldung Fr_ReceiveRxLSdu
  • Callback <UL_RxIndication>(FrIf_RxPduId, FrIf_SduPtr) mit Rückkehr <UL_RxIndication>

3. Dynamisches Verhalten & Sequenzablauf

  1. Die Generic Elements::Interrupt Service Routine stößt über FrIf_JobListExec_<ClstIdx>() die Ausführung der Jobliste in FrIf::FrIf an (mit Notiz FrIf Jobllist Handling).
  2. FrIf::FrIf führt vorbereitende Selbstaufrufe aus:
    • Determine DriverIdx, Fr_LPduIdx, and Fr_CtrlIdx for receiving
    • Set FrSduPtr to a temporary L-SDU buffer in the FrIf
    • Set Fr_LSduStatusPtr to &FrIf_LSduStatus; Set Fr_LSduLengthPtr to &FrIf_LSduLength
  3. FrIf::FrIf ruft synchron am Treiber Fr::Fr die Funktion Fr_ReceiveRxLPdu(...) auf.
  4. Fr::Fr führt interne Verarbeitungsschritte aus:
    • Use Fr_LPduIdx to find out actual receive buffer of CC Fr_CtrlIdx
    • Use Fr_LSduPtr and Fr_LSduLength to copy L-SDU from CC receive buffer
    • Write the L-SDU's receive status to *Fr_RxLSduStatusPtr; Write the length of the recieved L-SDU to *Fr_LSduLengthPtr Anschließend erfolgt der Return Fr_ReceiveRxLSdu.
  5. Optionales Segment (opt Fr_LSduStatus == FR_RECEIVED):
    • Schleife loop For each PDU in this Frame:
      • FrIf::FrIf bestimmt via Selbstaufruf Determine FrRxPduId and Byte Offset of PDU in Frame.
      • Bedingungsprüfung alt PDU's FRIF_PDU_UPDATE_BIT_OFFSET == -1:
        • Zweig [FALSE]: Ein untergeordnetes opt PDU is marked as "up-to-date" prüft die Aktualität. Ist diese gegeben, wird <UL_RxIndication>(FrIf_RxPduId, FrIf_SduPtr) an Upper Layer for FrIf aufgerufen, welche die PDU kopiert (Copy PDU to internal location) und zurückkehrt.
        • Zweig [TRUE]: Vermerk Act as if Update Bit was configured and PDU was marked as up-to-date (keine gesonderte Indikationsunterdrückung).
  6. Abschluss der Jobausführung und Rückkehr FrIf_JobListExecution_<ClstIdx> an die ISR.

4. Normative Relevanz & Entwickler-Hinweise

Die Sequenz zeigt das deterministische Polling von Empfangspuffern aus dem Joblisten-Kontext heraus. Entwickler müssen beachten, dass das FrIf temporäre Puffer für L-SDUs bereitstellt und Zeiger auf Status- sowie Längenvariablen an den Treiber übergibt. Die Entpackung von I-PDUs aus einem FlexRay-Frame sowie die Update-Bit-Auswertung erfolgen vollständig im Kontext des FrIf vor der Weiterleitung an die Oberschicht via <UL_RxIndication>. Bei nicht konfiguriertem Update-Bit (OFFSET == -1) verhält sich das FrIf so, als sei das Update-Bit gesetzt und die PDU aktuell.

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

R3.1.5 → R3.2.3 keine inhaltliche Änderung Vorgänger: FIG-d788e490fe44083d

Keine inhaltlichen Änderungen erkennbar.

R3.2.3 → R4.0.3 redaktionell Nachfolger: FIG-c984841c6455defd
  • Diagramm-Kopf: Bezeichner im sd-Rahmen von sd FrIf Immediate Reception in sd FrIfReceiveAndIndicate umbenannt.
  • Verzweigung alt PDU's FRIF_PDU_UPDATE_BIT_OFFSET == -1 / [TRUE]: Die erläuternde Textnotiz Act as if Update Bit was configured and PDU was marked as up-to-date wurde entfernt.

Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Aus dem Dokument extrahierter Text & Kontext

Beschriftungen im Schaubild:

sd FrIf Immediate Reception | Generic Elements::Upper Layer | for FrIf | Generic Elements::Interrupt | Service Routine | opt Fr_LSduStatus == FR_RECEIVED | loop For each PDU in this Frame | «module» | Fr::Fr | «module» | FrIf::FrIf | alt PDU's FRIF_PDU_UPDATE_BIT_OFFSET == .1 | [FALSE] | [TRUE] | opt PDU is marked as "up-to-date" | Act as if Update Bit was configured and PDU was marked as up-to-date | FrIf Jobllist Handling | FrIf_JobListExec_<ClstIdx>() | Determine DriverIdx, Fr_LPduIdx, and Fr_CtrlIdx for receiving | Set FrSduPtr to a temporary L-SDU buffer in the FrIf | Set Fr_LSduStatusPtr to &FrIf_LSduStatus; Set Fr_LSduLengthPtr to &FrIf_LSduLength | Fr_ReceiveRxLPdu(return, Fr_CtrlIdx, Fr_LPduIdx, Fr_LSduPtr, Fr_LPduStatusPtr, Fr_LSduLengthPtr) | Use Fr_LPduIdx to find out actual receive | buffer of CC Fr_CtrlIdx | Use Fr_LSduPtr and Fr_LSduLength to copy | L-SDU from CC receive buffer | Write the L-SDU's receive status to *Fr_RxLSduStatusPtr; Write | the length of the recieved L-SDU to *Fr_LSduLengthPtr | Fr_ReceiveRxLSdu | Determine FrRxPduId and Byte Offset of PDU in Frame | <UL_RxIndication>(FrIf_RxPduId,FrIf_SduPtr) | Copy PDU to internal location | <UL_RxIndication> | FrIf_JobListExecution_<ClstIdx>

Vorkommen in AUTOSAR-Releases (1)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R3.2.3 AUTOSAR_SWS_FlexRayInterface S. 94 9 Figure 9: 4: ReceiveAndIndicate