Quantex GmbH
DE RU EN EL
Ihre Region: Europa

ELM327 ISO 13400 (DoIP)

Überblick

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.

Wie DoIP funktioniert

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:

ParameterBefehlLegt festWie ermitteln
IP DoIP entityAT DIWohin per TCP verbindenAT DD (Discovery) oder manuell setzen
Source AddressAT DSLogische Adresse des TestersStandardmäßig 0E80, in der Regel nicht zu ändern
Target AddressAT DTLogische Adresse des Ziel-SteuergerätsAus 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:

Danach erfolgen TCP-Verbindung → Routing Activation → bereit für UDS.


Beispiele

Anfrage an das Gateway

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

Anfrage an ein bestimmtes Steuergerät hinter dem Gateway

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 ...

DoIP AT-Befehle

DI hhhhhhhh — IP-Adresse der DoIP entity

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.

DS hhhh — Source Address (Quelladresse)

Setzt die logische Adresse des Testers (Source Address, SA) im Hex-Format (2 Bytes).

>AT DS 0E00
OK

Bereich der Testeradressen nach ISO 13400: 0x0E000x0FFF. Standardwert: 0E80.

DT hhhh — Target Address (Zieladresse)

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: 0x00010x0DFF. Standardwert: 0001.

DA hh — Routing Activation Type

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
WertBeschreibung
00Default — Standarddiagnose (Standardwert)
01WWH-OBD — Zugriff nur auf gesetzlich vorgeschriebene Daten (Emissions)
E0Central Security — erweiterter Zugriff über zentrales Security-Gateway

DC hhhh — DoIP TCP-Port

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

DD — DoIP entities ermitteln

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

Initialisierungssequenz

SzenarioSequenz
Automatisch (Gateway)ATZAT SP D
ECU hinter Gateway (IP via Discovery)ATZAT DDAT DT xxxxAT SP D
ECU hinter Gateway (IP bekannt)ATZAT DI hhhhhhhhAT DT xxxxAT SP D

Was bei AT SP D passiert

  1. Disconnect — Trennen des aktuellen Protokolls
  2. Connect — Erstellen eines ISO 13400 J2534-Kanals
  3. Discovery (wenn keine IP gesetzt ist) — UDP-Broadcast zur Suche der DoIP entity
  4. Set Config — Setzen von IP, SA, TA, Port, Activation Type
  5. TCP Connect — Aufbau der TCP-Verbindung zur DoIP entity
  6. Routing Activation — Aktivierung des DoIP-Routings

Bei einem Fehler in einem beliebigen Schritt wird UNABLE TO CONNECT zurückgegeben.


Format der OBD-Daten

Senden

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

Antwort (H0 — headers off, Standard)

Nur UDS-Payload, ohne SA/TA-Header:

62 F1 90 57 42 41 ...

Antwort (H1 — headers on)

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).


Automatische Protokollsuche

DoIP ist in die automatische Protokollsuche (AT SP 0) eingebunden. Beim DoIP-Versuch:

  1. Es wird ein temporärer ISO 13400-Kanal erzeugt
  2. Vehicle Discovery wird ausgeführt (UDP-Broadcast, Timeout 2 Sekunden)
  3. Wenn eine DoIP entity gefunden wird — Verbindung über TCP + Routing Activation
  4. Bei erfolgreicher Verbindung — es wird eine Test-OBD-Anfrage gesendet
  5. Wenn keine DoIP entity gefunden wird oder keine Antwort kommt — Wechsel zum nächsten Protokoll

Parameter zurücksetzen

Die Befehle AT D (Defaults) und AT Z (Reset) setzen alle DoIP-Parameter zurück:


Einschränkungen