Quantex GmbH
DE RU EN EL
Ваш регион: Европа

ELM327 ISO 13400 (DoIP)

Обзор

Расширение протокола ELM327 для поддержки ISO 13400 (DoIP — Diagnostics over Internet Protocol). Протокол D позволяет выполнять UDS-диагностику через Ethernet/IP с использованием стандартного ELM327 AT-интерфейса.

Как работает DoIP

Тестер (ScanDoc)                    Автомобиль
┌──────────┐    TCP/IP     ┌─────────────┐    CAN/LIN    ┌─────┐
│ SA=0E80  │───────────────│ DoIP entity │───────────────│ ECU │
│ (тестер) │   Ethernet    │ (gateway)   │  внутр. шина  │(TA) │
└──────────┘               └─────────────┘               └─────┘

DoIP entity — узел автомобильной сети с поддержкой ISO 13400. Это может быть DoIP gateway (шлюз между Ethernet и внутренними шинами CAN/LIN) или DoIP edge node (ECU с собственным Ethernet-интерфейсом). Каждый DoIP entity имеет логический адрес, IP-адрес и VIN.

Для работы необходимо настроить три параметра:

ПараметрКомандаЧто задаётКак узнать
IP DoIP entityAT DIКуда подключаться по TCPAT DD (discovery) или задать вручную
Source AddressAT DSЛогический адрес тестераПо умолчанию 0E80, обычно менять не нужно
Target AddressAT DTЛогический адрес целевого ECUИз документации на автомобиль

Если DI не задан (IP = 00000000), AT SP D автоматически выполняет discovery (UDP broadcast), находит первый DoIP entity и заполняет параметры из его ответа:

После этого выполняется TCP-подключение → Routing Activation → готов к UDS.


Примеры

Запрос к gateway

AT SP D сам находит DoIP entity и подключается:

>ATZ
ELM327 v2.3

>ATE0
OK

>AT SP D                 # discovery → DI=C0A80C04, DT=3828, DS=0E80
OK                       # TCP + Routing Activation выполнены

>22 F1 90                # UDS Read VIN — запрос пойдёт к gateway (DT=3828)
62 F1 90 54 4D 42 4A 43 37 4E 59 33 50 46 30 32 30 36 30 38

Запрос к конкретному ECU за gateway

Например, блок двигателя:

>ATZ
ELM327 v2.3

>ATE0
OK

>AT SP D                 # discovery + подключение к gateway
OK

>22 F1 90                # запрос VIN к 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 на блок двигателя
OK

>22 F1 90                # тот же запрос — теперь пойдёт к ECU 0010 через gateway
62 F1 90 ...

AT-команды DoIP

DI hhhhhhhh — адрес IP DoIP entity

Устанавливает IPv4-адрес ECU (DoIP entity) в hex-формате (4 байта, big-endian).

>AT DI C0A80C04
OK

Пример: C0A80C04 = 192.168.12.4

Значение по умолчанию: 00000000 (не задан). Если IP не задан при AT SP D, выполняется автоматический Vehicle Discovery (UDP broadcast).

DS hhhh — адрес источника (Source Address)

Устанавливает логический адрес тестера (Source Address, SA) в hex-формате (2 байта).

>AT DS 0E00
OK

Диапазон тестерных адресов по ISO 13400: 0x0E000x0FFF. Значение по умолчанию: 0E80.

DT hhhh — адрес назначения (Target Address)

Устанавливает логический адрес ECU (Target Address, TA) в hex-формате (2 байта).

>AT DT 3828
OK

Диапазон адресов ECU по ISO 13400: 0x00010x0DFF. Значение по умолчанию: 0001.

DA hh — тип активации маршрутизации

Устанавливает тип активации маршрутизации (Routing Activation Type). Задаётся до AT SP D — передаётся DoIP entity в Routing Activation Request при подключении. Определяет, какой уровень доступа к диагностике запрашивается. Менять нужно только если gateway отклоняет подключение с типом 00 (Default).

>AT DA 00
OK
ЗначениеОписание
00Default — стандартная диагностика (по умолчанию)
01WWH-OBD — доступ только к данным, требуемым регламентом (emissions)
E0Central Security — расширенный доступ через центральный шлюз безопасности

DC hhhh — TCP-порт DoIP

Устанавливает TCP-порт DoIP entity в hex-формате. Задаётся до AT SP D. По умолчанию 3458 (13400 decimal) — стандартный порт по ISO 13400. Менять нужно только если DoIP entity использует нестандартный порт.

>AT DC 3458
OK

DD — обнаружение DoIP entities

Выполняет UDP broadcast Vehicle Discovery (ISO 13400 Vehicle Identification Request). Выводит список найденных DoIP entities с их VIN, логическим адресом и IP.

Автоматически заполняет DI (IP) и DT (Target Address) из первого найденного DoIP entity.

AT SP D при DI=0 сам выполняет discovery — отдельный AT DD не обязателен. AT DD полезен когда нужно увидеть какие DoIP entities есть в сети (VIN, адреса, IP) до подключения.

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

Несколько DoIP entities в сети:

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

Если DoIP entities не найдены:

>AT DD
NO DATA

Последовательность инициализации

СценарийПоследовательность
Автоматический (gateway)ATZAT SP D
ECU за gateway (IP через discovery)ATZAT DDAT DT xxxxAT SP D
ECU за gateway (IP известен)ATZAT DI hhhhhhhhAT DT xxxxAT SP D

Что происходит при AT SP D

  1. Disconnect — отключение текущего протокола
  2. Connect — создание ISO 13400 J2534 канала
  3. Discovery (если IP не задан) — UDP broadcast для поиска DoIP entity
  4. Set Config — установка IP, SA, TA, порта, типа активации
  5. TCP Connect — установка TCP-соединения с DoIP entity
  6. Routing Activation — активация маршрутизации DoIP

При ошибке на любом шаге возвращается UNABLE TO CONNECT.


Формат OBD-данных

Отправка

Hex-данные отправляются как UDS payload. ELM327 автоматически оборачивает их в DoIP Diagnostic Message с заголовком SA+TA.

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

Ответ (H0 — headers off, по умолчанию)

Только UDS payload, без SA/TA заголовка:

62 F1 90 57 42 41 ...

Ответ (H1 — headers on)

SA + TA (4 байта) + UDS payload:

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

Формат заголовка: [TA_hi] [TA_lo] [SA_hi] [SA_lo] — адрес отправителя ответа (ECU → Tester).


Автоматический поиск протокола

DoIP включён в порядок автоматического поиска протоколов (AT SP 0). При попытке DoIP:

  1. Создаётся временный ISO 13400 канал
  2. Выполняется Vehicle Discovery (UDP broadcast, таймаут 2 сек)
  3. Если DoIP entity найден — подключение через TCP + Routing Activation
  4. Если подключение успешно — отправляется пробный OBD-запрос
  5. Если DoIP entity не найден или нет ответа — переход к следующему протоколу

Сброс параметров

Команды AT D (defaults) и AT Z (reset) сбрасывают все DoIP параметры:


Ограничения