DEENESPTFRRUARHIKOZHNL
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 von LSduR an CanTp zur Übergabe der L-SDU / L-PDU (im Diagramm ohne Parameterliste dargestellt).
    • PduR_CanTpStartOfReception(): Synchroner Aufruf von CanTp an PduR zur Initiierung des N-SDU-Empfangs und Pufferanforderung (im Diagramm ohne Parameterliste dargestellt).

3. Dynamisches Verhalten & Sequenzablauf

  1. Trigger (L-SDU Empfang): LSduR signalisiert den Empfang eines Frames via CanTp_RxIndication(). Gemäß Kommentar werden CanTpRxPduId sowie Zeiger auf Payload und Datenlänge (CanTpRxPduPtr) übergeben.
  2. N-PCI-Parsing & ID-Translation: CanTp identifiziert 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.
  3. Pufferanforderung: CanTp ruft synchron PduR_CanTpStartOfReception() auf, übergibt die Gesamtlänge TpSduLength und fordert Pufferressourcen an.
  4. Ablehnung durch Upper Layer: PduR verfügt über keinen freien Speicher bzw. ist belegt und antwortet synchron mit BUFREQ_E_NOT_OK.
  5. Terminierung ohne Kopieroperation: Da es sich um ein unsegmentiertes Single Frame handelt, existiert auf CAN-Ebene kein Flow-Control-Mechanismus. CanTp bricht die N-SDU-Verarbeitung sofort ab, kopiert keine Daten und kehrt synchron aus CanTp_RxIndication() zu LSduR zurück.

4. Normative Relevanz & Entwickler-Hinweise

  • Keine Flow-Control-Möglichkeit: Im Gegensatz zum First Frame (FF), bei dem CanTp auf BUFREQ_E_NOT_OK oder Pufferüberlauf mit einem FC(OVFLW) reagieren kann, wird ein abgelehnter SF zwingend 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 Layers LSduR). 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.

Versionsvergleich KI-generiert · gemini-3.8-flash (via agy)

R23-11 → R24-11 normative Änderung Vorgänger: FIG-b04b5bcced71ea99
  • Lebenslinie links: Geändert von anonymer Schnittstelle «interface» zur expliziten Modulbezeichnung «module» PduR.
  • Lebenslinie Mitte: Notation geändert von Instanzdarstellung «module» :CanTp zu Modulbezeichnung «module» CanTp (führender Doppelpunkt entfernt).
  • Lebenslinie rechts: Untere Kommunikationsschicht geändert von «module» CanIf zu «module» LSduR.
  • Nachricht CanTp_RxIndication: Parametersignatur (PduIdType, const PduInfoType*) entfernt und auf leere Parameterklammern () vereinfacht.
  • Nachricht PduR_CanTpStartOfReception: Parametersignatur (PduIdType, PduLengthType, PduLengthType*) entfernt und auf leere Parameterklammern () vereinfacht.
R24-11 → R25-11 keine inhaltliche Änderung Nachfolger: FIG-9ce40c49e4493f9b

Keine inhaltlichen Änderungen erkennbar.

Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Aus dem Dokument extrahierter Text & Kontext

Beschriftungen im Schaubild:

«module» | PduR | «module» | CanTp |         |  |   |   |  |   |  |  |    |  |  |   |   |  |   |  |  |  |  |  |  |     |  |  |  |   |  |    |   |  |     |   |  |  |     |  |    |  |  |   |   |   |  |     |   !  |   |  |  |   |  |  |   |  |   |  |  | " |  |  |  |  # |     |   |  |  |  |        |   |  |  | $   |  |  | %& |  |  |  |   ' |  |  |  | ( |  | % |    |  |      |  |   |   '  |  |  |    |  |   |     | ' | ) | &  | *    |  |    |    |  |  |  |     |  + |  |    |  |   |  |   |  |  |   | " |  |  |   |  |        | #  |   |  |   | # |  |    | " |  |  |         | , |   |    $  |  |   |  |    | " |  |   |  |  |   * |  |  |  |  |      |  |   | + | -         |  |  |  |  |   | $   |  |  |  |   & % |  |  |  |  |   |  |      |  |   | # |  | ! |  |  |  |   % |  |  |  |   |  |  |  |  |    |  |  |  |   |   |  |  |  |  |  |  # |    |     | " |  |  | - |  |  |  |  |  |  |  % |  |  |   |  |        |  |  |  |    |   |   |  |  |  |  |  |  |   |  |  |    |         |  |  |  |   |  |  |  |     |  |  | " |  |  |  |  |  |  # |     | ' |   |  | . ) | % | /0 | & | / | & (  & ( | 1 "  |     |  |   |   |  |  |   |  |  |   |   |  |  |   |  |  |   & % |  |  |  |  |   |  |           | $   |      |   |   |  |  |   |  |  | «module» | LSduR | PduR_CanTpStartOfReception() | CanTp_RxIndication()

Vorkommen in AUTOSAR-Releases (1)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R24-11 AUTOSAR_CP_SWS_CANTransportLayer S. 70 9.1 Figure 9.1: SF N-SDU received and no buffer available