DEENESPTFRRUARHIKOZHNL
AUTOSAR_SWS_FlexRayInterface FIG-7813a52405dc8635 840 × 1038 px 1 Release(s)

Figure 9: 4: ReceiveAndIndicate

SHA-256 Inhalts-Fingerabdruck: 7813a52405dc8635a8d125f14d1bf24f86f97476f749e0f096d88d75672fc079
✦ 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) im AUTOSAR-FlexRay-Stack. Das Diagramm zeigt die Abläufe zwischen der Interrupt Service Routine (ISR), dem FlexRay-Interface (FrIf), dem FlexRay-Treiber (Fr) und den Empfänger-Oberschichten (Upper Layer for FrIf).

2. Komponenten, Entitäten & Schnittstellen

Das Diagramm umfasst vier Interaktionsteilnehmer (Lebenslinien):

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

Schnittstellen und Operationen:

  • FrIf_JobListExec_<FrIfCluster.ShortName>()
  • Fr_ReceiveRxLPdu(Std_ReturnType, uint8, uint16, uint8**, Fr_RxLPduStatusType**, uint8**, Fr_SlotAssignmentType**)
  • Rückmeldung Fr_ReceiveRxLSdu()
  • Callback <UL_RxIndication>(PduIdType, const uint8*) mit Rückkehr <UL_RxIndication>()

3. Dynamisches Verhalten & Sequenzablauf

  1. Die Interrupt Service Routine stößt über FrIf_JobListExec_<FrIfCluster.ShortName>() die Ausführung der Jobliste in «module» FrIf an (Notiz FrIf Jobllist Handling).
  2. «module» FrIf führt vorbereitende Aktionen 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. Synchroner Aufruf an «module» Fr: Fr_ReceiveRxLPdu(Std_ReturnType, uint8, uint16, uint8**, Fr_RxLPduStatusType**, uint8**, Fr_SlotAssignmentType**)
  4. «module» Fr führt interne Schritte 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 Rückmeldung via Fr_ReceiveRxLSdu().
  5. Optionales Segment (opt Fr_LSduStatus == FR_RECEIVED):
    • Schleife loop For each PDU in this Frame:
      • «module» FrIf führt Selbstaufruf aus: Determine FrRxPduId and Byte Offset of PDU in Frame().
      • Verzweigung alt PDU's FRIF_PDU_UPDATE_BIT_OFFSET == -1:
        • [FALSE]: Untergeordnetes opt PDU is marked as "up-to-date". Bei Zutreffen erfolgt der Aufruf <UL_RxIndication>(PduIdType, const uint8*) an Upper Layer for FrIf. Diese führt Copy PDU to internal location() aus und kehrt mit <UL_RxIndication>() zurück.
        • [TRUE]: Notiz Act as if Update Bit was configured and PDU was marked as up-to-date.
  6. Rückkehr aus der Joblistenverarbeitung FrIf_JobListExec_<FrIfCluster.ShortName>() an die Interrupt Service Routine.

4. Normative Relevanz & Entwickler-Hinweise

Die Schnittstelle zum FlexRay-Treiber verwendet standardisierte AUTOSAR-C-Typen und umfasst neben Puffer- und Statuszeigern auch den Parameter Fr_SlotAssignmentType**. Die Namensgebung des Joblistenaufrufs referenziert direkt das Konfigurationsattribut <FrIfCluster.ShortName>. Das Verhalten bei nicht konfiguriertem Update-Bit (OFFSET == -1) setzt voraus, dass das FrIf die PDU als aktuell behandelt und die Weiterleitung an die Oberschicht über den typisierten Callback <UL_RxIndication>(PduIdType, const uint8*) ausführt.

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

R20-11 → R21-11 keine inhaltliche Änderung Vorgänger: FIG-4a67675fbcb5aca1

Keine inhaltlichen Änderungen erkennbar.

Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Aus dem Dokument extrahierter Text & Kontext

Beschriftungen im Schaubild:

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

Vorkommen in AUTOSAR-Releases (1)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R21-11 AUTOSAR_SWS_FlexRayInterface S. 128 9 Figure 9: 4: ReceiveAndIndicate