DEENESPTFRRUARHIKOZHNL
AUTOSAR_SWS_CANTransportLayer FIG-08dc77b5042645c8 846 × 534 px 1 Release(s)

Figure 9.1: SF N-SDU received and no buffer available

SHA-256 Inhalts-Fingerabdruck: 08dc77b5042645c870fb32543ec472a384266be6ffba93e74bee590bdd0ae5ff
✦ 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: 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 (CanIf), 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» CanIf: CAN-Interface (Lower Layer), Quelle der empfangenen L-PDU.
    • «module» :CanTp: CAN Transport Layer Modulinstanz, zuständig für N-PCI-Dekodierung, ID-Routing und Reassembly.
    • «interface» (PduR / Upper Layer): Repräsentiert die PDU-Router-Schnittstelle zur Bereitstellung von Zielpuffern (z. B. DCM oder COM).
  • Verwendete Schnittstellen & Signaturen:
    • CanTp_RxIndication(PduIdType RxPduId, const PduInfoType* PduInfoPtr): Synchroner Callback von CanIf an CanTp zur Übergabe der L-PDU (N-PDU-Payload inkl. N-PCI und Datenlänge).
    • PduR_CanTpStartOfReception(PduIdType id, PduLengthType TpSduLength, PduLengthType* bufferSizePtr) (bzw. standardkonform PduInfoType* / BufReq_ReturnType): Synchroner Aufruf von CanTp an PduR zur Initiierung des N-SDU-Empfangs und Abfrage verfügbarer Puffergröße.

3. Dynamisches Verhalten & Sequenzablauf

  1. Trigger (L-PDU Empfang): CanIf signalisiert den Empfang eines CAN-Frames via CanTp_RxIndication(). Parameter enthalten die konfigurierte CanTpRxPduId sowie Zeiger auf Payload und L-PDU-Länge.
  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 konfigurierte obere N-SDU-ID.
  3. Pufferanforderung: CanTp ruft synchron PduR_CanTpStartOfReception() auf, übergibt die benötigte Gesamtlänge TpSduLength und fordert Pufferressourcen an.
  4. Ablehnung durch Upper Layer: Der Upper Layer (z. B. DCM/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 Protokollmechanismus für Flow Control (FC). CanTp bricht die N-SDU-Verarbeitung sofort ab, kopiert keine Daten und kehrt ohne weitere Benachrichtigung der oberen Schicht (PduR_CanTpRxIndication unterbleibt) synchron aus CanTp_RxIndication() zu CanIf 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; Fehlerbehandlung muss auf Applikations-/Diagnoseebene (Timeout auf UDS-Ebene) erfolgen.
  • Synchrone Kontextbindung: Der gesamte dargestellte Ablauf findet im Aufrufkontext von CanTp_RxIndication statt (in der Regel ISR-Kontext des CAN-Controllers oder Task-Kontext von Can_MainFunction_Read / CanIf). PduR_CanTpStartOfReception muss extrem latenzarm und reentrant ausgeführt werden.
  • Pufferanforderung bufferSizePtr: Gibt der Upper Layer BUFREQ_E_NOT_OK zurück, darf CanTp weder PduR_CanTpCopyRxData noch PduR_CanTpRxIndication aufrufen. Interne Metadaten und Rx-Zustandsmaschinen für diesen Kanal müssen unverzüglich in den IDLE-Zustand zurückgesetzt bzw. freigegeben werden.

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

R21-11 → R22-11 keine inhaltliche Änderung Nachfolger: FIG-b04b5bcced71ea99

Keine inhaltlichen Änderungen erkennbar.

Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Aus dem Dokument extrahierter Text & Kontext

Beschriftungen im Schaubild:

«module» | CanIf | «interface» «module» | :CanTp |         |  |   |   |  |   |  |  |   |  |  |   |   |  |   |  |  |  |    |  |  |   |  |  |  |  |  |  |   |   |  |   |  |     |  |   |  |  |  |    |  |    |  |  |  |  |  |  |  !  |  |    |  |    |  |   |  |  | "   |  |  #    |  |  |  |  |    |  |  |   |  |  |   |  |  | $ |  |  |   % & |  |  |  |   ' |  |  |  | ( % |  |  |  |  |  |  |   |     |   '    |  |  |    |     | ' | ) | &   | *  |  |   |  |  |    |  |  |    |  |  +  |  |  |  |     |   |  |  |   | " |  |    |   |  |    |  | #  |  |  |   | # |  |  |  |  |  " |  |  |       | , |    |  |  |  $  |   |  |  |  |  |  " |  |     |   * |  |  |  |   |  |  |  |   |   | + -  |    |    |  |  |  |  |  |   | $ |  |  |  |  |  |  & %   |  |     |  |  |   |    #   ! |  |  |  |  %      |  |  |  |  |    |  |  |  |   |  |    |  |  |  |   # |  |  |  |  |  " |  |  -  |  |  |  |  |  |  %    |  |  |  |  |      |  |  |     |  |    |  |  |  |  |     |  |   |  |  |         |  |  |   |  |   |    |  |  | "   |  |  |  |  #   |  | ' |   |  | . | ) | % | / 0 | & | / | & ( &( | 1 "    |  |   |   |  |   |  |  |   |  |  |   |  |  |  |   |  |  | & %   |  |     |  |  |   |  |  |  |  |  |   | $ |  |  |  |  |  |  |  |    |  |  |  |    |  |  | CanTp_RxIndication(PduIdType, const PduInfoType*) | PduR_CanTpStartOfReception(PduIdType, PduLengthType, PduLengthType*)

Vorkommen in AUTOSAR-Releases (1)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R21-11 AUTOSAR_SWS_CANTransportLayer S. 58 9.1 Figure 9.1: SF N-SDU received and no buffer available