AUTOSAR_SWS_CANTransportLayer
FIG-e51a93e029a60581
513 × 428 px
1 Release(s)
Figure 2: CAN Transport Layer interactions
SHA-256 Inhalts-Fingerabdruck:
e51a93e029a60581b625c8485dc21b1ffaa4891d998f4c9f8f5abb7e0b41757c
✦
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: Schichtenmodell und PDU-Transformationsdiagramm (OSI Layer 3/4 Transport-/Netzwerk-Interaktionsmodell gemäß ISO 15765-2 / AUTOSAR ComStack).
- Technischer Zweck: Visualisierung der horizontalen Peer-to-Peer-Kommunikation und vertikalen Dienstschnittstellen des CAN Transport Layers (
CanTp). Dargestellt wird die Transformation und Kapselung von Service Data Units (SDUs) zu Protocol Data Units (PDUs) zwischen PDU Router (PduR),CanTp, CAN Interface (CanIf) und dem physikalischen CAN-Bus. - Funktionale Einordnung: Kapselung oberer Schichten (DCM, COM) vor den Limitierungen der klassischen CAN-Frame-Größe (max. 8 Byte Nutzdaten in AUTOSAR R4.0.3) durch Segmentierung, Reassemblierung und Flusssteuerung.
2. Komponenten, Entitäten & Schnittstellen
- Module / Schichten:
PduR(PDU Router): Übergelagerte Routing-Instanz; Quelle (Tx) bzw. Senke (Rx) unsegmentierter Nachrichten.CanTp(CAN Transport Layer): Transportprotokoll-Engine nach ISO 15765-2; zuständig für Segmentierung, Session-Handling, Flusssteuerung und Reassemblierung.CanIf(CAN Interface): Unterlagerte Hardware-Abstraktionsschicht für CAN-Controller und Transceiver.
- Dateneinheiten (SDUs & PDUs):
N-SDU(Network Service Data Unit): Vollständige, zusammenhängende Anwendungs- bzw. Diagnosenachricht (Payload zwischenPduRundCanTp, z. B. bis zu 4095 Bytes für ISO 15765-2).N-PCI(Network Protocol Control Information): Protokollsteuerdaten des Transport-Layers (1 bis 3 Bytes Header für SF, FF, CF oder FC inkl. Längen- und Flusssteuerungsinformationen).N-PDU(Network Protocol Data Unit): Horizontale PDU zwischen Sender- und Empfänger-CanTp. Entsteht durch Konkatenation vonN-PCIund Daten-Payload (N-SDU-Fragment).L-SDU(Data Link Layer Service Data Unit): Vertikale Dienstdateneinheit an der SchnittstelleCanTp↔CanIf. Aus Sicht desCanIfist die übergebeneL-SDUidentisch mit der transportiertenN-PDU.
- Schnittstellen-Beziehungen:
- Vertikal: Dienstaufrufe und Callbacks zwischen
PduR↔CanTpsowieCanTp↔CanIf. - Horizontal: Logische Peer-to-Peer-Verbindung via
N-PDU(symbolisiert durch die strichpunktierte Linie zwischen denCanTp-Instanzen).
- Vertikal: Dienstaufrufe und Callbacks zwischen
3. Dynamisches Verhalten & Sequenzablauf
- Senderpfad (Tx / Downlink, links):
PduRstößt die Übertragung einerN-SDUviaCanTp_Transmit()an.CanTpanalysiert die Gesamtlänge und generiert die entsprechendeN-PCI(Single FrameSFbei ≤ 7 Byte oder First FrameFFbei Multiframe).CanTpholt Datenfragmente über den PduR-CallbackPduR_CanTpCopyTxData()ab und assembliert dieN-PDU.- Die
N-PDUwird alsL-SDUviaCanIf_Transmit()an dasCanIfübergeben. - Quittierung von
CanIfviaCanTp_TxConfirmation(). Bei Multiframe folgt das Warten auf Flow Control (FC), danach zyklisches/getriggertes Senden von Consecutive Frames (CF). Nach vollständigem Versand erfolgtPduR_CanTpTxConfirmation().
- Empfängerpfad (Rx / Uplink, rechts):
CanIfempfängt einen CAN-Frame und leitet dieL-SDUviaCanTp_RxIndication()anCanTpweiter.CanTpparst dieN-PCI:- Bei
FFoderSFfordertCanTpPuffer überPduR_CanTpStartOfReception()an. - Bei Multiframe generiert der Empfänger-
CanTpselbstständigFC-Frames (N-PCI: Flow Status, Block Size, STmin) und sendet diese viaCanIf_Transmit()zurück.
- Bei
- Die Payload-Fragmente der
N-PDUwerden sequenziell überPduR_CanTpCopyRxData()in den Puffer desPduRgeschrieben. - Nach erfolgreichem Empfang aller Bytes signalisiert
CanTpdie Fertigstellung viaPduR_CanTpRxIndication().
- Abbruchbedingungen & Fehlerpfade:
- Protokoll-Timeouts nach ISO 15765-2 (N_Ar, N_As, N_Br, N_Bs, N_Cr, N_Cs).
- Pufferüberlauf oder temporäre Ressourcenverknappung (
BUFREQ_E_NOT_OK,BUFREQ_E_OVFL) beiPduR_CanTpStartOfReception()bzw.PduR_CanTpCopyRxData(). - Sequenzfehler (ungültige Sequence Number in
CF) führen zum sofortigen Session-Abbruch und zur Fehlermeldung an DET/DEM.
4. Normative Relevanz & Entwickler-Hinweise
- Keine interne Pufferung der Gesamt-SDU in CanTp:
CanTpallokiert keinen statischen Puffer für vollständigeN-SDUs. Der Speicher liegt vollständig im PDU Router bzw. den Quellmodulen (z. B. DCM / COM TP-Buffer). Treiber- und Stack-Entwickler müssen sicherstellen, dassPduR_CanTpCopyTxData()undPduR_CanTpCopyRxData()reentrant und deterministisch innerhalb der Task-Kontexte bedient werden.
- Konfigurationsabgleich (
Ecuc):- Jeder
CanTpChannelerfordert die exakte Zuordnung vonCanTpRxNSduId/CanTpTxNSduId(RichtungPduR) zuCanTpRxNPduId/CanTpTxNPduId(RichtungCanIf). - Fehlkonfigurationen der PDU-IDs an der Schichtgrenze führen zu Fehlleitungen oder Verwerfen im
CanIf_RxIndication-Lookup.
- Jeder
- Scheduling und Latenzanforderungen:
CanTp_MainFunction()muss mit einer Zykluszeit betrieben werden, die klein genug ist, um das konfigurierte ST_min (Separation Time) und die N_xx-Timeouts präzise einzuhalten (typisch: 1 ms bis 5 ms Task).
- Release-Spezifikum (R4.0.3):
- In R4.0.3 ist
CanTpstrikt auf Standard-CAN mit 8-Byte-Frames (CAN 2.0B) ausgelegt. CAN-FD-Unterstützung (Payload bis 64 Byte, veränderte N-PCI-Codierung) ist in diesem Release-Stand normativ noch nicht enthalten.
- In R4.0.3 ist
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.