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 vonCanIfanCanTpzur Übergabe der L-PDU (N-PDU-Payload inkl. N-PCI und Datenlänge).PduR_CanTpStartOfReception(PduIdType id, PduLengthType TpSduLength, PduLengthType* bufferSizePtr)(bzw. standardkonformPduInfoType*/BufReq_ReturnType): Synchroner Aufruf vonCanTpanPduRzur Initiierung des N-SDU-Empfangs und Abfrage verfügbarer Puffergröße.
3. Dynamisches Verhalten & Sequenzablauf
- Trigger (L-PDU Empfang):
CanIfsignalisiert den Empfang eines CAN-Frames viaCanTp_RxIndication(). Parameter enthalten die konfigurierteCanTpRxPduIdsowie Zeiger auf Payload und L-PDU-Länge. - 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 konfigurierte obere N-SDU-ID. - Pufferanforderung:
CanTpruft synchronPduR_CanTpStartOfReception()auf, übergibt die benötigte GesamtlängeTpSduLengthund fordert Pufferressourcen an. - 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. - Terminierung ohne Kopieroperation: Da es sich um ein unsegmentiertes Single Frame handelt, existiert auf CAN-Ebene kein Protokollmechanismus für Flow Control (FC).
CanTpbricht die N-SDU-Verarbeitung sofort ab, kopiert keine Daten und kehrt ohne weitere Benachrichtigung der oberen Schicht (PduR_CanTpRxIndicationunterbleibt) synchron ausCanTp_RxIndication()zuCanIfzurü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; Fehlerbehandlung muss auf Applikations-/Diagnoseebene (Timeout auf UDS-Ebene) erfolgen. - Synchrone Kontextbindung: Der gesamte dargestellte Ablauf findet im Aufrufkontext von
CanTp_RxIndicationstatt (in der Regel ISR-Kontext des CAN-Controllers oder Task-Kontext vonCan_MainFunction_Read/CanIf).PduR_CanTpStartOfReceptionmuss extrem latenzarm und reentrant ausgeführt werden. - Pufferanforderung
bufferSizePtr: Gibt der Upper LayerBUFREQ_E_NOT_OKzurück, darfCanTpwederPduR_CanTpCopyRxDatanochPduR_CanTpRxIndicationaufrufen. Interne Metadaten und Rx-Zustandsmaschinen für diesen Kanal müssen unverzüglich in den IDLE-Zustand zurückgesetzt bzw. freigegeben werden.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.