Quantex GmbH
Votre région : Europe

ELM327 ISO 13400 (DoIP)

Présentation générale

Extension du protocole ELM327 pour la prise en charge de l'ISO 13400 (DoIP — Diagnostics over Internet Protocol). Le protocole D permet de réaliser un diagnostic UDS via Ethernet/IP en utilisant l'interface AT standard d'ELM327.

Fonctionnement de DoIP

Testeur (ScanDoc)                   Automobile
┌──────────┐    TCP/IP     ┌─────────────┐    CAN/LIN    ┌─────┐
│ SA=0E80  │───────────────│ DoIP entity │───────────────│ ECU │
│(testeur) │   Ethernet    │ (gateway)   │  bus interne  │(TA) │
└──────────┘               └─────────────┘               └─────┘

DoIP entity — nœud du réseau du véhicule prenant en charge l'ISO 13400. Il peut s'agir d'un DoIP gateway (passerelle entre Ethernet et les bus internes CAN/LIN) ou d'un DoIP edge node (ECU doté de sa propre interface Ethernet). Chaque DoIP entity possède une adresse logique, une adresse IP et un VIN.

Pour fonctionner, il faut configurer trois paramètres :

Paramètre Commande Ce qu'il définit Comment l'obtenir
IP DoIP entity AT DI Où se connecter par TCP AT DD (discovery) ou définir manuellement
Source Address AT DS Adresse logique du testeur Par défaut 0E80, normalement il n'est pas nécessaire de le changer
Target Address AT DT Adresse logique de l'ECU cible D'après la documentation du véhicule

Si DI n'est pas défini (IP = 00000000), AT SP D exécute automatiquement le discovery (UDP broadcast), trouve le premier DoIP entity et renseigne les paramètres à partir de sa réponse :

Ensuite la connexion TCP est établie → Routing Activation → prêt pour UDS.


Exemples

Requête vers le gateway

AT SP D trouve lui-même le DoIP entity et établit la connexion :

>ATZ
ELM327 v2.3

>ATE0
OK

>AT SP D                 # discovery → DI=C0A80C04, DT=3828, DS=0E80
OK                       # TCP + Routing Activation effectués

>22 F1 90                # UDS Read VIN — la requête ira au gateway (DT=3828)
62 F1 90 54 4D 42 4A 43 37 4E 59 33 50 46 30 32 30 36 30 38

Requête vers un ECU précis derrière le gateway

Par exemple, le module moteur :

>ATZ
ELM327 v2.3

>ATE0
OK

>AT SP D                 # discovery + connexion au gateway
OK

>22 F1 90                # requête de VIN au 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              # basculer le Target Address vers le module moteur
OK

>22 F1 90                # la même requête — elle ira maintenant à l'ECU 0010 via le gateway
62 F1 90 ...

Commandes AT DoIP

DI hhhhhhhh — adresse IP du DoIP entity

Définit l'adresse IPv4 de l'ECU (DoIP entity) au format hex (4 octets, big-endian).

>AT DI C0A80C04
OK

Exemple : C0A80C04 = 192.168.12.4

Valeur par défaut : 00000000 (non défini). Si l'IP n'est pas définie lors de l'exécution d'AT SP D, un Vehicle Discovery automatique est réalisé (UDP broadcast).

DS hhhh — adresse source (Source Address)

Définit l'adresse logique du testeur (Source Address, SA) au format hex (2 octets).

>AT DS 0E00
OK

Plage des adresses de testeur selon l'ISO 13400 : 0x0E000x0FFF. Valeur par défaut : 0E80.

DT hhhh — adresse de destination (Target Address)

Définit l'adresse logique de l'ECU (Target Address, TA) au format hex (2 octets).

>AT DT 3828
OK

Plage des adresses d'ECU selon l'ISO 13400 : 0x00010x0DFF. Valeur par défaut : 0001.

DA hh — type d'activation du routage

Définit le type d'activation du routage (Routing Activation Type). Il se définit avant AT SP D — il est transmis au DoIP entity dans la Routing Activation Request lors de la connexion. Il détermine quel niveau d'accès au diagnostic est demandé. Il n'est nécessaire de le changer que si le gateway refuse la connexion avec le type 00 (Default).

>AT DA 00
OK
Valeur Description
00 Default — diagnostic standard (par défaut)
01 WWH-OBD — accès uniquement aux données requises par la réglementation (emissions)
E0 Central Security — accès étendu via la passerelle de sécurité centrale

DC hhhh — port TCP DoIP

Définit le port TCP du DoIP entity au format hex. Il se définit avant AT SP D. Par défaut 3458 (13400 decimal) — port standard selon l'ISO 13400. Il n'est nécessaire de le changer que si le DoIP entity utilise un port non standard.

>AT DC 3458
OK

DD — détection des DoIP entities

Réalise un UDP broadcast Vehicle Discovery (ISO 13400 Vehicle Identification Request). Affiche la liste des DoIP entities trouvés avec leur VIN, leur adresse logique et leur IP.

Renseigne automatiquement DI (IP) et DT (Target Address) à partir du premier DoIP entity trouvé.

AT SP D avec DI=0 exécute lui-même le discovery — un AT DD séparé n'est pas obligatoire. AT DD est utile lorsqu'il faut voir quels DoIP entities sont présents sur le réseau (VIN, adresses, IP) avant de se connecter.

>AT DD
VIN:WBAPH5C55BA123456
ADDR:3828
IP:C0A80C04
OK

Plusieurs DoIP entities sur le réseau :

>AT DD
VIN:WBAPH5C55BA123456
ADDR:3828
IP:C0A80C04
VIN:WF0XXXGCDX1234567
ADDR:1010
IP:C0A80C05
OK

Si aucun DoIP entity n'est trouvé :

>AT DD
NO DATA

Séquence d'initialisation

Scénario Séquence
Automatique (gateway) ATZAT SP D
ECU derrière le gateway (IP via discovery) ATZAT DDAT DT xxxxAT SP D
ECU derrière le gateway (IP connue) ATZAT DI hhhhhhhhAT DT xxxxAT SP D

Ce qui se passe lors de l'exécution d'AT SP D

  1. Disconnect — déconnexion du protocole actuel
  2. Connect — création du canal ISO 13400 J2534
  3. Discovery (si l'IP n'est pas définie) — UDP broadcast pour trouver le DoIP entity
  4. Set Config — établissement de l'IP, du SA, du TA, du port, du type d'activation
  5. TCP Connect — établissement de la connexion TCP avec le DoIP entity
  6. Routing Activation — activation du routage DoIP

En cas d'erreur à n'importe quelle étape, UNABLE TO CONNECT est renvoyé.


Format des données OBD

Envoi

Les données hex sont envoyées comme UDS payload. ELM327 les encapsule automatiquement dans un DoIP Diagnostic Message avec un en-tête SA+TA.

>22F190
62 F1 90 57 42 41 50 48 35 43 35 35 42 41 31 32 33 34 35 36

Réponse (H0 — headers off, par défaut)

Uniquement le UDS payload, sans en-tête SA/TA :

62 F1 90 57 42 41 ...

Réponse (H1 — headers on)

SA + TA (4 octets) + UDS payload :

38 28 0E 00 62 F1 90 57 42 41 ...

Format de l'en-tête : [TA_hi] [TA_lo] [SA_hi] [SA_lo] — adresse de l'émetteur de la réponse (ECU → Tester).


Recherche automatique de protocole

DoIP est inclus dans l'ordre de recherche automatique des protocoles (AT SP 0). Lors d'une tentative DoIP :

  1. Un canal ISO 13400 temporaire est créé
  2. Un Vehicle Discovery est exécuté (UDP broadcast, timeout 2 s)
  3. Si un DoIP entity est trouvé — connexion par TCP + Routing Activation
  4. Si la connexion réussit — une requête OBD de test est envoyée
  5. Si le DoIP entity n'est pas trouvé ou s'il n'y a pas de réponse — passage au protocole suivant

Réinitialisation des paramètres

Les commandes AT D (defaults) et AT Z (reset) réinitialisent tous les paramètres DoIP :


Limitations