DEENESPTFRRUARHIKOZHNL
AUTOSAR_CP_SWS_CANInterface FIG-ccbacf8fac7a9dad 820 × 678 px 1 Release(s)

Figure 9.6: Trigger Transmit Request

SHA-256 Inhalts-Fingerabdruck: ccbacf8fac7a9dadf193798f42741d1d6e827f9e82ffb8707b8206b66b9b4978
✦ 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 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 durch LSduR an CanIf.
  • Can_Write(Std_ReturnType, Can_HwHandleType, const Can_PduType*): Aufruf durch CanIf an Can.
  • CanIf_TriggerTransmit(Std_ReturnType, PduIdType, PduInfoType*): Rückruf durch Can an CanIf mit Kommentar „Pass pointer to HW object“.
  • LSduR_CanIfTriggerTransmit(Std_ReturnType, PduIdType, PduInfoType*): Weiterleitung des Trigger-Transmit-Aufrufs von CanIf an LSduR.
  • Copy L-Pdu into CAN hardware: Datenübertragung von LSduR in den CanController.
  • 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-Modul Can ruft CanIf_TriggerTransmit(...) auf und übergibt einen Zeiger auf das Hardware-Objekt. CanIf ruft daraufhin LSduR_CanIfTriggerTransmit(...) auf. Der LSduR kopiert die Nutzdaten direkt in den Controller (Copy L-Pdu into CAN hardware), woraufhin die Rückkehr erfolgt. Anschließend kehren CanIf_TriggerTransmit(), Can_Write() und schließlich CanIf_Transmit() nacheinander synchron zu ihren jeweiligen Aufrufern zurück.
  • Fall [Controller HW object busy]: Can meldet den Besetztzustand via Rückkehr von Can_Write() an CanIf. CanIf reiht die Sendeanforderung intern in eine Warteschlange ein (Self-Message / Notiz „Queue transmit request“) und kehrt mit CanIf_Transmit() zum LSduR zurü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 CanIf die modulspezifische Callback-Funktion LSduR_CanIfTriggerTransmit aufruft und der LSduR die Daten direkt in den CAN-Hardware-Puffer transferiert.
  • Bei belegtem Hardware-Objekt (busy) puffert CanIf die Sendeanforderung für den LSduR.
  • Die Schnittstelle Can_Write verwendet normativ Std_ReturnType als Rückgabetyp.

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

R24-11 → R25-11 keine inhaltliche Änderung Vorgänger: FIG-36f8799bd539ada7

Keine inhaltlichen Änderungen erkennbar.

Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Aus dem Dokument extrahierter Text & Kontext

Beschriftungen im Schaubild:

«peripheral» | CanController |        |  |  |  | «module» | CanIf | «module» | Can | alt Controller HW Status | [Controller HW object free] | [Controller HW object busy] | «module» | LSduR |           | Copy L-Pdu into CAN hardware | CanIf_Transmit(Std_ReturnType, PduIdType, const PduInfoType*) Can_Write(Std_ReturnType, Can_HwHandleType, const Can_PduType*) | CanIf_TriggerTransmit() | CanIf_Transmit() | CanIf_TriggerTransmit(Std_ReturnType, PduIdType, PduInfoType*) | LSduR_CanIfTriggerTransmit (Std_ReturnType, PduIdType, PduInfoType*) | Can_Write() | Can_Write() | Copy L-PDU into CAN hardware

Vorkommen in AUTOSAR-Releases (1)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R25-11 AUTOSAR_CP_SWS_CANInterface S. 148 9.6 Figure 9.6: Trigger Transmit Request