AUTOSAR_CP_SWS_CANTransportLayer
FIG-35d774465cae0726
832 × 376 px
1 Release(s)
Figure 9.1: SF N-SDU received and no buffer available
SHA-256 Inhalts-Fingerabdruck:
35d774465cae0726e31b23d376f21f732fffc58a554ede0ce86ab3386092b63d
✦
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
- Klassifikation: UML-Sequenzdiagramm (Interaktionsdiagramm).
- Technischer Zweck & Einordnung: Spezifikation des Fehlerpfads beim Empfang einer unsegmentierten CAN-Transport-Layer-Nachricht (Single Frame, SF N-PDU) gemäß ISO 15765-2 / AUTOSAR BSW. Dargestellt ist das synchrone Puffer-Allokationsverhalten zwischen Lower Layer (
LSduR), Transport Layer (CanTp) und Upper Layer (PduR), wenn die obere Schicht keinen Empfangspuffer bereitstellen kann (BUFREQ_E_NOT_OK).
2. Komponenten, Entitäten & Schnittstellen
- Beteiligte Instanzen & Stereotypen:
«module» LSduR: L-SDU Router (Lower Layer), Quelle der empfangenen L-SDU.«module» CanTp: CAN Transport Layer Modul, zuständig für N-PCI-Dekodierung, ID-Routing und Reassembly.«module» PduR: PDU Router (Upper Layer) zur Bereitstellung von Zielpuffern (z. B. DCM oder COM).
- Verwendete Schnittstellen & Signaturen:
CanTp_RxIndication(): Synchroner Callback vonLSduRanCanTpzur Übergabe der L-SDU / L-PDU (im Diagramm ohne Parameterliste dargestellt).PduR_CanTpStartOfReception(): Synchroner Aufruf vonCanTpanPduRzur Initiierung des N-SDU-Empfangs und Pufferanforderung (im Diagramm ohne Parameterliste dargestellt).
3. Dynamisches Verhalten & Sequenzablauf
- Trigger (L-SDU Empfang):
LSduRsignalisiert den Empfang eines Frames viaCanTp_RxIndication(). Gemäß Kommentar werdenCanTpRxPduIdsowie Zeiger auf Payload und Datenlänge (CanTpRxPduPtr) übergeben. - N-PCI-Parsing & ID-Translation:
CanTpidentifiziert den Frame-Typ als Single Frame (SF), ermittelt über das N-PCI-Feld die Gesamtlänge der Nutzdaten (SF_DL/TpSduLength) und mappt die untere PDU-ID auf die obere N-SDU-ID. - Pufferanforderung:
CanTpruft synchronPduR_CanTpStartOfReception()auf, übergibt die GesamtlängeTpSduLengthund fordert Pufferressourcen an. - Ablehnung durch Upper Layer:
PduRverfügt über keinen freien Speicher bzw. ist belegt und antwortet synchron mitBUFREQ_E_NOT_OK. - Terminierung ohne Kopieroperation: Da es sich um ein unsegmentiertes Single Frame handelt, existiert auf CAN-Ebene kein Flow-Control-Mechanismus.
CanTpbricht die N-SDU-Verarbeitung sofort ab, kopiert keine Daten und kehrt synchron ausCanTp_RxIndication()zuLSduRzurück.
4. Normative Relevanz & Entwickler-Hinweise
- Keine Flow-Control-Möglichkeit: Im Gegensatz zum First Frame (
FF), bei demCanTpaufBUFREQ_E_NOT_OKoder Pufferüberlauf mit einemFC(OVFLW)reagieren kann, wird ein abgelehnterSFzwingend verworfen. Der Sender erhält auf ISO-TP-Ebene keine Quittung; die Fehlerbehandlung muss auf übergeordneter Protokoll- bzw. Applikationsebene erfolgen. - Synchrone Kontextbindung: Der gesamte dargestellte Ablauf findet im synchronen Aufrufkontext von
CanTp_RxIndication()statt (Aufrufkontext des Lower LayersLSduR).PduR_CanTpStartOfReception()muss latenzarm und reentrant ausgeführt werden. - Vereinfachte Signaturdarstellung: Die Funktionsaufrufe im Sequenzdiagramm verzichten auf explizite C-Typparameter; die funktionale Parameterübergabe (
CanTpRxPduId,TpSduLength,bufferSizePtr) wird textuell über die assoziierten Kommentare spezifiziert.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.