📦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
| Typ | PCI (Byte 0/1) | Inhalt | Beispiel |
|---|---|---|---|
| Single Frame (SF) | 0L | L = 1…7 Nutzbytes | 02 01 0C 00 00 00 00 00 |
| First Frame (FF) | 1L LL | 12-Bit-Gesamtlänge + erste 6 Byte | 10 14 49 02 01 31 48 47 |
| Consecutive Frame (CF) | 2N | N = Sequenznummer 1…F, 0, 1 … + 7 Byte | 21 42 48 34 31 4A 58 4D |
| Flow Control (FC) | 3S BS ST | S: 0 weiter / 1 warten / 2 Überlauf, Blockgröße, STmin | 30 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.