📦Request & Response über CAN – mit ISO-TP

Ein CAN-Frame trägt höchstens 8 Byte. Die VIN allein hat 17 Zeichen. ISO-TP (ISO 15765-2) legt deshalb vor die Nutzdaten ein Steuerbyte (PCI) und verteilt lange Nachrichten auf mehrere Frames – mit Flusskontrolle durch den Empfänger.

🐞Schritt-Debugger

Szenario wählen und mit ← → durch die Frames gehen. Links fragt der Tester, rechts antworten die Steuergeräte.
Schritt 1 / 5 · Tasten ← →
🧑‍🔧 Tester
🚗 Motorsteuergerät (ECM)
antwortet mit 0x7E8
▶
SF7DF 02 09 02 00 00 00 00 00
an alle (funktional)

Schritt 1: SF

0209020000000000■ PCI ■ Daten ■ Füllbytes

Tester fragt funktional (an alle) über 0x7DF: PCI 02 = Single Frame mit 2 Byte, Service 0x09, PID 0x02. Rest = Füllbytes.

PCI: Single Frame, Länge 2

📥 Beim Tester zusammengesetzt

von 0x7E8
noch nichts

✂️ Eigene Nachricht segmentieren

Beliebige Nutzdaten eingeben – ISO-TP zerlegt sie in 8-Byte-Frames (Füllbyte AA). Voreingestellt: eine UDS-Antwort auf „22 F1 90“ (Daten-ID F190 = VIN) mit einer Beispiel-VIN.

FF10 14 62 F1 90 57 30 4CFirst Frame, Gesamtlänge 20← danach wartet der Sender auf Flow Control (30 …)
CF21 30 30 30 30 34 33 4DConsecutive Frame, SN 1
CF22 42 35 34 31 33 32 36Consecutive Frame, SN 2

20 Byte → 3 Frame(s)

📑Die vier Frame-Typen

TypPCI (Byte 0/1)InhaltBeispiel
Single Frame (SF)0LL = 1…7 Nutzbytes02 01 0C 00 00 00 00 00
First Frame (FF)1L LL12-Bit-Gesamtlänge + erste 6 Byte10 14 49 02 01 31 48 47
Consecutive Frame (CF)2NN = Sequenznummer 1…F, 0, 1 … + 7 Byte21 42 48 34 31 4A 58 4D
Flow Control (FC)3S BS STS: 0 weiter / 1 warten / 2 Überlauf, Blockgröße, STmin30 00 00 00 00 00 00 00

📮Adressierung bei OBD-II (11 Bit)

Tester ──7DF──►  alle OBD-Steuergeräte   (funktional)
Tester ──7E0──►  Motorsteuergerät        (physikalisch)
Tester ──7E1──►  Getriebesteuergerät
   …      7E7
Motor  ──7E8──►  Tester   (Antwort = Anfrage-ID + 8)
Getr.  ──7E9──►  Tester
   …      7EF
💡 Warum funktional?
Der Tester weiß anfangs nicht, welche Steuergeräte es gibt. Auf 7DF antwortet jedes, das die Anfrage unterstützt – die Antwort-ID verrät, wer es war.
✅ Flow Control geht physikalisch
Kommt ein First Frame von 7E8, schickt der Tester die Flow Control gezielt an 7E0 – nur dieses Steuergerät soll weitersenden. Funktionale Anfragen müssen deshalb in einen Single Frame passen.
⚠️ Füllbytes
ISO 15765-4 verlangt für OBD immer DLC 8. Unbenutzte Bytes werden aufgefüllt; der Wert ist nicht festgelegt – üblich sind 00, 55 oder AA. Hier: Tester 00, Steuergerät AA.