AUTOSAR_SWS_SAEJ1939TransportLayer
FIG-49f66202298a5bb6
894 × 852 px
1 Release(s)
Figure 9: 7: Retry Handling
SHA-256 Inhalts-Fingerabdruck:
49f66202298a5bb63802c7bbdf1d8bc6adf4509b1bbc3166a63e01b0def4bef3
✦
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 Spezifikation des AUTOSAR Classic Platform Transportprotokolls nach SAE J1939 (J1939Tp). Das Diagramm illustriert das Zusammenspiel zwischen dem PDU-Router (PduR) und dem J1939Tp-Modul auf Sender- und Empfängerseite während einer verbindungsorientierten Datenübertragung mittels Connection Management (BAM/CM) unter Berücksichtigung von Übertragungsfehlern und Wiederholungsmechanismen (Retry Handling).
2. Komponenten, Entitäten & Schnittstellen
Beteiligte Komponenten (als «module» instanziiert bzw. adressiert):
PduR(Senderseite, Caller)J1939Tp(Senderseite, Transport Layer Modul):J1939Tp(Empfängerseite, korrespondierender Transport Layer Endpunkt):PduR(Empfängerseite, Callee / Data Sink)
Schnittstellen und Nachrichten:
- Steuer- und Daten-APIs zwischen PduR und J1939Tp:
J1939Tp_Transmit(),PduR_J1939TpStartOfReception(),PduR_J1939TpCopyTxData(),PduR_J1939TpCopyRxData(),PduR_J1939TpRxIndication(),PduR_J1939TpTxConfirmation() - SAE J1939 Protokollnachrichten (CAN-Bus-Ebene):
TP.CM_RTS(),TP.CM_CTS(),TP.DT(),TP.EOMACK() - Zustandsvariablen / interne Parameter:
TpDataState(TP_DATACONF,TP_CONFPENDING,TP_DATARETRY),TxTpDataCnt
3. Dynamisches Verhalten & Sequenzablauf
- Verbindungsaufbau:
PduRinitiiert die Übertragung überJ1939Tp_Transmit().- Sender-
J1939Tpsendet die VerbindungsanforderungTP.CM_RTS()an:J1939Tp. - Empfänger meldet den Beginn über
PduR_J1939TpStartOfReception()an:PduR.
- Blockübertragung (
loop for Each Block):- Der Empfänger antwortet mit
TP.CM_CTS()zur Freigabe eines Übertragungsblocks. - Paketübertragung (
loop for Each Packet):- Sender fragt Nutzdaten über
PduR_J1939TpCopyTxData()an. Dabei wirdTpDataState = TP_DATACONFfür das erste Paket des Blocks bzw.TP_CONFPENDINGfür Folgepakete gesetzt. - Sender übermittelt das Datenpaket via
TP.DT(). - Verzweigung Fehlerfall (
alt TP.DT lost):[NO]: Paket kommt fehlerfrei an; Empfänger ruftPduR_J1939TpCopyRxData()auf.[YES]: Paket geht verloren; Empfänger sendet erneutesTP.CM_CTS()(Anforderung ab Fehlpaket/Blockstart, Notiz: „Next Packet set to first Packet of Block“). Sender fordert überPduR_J1939TpCopyTxData()mitTpDataState = TP_DATARETRYundTxTpDataCnt = Offset in bytes to start of Blockerneut Daten ab, sendetTP.DT()erneut und Empfänger reicht die Daten mittelsPduR_J1939TpCopyRxData()weiter.
- Sender fragt Nutzdaten über
- Der Empfänger antwortet mit
- Übertragungsabschluss:
- Nach vollständigem Empfang quittiert
:J1939TpmitTP.EOMACK()anJ1939Tpund signalisiert den Abschluss überPduR_J1939TpRxIndication()an:PduR. - Sender-
J1939Tpbestätigt den Gesamtabschluss anPduRmittelsPduR_J1939TpTxConfirmation().
- Nach vollständigem Empfang quittiert
4. Normative Relevanz & Entwickler-Hinweise
Das Diagramm beschreibt das normative Retry-Verhalten für J1939Tp bei Paketverlust während blockweiser TP.DT-Übertragung. Implementierer müssen sicherstellen:
- Der Sender muss bei Retry (
TpDataState = TP_DATARETRY) überTxTpDataCntden Pufferzeiger im oberen Layer (PduR) exakt auf den Byte-Offset des Blockanfangs zurücksetzen können (Pufferverwaltung muss Rückspulen/Rewind unterstützen). - Der Empfänger detektiert fehlende oder unvollständige Pakete innerhalb eines Blocks und steuert die Wiederholung über ein erneutes CTS mit dem entsprechenden Sequenznummernbezug aus.
- Quittierungszustände (
TP_DATACONFvs.TP_CONFPENDING) definieren, ab wann vorherige Blockdaten durch die PDU-Router-Pufferverwaltung freigegeben werden dürfen.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.