Figure 9.6: Trigger Transmit Request
ccbacf8fac7a9dadf193798f42741d1d6e827f9e82ffb8707b8206b66b9b4978
1. Diagrammtyp & Architektur-Kontext
UML-Sequenzdiagramm zur Darstellung des Ablaufs einer Trigger-Transmit-Sendeanforderung in der AUTOSAR Classic Platform (Communication Stack / CAN Interface). Der Kontext umfasst die Interaktion zwischen dem Large SDU Router («module» LSduR), dem CAN-Interface (CanIf), dem CAN-Treiber (Can) und dem CAN-Controller (CanController).
2. Komponenten, Entitäten & Schnittstellen
Beteiligte Entitäten:
«module» LSduR: Large SDU Router als spezifischer Nutzer des CAN-Interfaces.«module» CanIf: AUTOSAR CAN-Interface-Modul.«module» Can: AUTOSAR CAN-Treiber-Modul (gekennzeichnet mit Interface-Symbol).«peripheral» CanController: CAN-Hardware-Controller.
Aufgerufene Schnittstellen und Signaturen:
CanIf_Transmit(Std_ReturnType, PduIdType, const PduInfoType*): Aufruf durchLSduRanCanIf.Can_Write(Std_ReturnType, Can_HwHandleType, const Can_PduType*): Aufruf durchCanIfanCan.CanIf_TriggerTransmit(Std_ReturnType, PduIdType, PduInfoType*): Rückruf durchCananCanIfmit Kommentar „Pass pointer to HW object“.LSduR_CanIfTriggerTransmit(Std_ReturnType, PduIdType, PduInfoType*): Weiterleitung des Trigger-Transmit-Aufrufs vonCanIfanLSduR.Copy L-Pdu into CAN hardware: Datenübertragung vonLSduRin denCanController.Copy L-PDU into CAN hardware: Quittierung/Rückkehr der Datenübertragung.- Rückgabewerte / Returns:
CanIf_TriggerTransmit(),Can_Write(),CanIf_Transmit().
3. Dynamisches Verhalten & Sequenzablauf
Der Ablauf startet mit dem synchronen Aufruf CanIf_Transmit(...) durch LSduR an CanIf. CanIf leitet die Sendeanforderung über Can_Write(...) an das Treiber-Modul Can weiter. Innerhalb eines alt-Blocks („alt Controller HW Status“) wird nach dem Zustand des Hardware-Objekts unterschieden:
- Fall
[Controller HW object free]: Das Treiber-ModulCanruftCanIf_TriggerTransmit(...)auf und übergibt einen Zeiger auf das Hardware-Objekt.CanIfruft daraufhinLSduR_CanIfTriggerTransmit(...)auf. DerLSduRkopiert die Nutzdaten direkt in den Controller (Copy L-Pdu into CAN hardware), woraufhin die Rückkehr erfolgt. Anschließend kehrenCanIf_TriggerTransmit(),Can_Write()und schließlichCanIf_Transmit()nacheinander synchron zu ihren jeweiligen Aufrufern zurück. - Fall
[Controller HW object busy]:Canmeldet den Besetztzustand via Rückkehr vonCan_Write()anCanIf.CanIfreiht die Sendeanforderung intern in eine Warteschlange ein (Self-Message / Notiz „Queue transmit request“) und kehrt mitCanIf_Transmit()zumLSduRzurück.
4. Normative Relevanz & Entwickler-Hinweise
Das Diagramm spezifiziert normativ das synchrone Entkopplungs- und Abrufverhalten bei Trigger-Transmit-fähigen PDUs im Zusammenspiel mit dem Large SDU Router (LSduR):
- Bei freiem Hardware-Objekt fordert der CAN-Treiber die PDU-Daten synchron via TriggerTransmit an, woraufhin
CanIfdie modulspezifische Callback-FunktionLSduR_CanIfTriggerTransmitaufruft und derLSduRdie Daten direkt in den CAN-Hardware-Puffer transferiert. - Bei belegtem Hardware-Objekt (
busy) puffertCanIfdie Sendeanforderung für denLSduR. - Die Schnittstelle
Can_Writeverwendet normativStd_ReturnTypeals Rückgabetyp.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.