AUTOSAR_SWS_PDURouter
FIG-9c0d2e00e0ae99ca
929 × 514 px
3 Release(s)
Figure 9.14: Gateway of I-PDU from CAN to CAN and Com
SHA-256 Inhalts-Fingerabdruck:
9c0d2e00e0ae99ca595b32487728837c9466c73794554fff712ebef8be63523d
✦
KI-generierte Bildanalyse & technische Beschreibung
Modell: gemini-3.8-flash (via agy) · Rezept figure-description@2 · erstellt am 2026-10-07
1. Diagrammtyp & Architektur-Kontext
- Klassifikation: UML-Sequenzdiagramm (Interaktionsdiagramm).
- Architektonische Einordnung: AUTOSAR Classic Platform (CP), Schichten Communication Services (
Com,PduR) und Communication Hardware Abstraction (CanIf). - Technischer Zweck: Spezifikation eines synchronen 1:N-Multicast-Routingpfads (Fan-Out). Eine auf Buskanal CAN1 eingehende I-PDU wird durch den PDU Router (
PduR) simultan an die lokale Applikationsebene (Com) zugestellt und parallel als Direkt-Gateway auf Buskanal CAN2 viaCanIfweitergeleitet.
2. Komponenten, Entitäten & Schnittstellen
- Module (
«module»):CanIf: CAN Interface. Tritt in dualer Rolle auf: Ingress-Abstraktion für CAN1 (Rx) und Egress-Abstraktion für CAN2 (Tx).PduR: PDU Router. Protokollagnostische Routing-Engine zur statischen Weiterleitung von I-PDUs.Com: AUTOSAR Communication Module. Lokale Senke zur Entpackung von Signalen für die RTE / SW-Cs.
- Schnittstellen & Service-APIs:
PduR_<User:Lo>RxIndication(PduIdType, const PduInfoType*): Generischer Rx-Callback des unteren Interface-Layers (hier instanziiert alsPduR_CanIfRxIndication).Com_RxIndication(PduIdType, const PduInfoType*): Synchroner Upcall zur lokalen Signaldistribution in das COM-Modul.CanIf_Transmit(PduIdType, const PduInfoType*): Downcall zur Sendeanforderung auf CAN2 (Hinweis zur Spezifikationsgrafik: Der RückgabewertStd_ReturnTypeist im Diagramm fälschlich als erster Aufrufparameter visualisiert).PduR_<User:Lo>TxConfirmation(PduIdType, Std_ReturnType): Asynchroner Sende-Bestätigungs-Callback vonCanIfan denPduR.
- Kardinalitäten & Routing-Struktur:
- 1:2 Fan-Out: Ein Quell-Routing-Pfad (
PduRSrcPdu) verzweigt auf zwei Ziel-Pfade (PduRDestPdu), aufgeteilt in eine lokale Oberschicht (Com) und ein unteres Kommunikationsinterface (CanIf).
- 1:2 Fan-Out: Ein Quell-Routing-Pfad (
3. Dynamisches Verhalten & Sequenzablauf
- Ingress-Trigger (CAN1):
CanIfempfängt eine CAN-PDU auf Kanal CAN1 und meldet diese synchron überPduR_<User:Lo>RxIndication(RxPduId, PduInfoPtr)an denPduR.
- Priorisiertes Fan-Out-Routing:
- Der
PduRevaluiert die Zielpfade. Gemäß Routing-Regel wird das Ziel mit der niedrigerenPduRDestPduDataId/ Routing-Path-ID zuerst bedient (hierCom).
- Der
- Lokale Zustellung (
Com):- Synchroner Aufruf von
Com_RxIndication(RxPduId, PduInfoPtr).Comliest bzw. übernimmt die I-PDU-Daten in den lokalen Puffer; Steuerung kehrt unverzüglich zumPduRzurück.
- Synchroner Aufruf von
- Gateway-Direktweiterleitung (CAN2):
- Im selben Kontext ruft der
PduRdie SchnittstelleCanIf_Transmit(TxPduId, PduInfoPtr)auf. CanIfführt eine interne Datenpufferung durch (copy data()) in den Hardware-/Treiber-Mailbox-Bereich von CAN2.CanIf_Transmitkehrt mitE_OKzumPduRzurück.
- Im selben Kontext ruft der
- Abschluss Ingress-Kontext:
PduR_<User:Lo>RxIndicationkehrt zuCanIfzurück. Der Rx-Kontext (Interrupt oder Task) auf CAN1 ist abgeschlossen.
- Asynchrone Tx-Quittierung (CAN2):
- Nach erfolgreicher physischer Übertragung auf CAN2 signalisiert der CAN-Treiber via
CanIfdie Sendebestätigung an denPduRmittelsPduR_<User:Lo>TxConfirmation(TxPduId, E_OK). - Terminierung: Da
Comdie PDU rein empfangend konsumiert hat und kein Upper-Layer-Tx-Puffer existiert, terminiert dieTxConfirmationimPduR(kein Weitertransport anCom).
- Nach erfolgreicher physischer Übertragung auf CAN2 signalisiert der CAN-Treiber via
4. Normative Relevanz & Entwickler-Hinweise
- Deterministische Abarbeitungsreihenfolge: Bei 1:N-Multicasts bestimmt die Reihenfolge der Zielkonfigurationen (
PduRDestPdu) die Ausführungsreihenfolge der Up- und Downcalls. Zeitkritische Pfade müssen gezielt über die Routing-Path-ID bzw. Konfigurationsreihenfolge priorisiert werden. - Ausführungskontext & Latenzkette (Synchronous Direct Gatewaying): Die Weiterleitung via
CanIf_Transmiterfolgt ohne zwischengeschaltete Queue (PduRQueueDepth = 0) direkt im Thread/Interrupt-Kontext derCanIf-Rx-Indication von CAN1. Entwickler müssen sicherstellen, dass blockierende Operationen oder Mailbox-Engpässe in CAN2 nicht die Rx-Performance von CAN1 degradieren. Bei abweichenden Buszyklen oder Burst-Risiken ist ein FIFO-Puffer imPduR(PduRQueueDepth > 0) zwingend erforderlich. - Gültigkeit des Datenzeigers (
PduInfoType): Der ZeigerPduInfoPtr->SduDataPtrist ausschließlich für die Dauer des synchronen Aufrufs gültig. Wie im Diagramm explizit durchcopy data()hervorgehoben, muss das sendende Interface (CanIf) die Payload sofort in eigene Mailboxen kopieren, da der Ingress-Puffer nach Rückkehr vonPduR_<Lo>RxIndicationfreigegeben wird. - Reentrancy-Anforderung:
CanIfwird im Rx-Pfad aufgerufen und fungiert im identischen Stackframe als Aufrufer vonCanIf_Transmit. Der Treiber- und Abstraction-Layer muss reentrant für unterschiedliche Kanäle/PDU-IDs implementiert und konfiguriert sein.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.