Quantex GmbH
Su región: Europa

ELM327 ISO 13400 (DoIP)

Descripción general

Extensión del protocolo ELM327 para la compatibilidad con ISO 13400 (DoIP — Diagnostics over Internet Protocol). El protocolo D permite realizar diagnóstico UDS a través de Ethernet/IP utilizando la interfaz AT estándar de ELM327.

Cómo funciona DoIP

Tester (ScanDoc)                    Automóvil
┌──────────┐    TCP/IP     ┌─────────────┐    CAN/LIN    ┌─────┐
│ SA=0E80  │───────────────│ DoIP entity │───────────────│ ECU │
│ (tester) │   Ethernet    │ (gateway)   │  bus interno  │(TA) │
└──────────┘               └─────────────┘               └─────┘

DoIP entity — nodo de la red del vehículo con compatibilidad con ISO 13400. Puede ser un DoIP gateway (pasarela entre Ethernet y los buses internos CAN/LIN) o un DoIP edge node (ECU con su propia interfaz Ethernet). Cada DoIP entity tiene una dirección lógica, una dirección IP y un VIN.

Para trabajar es necesario configurar tres parámetros:

Parámetro Comando Qué define Cómo averiguarlo
IP DoIP entity AT DI A dónde conectarse por TCP AT DD (discovery) o definir manualmente
Source Address AT DS Dirección lógica del tester Por defecto 0E80, normalmente no es necesario cambiarlo
Target Address AT DT Dirección lógica del ECU de destino De la documentación del vehículo

Si DI no está definido (IP = 00000000), AT SP D ejecuta automáticamente discovery (UDP broadcast), encuentra el primer DoIP entity y rellena los parámetros a partir de su respuesta:

Después se realiza la conexión TCP → Routing Activation → listo para UDS.


Ejemplos

Petición al gateway

AT SP D encuentra por sí mismo el DoIP entity y establece la conexión:

>ATZ
ELM327 v2.3

>ATE0
OK

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

>22 F1 90                # UDS Read VIN — la petición irá al gateway (DT=3828)
62 F1 90 54 4D 42 4A 43 37 4E 59 33 50 46 30 32 30 36 30 38

Petición a un ECU concreto detrás del gateway

Por ejemplo, el módulo del motor:

>ATZ
ELM327 v2.3

>ATE0
OK

>AT SP D                 # discovery + conexión con el gateway
OK

>22 F1 90                # petición de VIN al 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              # cambiar el Target Address al módulo del motor
OK

>22 F1 90                # la misma petición — ahora irá al ECU 0010 a través del gateway
62 F1 90 ...

Comandos AT DoIP

DI hhhhhhhh — dirección IP del DoIP entity

Establece la dirección IPv4 del ECU (DoIP entity) en formato hex (4 bytes, big-endian).

>AT DI C0A80C04
OK

Ejemplo: C0A80C04 = 192.168.12.4

Valor por defecto: 00000000 (no definido). Si la IP no está definida al ejecutar AT SP D, se realiza un Vehicle Discovery automático (UDP broadcast).

DS hhhh — dirección de origen (Source Address)

Establece la dirección lógica del tester (Source Address, SA) en formato hex (2 bytes).

>AT DS 0E00
OK

Rango de direcciones de tester según ISO 13400: 0x0E000x0FFF. Valor por defecto: 0E80.

DT hhhh — dirección de destino (Target Address)

Establece la dirección lógica del ECU (Target Address, TA) en formato hex (2 bytes).

>AT DT 3828
OK

Rango de direcciones de ECU según ISO 13400: 0x00010x0DFF. Valor por defecto: 0001.

DA hh — tipo de activación de enrutamiento

Establece el tipo de activación de enrutamiento (Routing Activation Type). Se define antes de AT SP D — se transmite al DoIP entity en la Routing Activation Request al conectar. Determina qué nivel de acceso al diagnóstico se solicita. Solo es necesario cambiarlo si el gateway rechaza la conexión con el tipo 00 (Default).

>AT DA 00
OK
Valor Descripción
00 Default — diagnóstico estándar (por defecto)
01 WWH-OBD — acceso solo a los datos requeridos por la normativa (emissions)
E0 Central Security — acceso ampliado a través de la pasarela central de seguridad

DC hhhh — puerto TCP DoIP

Establece el puerto TCP del DoIP entity en formato hex. Se define antes de AT SP D. Por defecto 3458 (13400 decimal) — puerto estándar según ISO 13400. Solo es necesario cambiarlo si el DoIP entity usa un puerto no estándar.

>AT DC 3458
OK

DD — detección de DoIP entities

Realiza un UDP broadcast Vehicle Discovery (ISO 13400 Vehicle Identification Request). Muestra la lista de DoIP entities encontrados con su VIN, dirección lógica e IP.

Rellena automáticamente DI (IP) y DT (Target Address) del primer DoIP entity encontrado.

AT SP D con DI=0 ejecuta por sí mismo discovery — un AT DD aparte no es obligatorio. AT DD resulta útil cuando se necesita ver qué DoIP entities hay en la red (VIN, direcciones, IP) antes de conectar.

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

Varios DoIP entities en la red:

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

Si no se encuentran DoIP entities:

>AT DD
NO DATA

Secuencia de inicialización

Escenario Secuencia
Automático (gateway) ATZAT SP D
ECU detrás del gateway (IP mediante discovery) ATZAT DDAT DT xxxxAT SP D
ECU detrás del gateway (IP conocida) ATZAT DI hhhhhhhhAT DT xxxxAT SP D

Qué ocurre al ejecutar AT SP D

  1. Disconnect — desconexión del protocolo actual
  2. Connect — creación del canal ISO 13400 J2534
  3. Discovery (si la IP no está definida) — UDP broadcast para encontrar el DoIP entity
  4. Set Config — establecimiento de IP, SA, TA, puerto, tipo de activación
  5. TCP Connect — establecimiento de la conexión TCP con el DoIP entity
  6. Routing Activation — activación del enrutamiento DoIP

Si se produce un error en cualquier paso, se devuelve UNABLE TO CONNECT.


Formato de los datos OBD

Envío

Los datos hex se envían como UDS payload. ELM327 los encapsula automáticamente en un DoIP Diagnostic Message con cabecera SA+TA.

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

Respuesta (H0 — headers off, por defecto)

Solo UDS payload, sin cabecera SA/TA:

62 F1 90 57 42 41 ...

Respuesta (H1 — headers on)

SA + TA (4 bytes) + UDS payload:

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

Formato de la cabecera: [TA_hi] [TA_lo] [SA_hi] [SA_lo] — dirección del emisor de la respuesta (ECU → Tester).


Búsqueda automática de protocolo

DoIP está incluido en el orden de búsqueda automática de protocolos (AT SP 0). Al intentar DoIP:

  1. Se crea un canal ISO 13400 temporal
  2. Se ejecuta Vehicle Discovery (UDP broadcast, timeout 2 s)
  3. Si se encuentra un DoIP entity — conexión por TCP + Routing Activation
  4. Si la conexión es correcta — se envía una petición OBD de prueba
  5. Si no se encuentra el DoIP entity o no hay respuesta — paso al siguiente protocolo

Restablecimiento de parámetros

Los comandos AT D (defaults) y AT Z (reset) restablecen todos los parámetros DoIP:


Limitaciones