Figure 9: 4: ReceiveAndIndicate
4a67675fbcb5aca193d82fb8cd629b952c9e74ae186dfa42d8f83abb3e62288e
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 FrIfInterrupt 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
- Die
Interrupt Service Routinestößt überFrIf_JobListExec_<FrIfCluster.ShortName>()die Ausführung der Jobliste in«module» FrIfan (NotizFrIf Jobllist Handling). «module» FrIffü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()
- Synchroner Aufruf an
«module» Fr:Fr_ReceiveRxLPdu(Std_ReturnType, uint8, uint16, uint8**, Fr_RxLPduStatusType**, uint8**, Fr_SlotAssignmentType**) «module» Frfü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 viaFr_ReceiveRxLSdu().
- Optionales Segment (
opt Fr_LSduStatus == FR_RECEIVED):- Schleife
loop For each PDU in this Frame:«module» FrIfführt Selbstaufruf aus:Determine FrRxPduId and Byte Offset of PDU in Frame().- Verzweigung
alt PDU's FRIF_PDU_UPDATE_BIT_OFFSET == -1:[FALSE]: Untergeordnetesopt PDU is marked as "up-to-date". Bei Zutreffen erfolgt der Aufruf<UL_RxIndication>(PduIdType, const uint8*)anUpper Layer for FrIf. Diese führtCopy PDU to internal location()aus und kehrt mit<UL_RxIndication>()zurück.[TRUE]: NotizAct as if Update Bit was configured and PDU was marked as up-to-date.
- Schleife
- Rückkehr aus der Joblistenverarbeitung
FrIf_JobListExec_<FrIfCluster.ShortName>()an dieInterrupt 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.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.