DEENESPTFRRUARHIKOZHNL
AUTOSAR_SWS_FlexRayInterface FIG-0a4b33fee8768047 889 × 1121 px 1 Release(s)

Figure 9: 4: ReceiveAndIndicate

SHA-256 Inhalts-Fingerabdruck: 0a4b33fee8768047922f4bcef3305752dd7144a57a57dd2721f56ce96975457f
✦ 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

Sequenzdiagramm zur Darstellung der unmittelbaren L-SDU- und PDU-Empfangsverarbeitung (ReceiveAndIndicate) innerhalb des AUTOSAR-FlexRay-Stacks. Der Architektur-Kontext umfasst das Zusammenspiel 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).

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>(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 RxPduId 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>(RxPduId, FrIf_SduPtr) an Upper Layer for FrIf aufgerufen, welche die PDU kopiert (Copy PDU to internal location) und zurückkehrt.
        • Zweig [TRUE]: Keine explizite Ausführungsanweisung notiert.
  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)

R4.0.3 → R4.1.3 redaktionell Vorgänger: FIG-c984841c6455defd
  • Diagramm-Kopf: Der sd-Rahmenbezeichner sd FrIfReceiveAndIndicate wurde entfernt.
  • FrIf::FrIf / interne Verarbeitung: Selbstaufruf von Determine FrRxPduId and Byte Offset of PDU in Frame zu Determine RxPduId and Byte Offset of PDU in Frame umbenannt.
  • Aufruf an die Oberschicht: Signatur von <UL_RxIndication>(FrIf_RxPduId,FrIf_SduPtr) zu <UL_RxIndication>(RxPduId,FrIf_SduPtr) umbenannt.
R4.1.3 → R4.2.2 keine inhaltliche Änderung Nachfolger: FIG-23c0c9f8cb629c67

Keine inhaltlichen Änderungen erkennbar.

Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Aus dem Dokument extrahierter Text & Kontext

Beschriftungen im Schaubild:

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" | 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 RxPduId and Byte Offset of PDU in Frame | <UL_RxIndication>(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
R4.1.3 AUTOSAR_SWS_FlexRayInterface S. 113 9 Figure 9: 4: ReceiveAndIndicate