Erweiterung des ELM327-Protokolls zur Unterstützung von ISO 13400 (DoIP — Diagnostics over Internet Protocol). Das Protokoll D ermöglicht die UDS-Diagnose über Ethernet/IP unter Verwendung des Standard-ELM327-AT-Interfaces.
Tester (ScanDoc) Fahrzeug ┌──────────┐ TCP/IP ┌─────────────┐ CAN/LIN ┌─────┐ │ SA=0E80 │───────────────│ DoIP entity │───────────────│ ECU │ │ (Tester) │ Ethernet │ (Gateway) │ interner Bus │(TA) │ └──────────┘ └─────────────┘ └─────┘
DoIP entity — Knoten im Fahrzeugnetzwerk mit Unterstützung für ISO 13400. Dies kann ein DoIP-Gateway (Gateway zwischen Ethernet und internen CAN/LIN-Bussen) oder ein DoIP Edge Node (Steuergerät mit eigenem Ethernet-Interface) sein. Jede DoIP entity hat eine logische Adresse, eine IP-Adresse und eine VIN.
Für den Betrieb müssen drei Parameter konfiguriert werden:
| Parameter | Befehl | Legt fest | Wie ermitteln |
|---|---|---|---|
| IP DoIP entity | AT DI | Wohin per TCP verbinden | AT DD (Discovery) oder manuell setzen |
| Source Address | AT DS | Logische Adresse des Testers | Standardmäßig 0E80, in der Regel nicht zu ändern |
| Target Address | AT DT | Logische Adresse des Ziel-Steuergeräts | Aus der Fahrzeugdokumentation |
Wenn DI nicht gesetzt ist (IP = 00000000), führt AT SP D automatisch Discovery (UDP-Broadcast) aus, findet die erste DoIP entity und füllt die Parameter aus deren Antwort:
DI ← IP-Adresse der DoIP entity (z. B. C0A80C04 = 192.168.12.4)DT ← logische Adresse der DoIP entity (z. B. 3828 — in der Regel das Gateway)DS ← bleibt 0E80 (Standard)Danach erfolgen TCP-Verbindung → Routing Activation → bereit für UDS.
AT SP D findet die DoIP entity selbst und stellt die Verbindung her:
>ATZ ELM327 v2.3 >ATE0 OK >AT SP D # Discovery → DI=C0A80C04, DT=3828, DS=0E80 OK # TCP + Routing Activation ausgeführt >22 F1 90 # UDS Read VIN — Anfrage geht an das Gateway (DT=3828) 62 F1 90 54 4D 42 4A 43 37 4E 59 33 50 46 30 32 30 36 30 38
Zum Beispiel das Motorsteuergerät:
>ATZ ELM327 v2.3 >ATE0 OK >AT SP D # Discovery + Verbindung zum Gateway OK >22 F1 90 # VIN-Anfrage an das Gateway (DT=3828) 62 F1 90 54 4D 42 4A 43 37 4E 59 33 50 46 30 32 30 36 30 38 >AT DT 0010 # Target Address auf das Motorsteuergerät umschalten OK >22 F1 90 # dieselbe Anfrage — geht nun an ECU 0010 über das Gateway 62 F1 90 ...
Setzt die IPv4-Adresse des Steuergeräts (DoIP entity) im Hex-Format (4 Bytes, Big-Endian).
>AT DI C0A80C04 OK
Beispiel: C0A80C04 = 192.168.12.4
Standardwert: 00000000 (nicht gesetzt). Wenn beim Aufruf von AT SP D keine IP gesetzt ist, wird automatisch ein Vehicle Discovery (UDP-Broadcast) ausgeführt.
Setzt die logische Adresse des Testers (Source Address, SA) im Hex-Format (2 Bytes).
>AT DS 0E00 OK
Bereich der Testeradressen nach ISO 13400: 0x0E00–0x0FFF. Standardwert: 0E80.
Setzt die logische Adresse des Steuergeräts (Target Address, TA) im Hex-Format (2 Bytes).
>AT DT 3828 OK
Bereich der ECU-Adressen nach ISO 13400: 0x0001–0x0DFF. Standardwert: 0001.
Setzt den Routing Activation Type. Muss vor AT SP D gesetzt werden — wird beim Verbindungsaufbau im Routing Activation Request an die DoIP entity übertragen. Legt fest, welche Diagnose-Zugriffsebene angefordert wird. Muss nur geändert werden, wenn das Gateway die Verbindung mit Typ 00 (Default) ablehnt.
>AT DA 00 OK
| Wert | Beschreibung |
|---|---|
00 | Default — Standarddiagnose (Standardwert) |
01 | WWH-OBD — Zugriff nur auf gesetzlich vorgeschriebene Daten (Emissions) |
E0 | Central Security — erweiterter Zugriff über zentrales Security-Gateway |
Setzt den TCP-Port der DoIP entity im Hex-Format. Muss vor AT SP D gesetzt werden. Standard: 3458 (13400 dezimal) — der Standardport nach ISO 13400. Nur zu ändern, wenn die DoIP entity einen abweichenden Port verwendet.
>AT DC 3458 OK
Führt ein UDP-Broadcast Vehicle Discovery aus (ISO 13400 Vehicle Identification Request). Gibt die Liste der gefundenen DoIP entities mit VIN, logischer Adresse und IP aus.
Füllt DI (IP) und DT (Target Address) automatisch aus der ersten gefundenen DoIP entity.
Bei DI=0 führt AT SP D das Discovery selbst aus — ein separates AT DD ist nicht erforderlich. AT DD ist nützlich, wenn man vor dem Verbindungsaufbau sehen möchte, welche DoIP entities im Netz vorhanden sind (VIN, Adressen, IP).
>AT DD VIN:WBAPH5C55BA123456 ADDR:3828 IP:C0A80C04 OK
Mehrere DoIP entities im Netzwerk:
>AT DD VIN:WBAPH5C55BA123456 ADDR:3828 IP:C0A80C04 VIN:WF0XXXGCDX1234567 ADDR:1010 IP:C0A80C05 OK
Wenn keine DoIP entities gefunden wurden:
>AT DD NO DATA
| Szenario | Sequenz |
|---|---|
| Automatisch (Gateway) | ATZ → AT SP D |
| ECU hinter Gateway (IP via Discovery) | ATZ → AT DD → AT DT xxxx → AT SP D |
| ECU hinter Gateway (IP bekannt) | ATZ → AT DI hhhhhhhh → AT DT xxxx → AT SP D |
Bei einem Fehler in einem beliebigen Schritt wird UNABLE TO CONNECT zurückgegeben.
Hex-Daten werden als UDS-Payload gesendet. Der ELM327 verpackt sie automatisch in eine DoIP Diagnostic Message mit SA+TA-Header.
>22F190 62 F1 90 57 42 41 50 48 35 43 35 35 42 41 31 32 33 34 35 36
Nur UDS-Payload, ohne SA/TA-Header:
62 F1 90 57 42 41 ...
SA + TA (4 Bytes) + UDS-Payload:
38 28 0E 00 62 F1 90 57 42 41 ...
Header-Format: [TA_hi] [TA_lo] [SA_hi] [SA_lo] — Absenderadresse der Antwort (ECU → Tester).
DoIP ist in die automatische Protokollsuche (AT SP 0) eingebunden. Beim DoIP-Versuch:
Die Befehle AT D (Defaults) und AT Z (Reset) setzen alle DoIP-Parameter zurück:
DI → 00000000DS → 0E80DT → 0001DA → 00DC → 3458 (13400)