AUTOSAR_SWS_PDURouter
FIG-3173b6f81b1a362f
929 × 1129 px
1 Release(s)
Figure 9.10: Local PDU transmission on Transport Protocol from Dcm to CAN, FlexRay and LIN
SHA-256 Inhalts-Fingerabdruck:
3173b6f81b1a362f7ea8da84c94b74f52de705d924fba7155650f5b7dc0d9cb6
✦
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).
- Technischer Zweck: Spezifikation des 1:n-Multicast-Sendepfads für segmentierte I-PDUs über Transportprotokolle (TP) gemäß AUTOSAR Classic Platform SWS PDU Router (Kapitel 9.2.5).
- Architektur-Einordnung: Horizontale und vertikale Entkopplung im AUTOSAR-Kommunikationsstack. Das Diagramm modelliert das Routing einer Diagnose- oder Groß-PDU von einem einzelnen oberen Modul (
Dcm, System Services) an mehrere parallele untere Kommunikations-Interfaces/Transportprotokolle (CanTp,FrTp,LinIf/LinTp, Communication Hardware Abstraction Layer) viaPduR.
2. Komponenten, Entitäten & Schnittstellen
- Beteiligte Module (
«module»):Dcm: Upper Layer / Datenquelle (stellt Diagnosedaten via PDU-Buffer bereit).PduR: Zentraler Router (verwaltet Routing-Table, PDU-ID-Mapping, Status der Zielkanäle und Aggregation der Bestätigungen).CanTp: Lower Layer TP für CAN (ISO 15765-2).FrTp: Lower Layer TP für FlexRay (ISO 10681-2).LinIf: Beinhaltet dasLinTp(ISO 17987-2).
- Verwendete Schnittstellen & Signaturen:
- Initiierung (Up → PduR):
PduR_<User:Up>Transmit(PduIdType TxPduId, const PduInfoType* PduInfoPtr)→Std_ReturnType(konkretPduR_DcmTransmit).
- Initiierung (PduR → LoTp):
<LoTp>_Transmit(PduIdType TxPduId, const PduInfoType* PduInfoPtr)→Std_ReturnType(hier:CanTp_Transmit,FrTp_Transmit,LinTp_Transmit).
- Datentransfer / Puffer-Abruf (LoTp → PduR → Up):
PduR_<User:LoTp>CopyTxData(PduIdType id, const PduInfoType* info, RetryInfoType* retry, PduLengthType* availableDataPtr)→BufReq_ReturnType.Dcm_CopyTxData(PduIdType id, const PduInfoType* info, RetryInfoType* retry, PduLengthType* availableDataPtr)→BufReq_ReturnType.
- Sende-Bestätigung (LoTp → PduR):
PduR_<User:LoTp>TxConfirmation(PduIdType TxPduId, Std_ReturnType result)→void.
- Aggregierte Bestätigung (PduR → Up):
Dcm_TpTxConfirmation(PduIdType TxPduId, Std_ReturnType result)→void.
- Initiierung (Up → PduR):
3. Dynamisches Verhalten & Sequenzablauf
- Sendeinitiierung (Synchron):
DcmtriggertPduR_<User:Up>Transmit(...).PduRleitet den Request sequenziell und synchron an alle konfigurierten Ziel-Transportprotokolle weiter (CanTp_Transmit,FrTp_Transmit,LinTp_Transmit).- Nach Rückkehr der Aufrufe quittiert
PduRden Sendeauftrag synchron an dasDcm.
- Asynchroner Datentransfer (Interleaved Polling):
- Die Ziel-TPs fordern unabhängig und asynchron Datensegmente an (
CopyTxData). - Jedes
PduR_<User:LoTp>CopyTxData(...)wird direkt als synchroner Durchstich zuDcm_CopyTxData(...)geroutet. - Die Reihenfolge der Abrufe (
FrTp→CanTp→LinIf) ist nicht deterministisch festgelegt, sondern hängt von Buszyklen, Frame-Größen und Flow-Control-Frames der jeweiligen Busse ab.
- Die Ziel-TPs fordern unabhängig und asynchron Datensegmente an (
- Quittierung & Aggregation:
- Jedes TP-Modul meldet den Abschluss seiner Übertragung via
PduR_<User:LoTp>TxConfirmation(id, result). PduRblockiert die Weiterleitung an dasDcm, bis die letzteTxConfirmationaller gestarteten unteren TP-Ziele eingetroffen ist.
- Jedes TP-Modul meldet den Abschluss seiner Übertragung via
- Ergebnisbildung:
- Nach Eingang der letzten Quittierung ruft
PduRDcm_TpTxConfirmation(id, result)auf. - Aggregationsregel: Meldet mindestens ein Lower-Layer-Modul
E_OK, wirdE_OKan dasDcmpropagiert. Nur wenn alle Ziele fehlschlagen, wirdE_NOT_OKgemeldet.
- Nach Eingang der letzten Quittierung ruft
4. Normative Relevanz & Entwickler-Hinweise
- Puffer-Management im Upper Layer (
Dcm):- Da die Übertragungen auf den Bussen asynchron und mit unterschiedlichen Bandbreiten laufen, greifen mehrere LoTP-Module zeitlich versetzt auf denselben linearen Datenstrom zu.
- Das
Dcmdarf den Sendepuffer erst nach Empfang vonDcm_TpTxConfirmation()freigeben oder überschreiben.
- Retry-Handling (
RetryInfoType):- Bei Multicast-TP-Verbindungen unterstützt der
PduRin der Regel keine Wiederholung einzelner Segmente (TP_DATARETRY). Der Parameterretrymuss von den Lower Layers entsprechend gehandhabt bzw. vomDcmmitBUFREQ_E_NOT_OKabgelehnt werden, falls inkonsistente Wiederholungsversuche eintreffen.
- Bei Multicast-TP-Verbindungen unterstützt der
- Fehlerbehandlung während Transmit:
- Schlägt bereits ein
<LoTp>_Transmit()-Aufruf synchron fehl, muss derPduRgemäß SWS-Spezifikation entscheiden, ob die verbleibenden Ziele dennoch bedient werden und wie der synchrone Rückgabewert an dasDcmgebildet wird.
- Schlägt bereits ein
- Konfigurationsaspekte (
PduR_PBcfg.c/ ARXML):- Definition eines
PduRSrcPdu(Source:Dcm) mit mehrerenPduRDestPdu-Referenzen (CanTp,FrTp,LinTp). PduRDestPduDataProvisionist auf das Verhalten von TP-Gateways/Routings abzustimmen; RoutingPath-Flags steuern die Aggregationssemantik.
- Definition eines
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.