AUTOSAR_SWS_CANTransportLayer
FIG-d26c88460396078f
926 × 712 px
1 Release(s)
Figure 3: CAN Transport Layer life cycle 7.1.2 Transmit request The transmit operation, CanTp_Transmit(), will allow upper layers to ask for data transfer using CAN transport protocol facilities (segmentation, extended addressing format and so on).
SHA-256 Inhalts-Fingerabdruck:
d26c88460396078fac390b08815c862e213e415801131f05d3449775e594a695
✦
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-Zustandsdiagramm (stm CanTp Life Cycle) zur Modellierung des Lebenszyklus und der Betriebsmodi des BSW-Moduls CAN Transport Layer (CanTp) innerhalb der AUTOSAR Classic Platform (Communication Stack / ComStack). Das Modul vermittelt zwischen der CAN-Treiberschicht (CanIf) und oberen Schichten (wie PduR und Dcm) und realisiert Transportprotokollmechanismen gemäß ISO 15765-2 (Segmentierung, Reassemblierung, Flusskontrolle). Das Diagramm spezifiziert die globalen Modulzustände sowie das nebenläufige Kanalzustandsmodell für parallele Übertragungsinstanzen.
2. Komponenten, Entitäten & Schnittstellen
- Modulzustände (Hauptzustände):
CANTP_OFF: Deinitialisierter Ruhezustand des BSW-Moduls.CANTP_ON: Aktiver Betriebszustand; hierarchischer Verbundzustand mit orthogonalen Regionen zur parallelen Kanalabwicklung.
- Kanal-Subzustände innerhalb von
CANTP_ON:[Rx Connection Channel]: Region für Empfangskanäle mit den SubzuständenCANTP_RX_WAIT(Warten auf Empfang) undCANTP_RX_PROCESSING(laufende Reassemblierung/Verarbeitung).[Tx Connection Channel]: Region für Sendekanäle mit den SubzuständenCANTP_TX_WAIT(Warten auf Sendeauftrag) undCANTP_TX_PROCESSING(laufende Segmentierung/Übertragung).[Other Connection Channel]: Region für weitere Verbindungskanäle nach identischem Verhaltensmuster (CANTP_Xx_WAITundCANTP_Xx_PROCESSING).
- Pseudozustände: Initial-Pseudozustand (oberste Ebene), lokale Initial-Pseudozustände (
Init) je orthogonaler Region sowie Endzustand (PowerDown). - Schnittstellen und Ereignisse:
- APIs des BSW-Moduls:
CanTp_Init()(mit Guards[with error]und[without error]),CanTp_Shutdown(). - Kommunikationsereignisse:
Transmit N-SDU(ausgelöst durchCanTp_Transmit()),Receive N-PDU(ausgelöst durchCanTp_RxIndication()). - Systemereignisse:
PowerUp,PowerDown(gesteuert durch ECU State Manager / EcuM bzw. BswM).
- APIs des BSW-Moduls:
3. Dynamisches Verhalten & Sequenzablauf
- Initialisierung:
- Nach Systemstart (
PowerUp) tritt das Modul in den ZustandCANTP_OFFein. - Ein fehlerhafter Aufruf
CanTp_Init() [with error]führt über eine Selbsttransition zurück nachCANTP_OFF. - Ein erfolgreicher Aufruf
CanTp_Init() [without error]überführt das Modul vonCANTP_OFFnachCANTP_ON. CanTp_Shutdown()im ZustandCANTP_OFFverbleibt via Selbsttransition inCANTP_OFF.
- Nach Systemstart (
- Betrieb innerhalb von
CANTP_ON:- Beim Eintritt in
CANTP_ONwechseln alle orthogonalen Regionen über ihre jeweiligen lokalenInit-Transitionen in den Wartezustand (CANTP_RX_WAITbzw.CANTP_TX_WAIT). - Im Empfangskanal führt der Eingang einer N-PDU (
Receive N-PDU) inCANTP_RX_PROCESSING. Sobald alle N-PDUs der Botschaft verarbeitet sind oder keine weiteren erwartet werden ([no more N-PDU expected]), erfolgt der Rücksprung nachCANTP_RX_WAIT. - Im Sendekanal bewirkt die Sendeanforderung (
Transmit N-SDU) den Übergang nachCANTP_TX_PROCESSING. Nach vollständiger Übertragung aller Fragmente ([no more N-SDU to transmit]) kehrt der Kanal nachCANTP_TX_WAITzurück. - Ein erneuter Aufruf von
CanTp_Init()währendCANTP_ONtriggert eine externe Selbsttransition aufCANTP_ON, wodurch sämtliche Kanäle reinitialisiert und in ihre jeweiligen Wartezustände zurückgesetzt werden.
- Beim Eintritt in
- Beendigung:
- Der Aufruf
CanTp_Shutdown()inCANTP_ONführt zurück in den ZustandCANTP_OFF. - Aus beiden Hauptzuständen (
CANTP_OFFundCANTP_ON) terminiert das SystemereignisPowerDowndirekt in den Endzustand.
- Der Aufruf
4. Normative Relevanz & Entwickler-Hinweise
- Normative Vorbedingungen: Im Zustand
CANTP_OFFist das Modul uninitialisiert; alle Datenübertragungs- und Management-APIs (z. B.CanTp_Transmit(),CanTp_CancelTransmit(),CanTp_CancelReceive(),CanTp_ChangeParameter()) müssen mit Fehlercode (DETCANTP_E_UNINIT) abgewiesen werden. - Nebenläufigkeit und Kanalisolation: Die orthogonalen Regionen spiegeln die geforderte Unabhängigkeit mehrerer logischer Übertragungskanäle (
CanTpChannel) wider. Jeder Kanal verwaltet seine eigenen internen Protokollzeitgeber (N_Ar, N_As, N_Br, N_Bs, N_Cr, N_Cs gemäß ISO 15765-2) sowie Pufferreferenzen autark. - Re-Initialisierungsverhalten: Die Selbsttransition an
CANTP_ONviaCanTp_Init()erzwingt den sofortigen Abbruch aller laufenden Empfangs- und Sendevorgänge über alle Kanäle hinweg. Puffer müssen freigegeben und betroffene obere Schichten über den Verbindungsabbruch informiert werden. - Geordnetes Herunterfahren: Vor dem Auslösen von
CanTp_Shutdown()muss sichergestellt werden, dass keine unvollständigen N-SDU-Transfers verbleiben, da der Moduswechsel nachCANTP_OFFlaufende Reassemblierungen und Übertragungen hart abbricht.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.