DoIP (Diagnostics over Internet Protocol) — протокол диагностики автомобиля по Ethernet: доступ к электронным системам автомобиля по сети или удалённо, диагностика и прошивка Ethernet-контроллеров. DoIP — одна из ключевых функций TSMaster. В статье — работа с диагностическими сервисами модуля DoIP, настройка транспортного уровня и типовые сценарии.
Ключевые слова: DoIP, диагностика по Automotive Ethernet, базовая диагностика, автоматический диагностический процесс, Ethernet.
1. Подготовка Ethernet-оборудования TOSUN для DoIP
Реализация DoIP в TSMaster опирается на Ethernet-аппаратуру TOSUN. Для DoIP подходят TE1051, TE1054 (в планах) и TE1021.
TE1051 — интерфейс Ethernet → USB: передаёт данные стандартного Ethernet (100Base-Tx/1000Base-T) или автомобильного (100/1000Base-T1) на ПК по USB, а TSMaster выполняет симуляцию, анализ и тестирование, включая DoIP и SOME/IP. Устройство компактное, в прочном корпусе, без внешнего питания — подходит для DoIP-диагностики и прошивки в любых условиях (рис. 1-1).

TE1021 — медиаконвертер автомобильного Ethernet в обычный (100/1000Base-T1 → 100Base-Tx/1000Base-T). Подходит для DoIP-сценариев с разными Ethernet-интерфейсами; компактный, удобен в полевых условиях (рис. 1-2).

2. Начало работы с модулем DoIP
- Шаг 1. DoIP находится в главном меню: «Приложение» → «DoIP» (рис. 2-1).
- Шаг 2. Добавьте модуль DoIP — модулей может быть несколько (рис. 2-2).
- Шаг 3. Настройте параметры транспортного уровня Automotive Ethernet под ЭБУ: тип тестера, канал, IP-адрес тестируемого устройства и алгоритм Security Access (подробно — в разделе 3).
- Шаг 4. После настройки транспортного уровня и алгоритма запустите проект и нажмите «Connect DUT» для подключения к контроллеру. При успехе окно базовой диагностики и системные сообщения сообщат о подключении (рис. 2-3), а в области ISO 15765-2 видны сервисные сообщения подключения (рис. 2-4).
- Шаг 5. Когда сервисы и процессы настроены, запустите диагностический процесс кнопкой в «Автоматическом диагностическом процессе» (рис. 2-5).





3. Настройка сетевого IP-интерфейса тестера в TSMaster
- Шаг 1. Главное меню: «Аппаратное обеспечение» → «TCP/IP Stack» (рис. 3-1).
- Шаг 2. Правой кнопкой по Eth CH1 выберите «Add Network Card» (рис. 3-2).
- Шаг 3. В «General Setting» выберите «Пользовательский MAC» и введите MAC-адрес (рис. 3-3).
- Шаг 4. Включите IPv4, нажмите «Добавить» и введите IP-адрес и маску диагностического тестера (рис. 3-4).




4. Настройка транспортного уровня DoIP-диагностики
Транспортный уровень DoIP настраивается под задачу: тип тестера, канал, IP-адреса и порты, ID запроса/ответа, алгоритм безопасности. Конфигурация зависит от типа тестера: устройства серии TE или системный TCP/IP.
4.1.1. Устройства серии TE
На примере TE1051 (Ethernet → USB). Транспортный уровень ISO TP включает Ethernet-параметры тестируемого устройства и тестера, а также диагностические ID (рис. 4-1):

- Тип шины — для DoIP выбирается Ethernet (рис. 4-2).
- Тип тестера — при подключении через USB выбирается «Устройство серии TE»; при классическом подключении по сетевому кабелю — «Системный TCP/IP» (рис. 4-3).
- Канал — логический канал диагностического модуля; модулей может работать несколько одновременно (рис. 4-4).
- Маска IP-адреса и IP тестируемого устройства — задаются по топологии сети.
- Порт тестируемого устройства — по ISO 13400 для DoIP зарезервирован порт 13400.
- IP тестера — адрес тестового устройства (например TE1051); ПК и тестируемое устройство должны быть в одной подсети (настройка — в разделе 3).
- Порт тестера — фиксированного правила нет: задайте свой или используйте автоназначенный.
- ID запроса / ответа / функциональный ID — диагностические идентификаторы со стороны ПК.



4.1.2. Системный TCP/IP
На примере TE1021, подключаемого через сетевой порт ПК. Набор параметров тот же (рис. 4-5), отличия: тип шины — Ethernet (рис. 4-6); тип тестера — «Системный TCP/IP» (рис. 4-7); канал по умолчанию — System Ethernet Interface (рис. 4-8). IP тестера — это адрес сетевого порта ПК: настройте его в одной подсети с устройством через «Параметры → Сеть и Интернет → Ethernet → Свойства → назначение IP → изменить», вручную включив IPv4 (рис. 4-9).





4.2. Сервисный уровень диагностики
Параметры сервисного уровня: активация маршрутизации (Routing Activation), таймеры S3 и P2, загрузка Seed&Key (рис. 4-10).

4.2.1. Активация маршрутизации
- Автоматически выполнять Routing Activation после подключения к DUT — после установления сетевого соединения команда активации маршрутизации выполняется автоматически.
- Таймаут инициализации TCP — максимальное время от установления TCP_Data-соединения до активации маршрутизации; если за это время активация не выполнена, модуль DoIP закрывает сокет TCP_Data. По спецификации — 2000 мс.
- Тип активации — 5 вариантов: Default (базовый режим со стандартной аутентификацией), WWH-OBD (диагностика по требованиям глобальной гармонизированной OBD с дополнительной проверкой), ISO/SAE Reserved (зарезервировано), Central Security (централизованная безопасность — только для авторизованных устройств), Additional OEM-Specific Use (зарезервировано под OEM-режимы).
4.2.2. Таймеры P2
P2 timeout — таймаут ожидания ответа ЭБУ на запрос. P2 extended — расширенное ожидание после кадра 7F XX 78 (response pending). Схемы — через кнопку «Подробнее» (рис. 4-11).

4.2.3. Tester Present
S3 server — таймаут возврата ЭБУ в Default Session; S3 client — интервал отправки TesterPresent тестером (рис. 4-12). Команду «тестер онлайн» можно включить в модуле (рис. 4-13): появится переключатель, кадры отправляются с интервалом S3 client. Байты: стандартные 0x3E 0x80, из базовой конфигурации или пользовательские.


4.2.4. Seed&Key
Как и в UDS по CAN, доступны два способа: загрузка DLL с алгоритмом (поддерживаются C/C++, Delphi и .NET — C#, VB.Net) со встроенным проверщиком DLL (рис. 4-14, 4-15) и встроенный редактор исходного кода SeedKey с экспортом в DLL (рис. 4-18). Шаблонные проекты в каталоге установки: GenerateKeyEx, GenerateKeyExOpt, ASAP1A_CCP_ComputeKeyFromSeed. Свою DLL с другой сигнатурой можно подключить через вторичную упаковку (LoadLibrary + GetProcAddress), не забыв скопировать исходную DLL рядом с обёрткой (рис. 4-16, 4-17). Подробный разбор сигнатур и примеров — в первой части руководства по UDS.






5. Базовая конфигурация диагностики
Модуль базовой диагностики для DoIP совпадает с UDS по CAN: базовые сервисы для независимых команд и составные сервисы ($34/$36/$37) для скачивания файлов — общая конфигурация (hex/bin/s19/mot/srec/vdf, TSHexViewer, CRC в том числе пользовательский через DLL, контрольные суммы как системные переменные), стирание Flash, передача данных, завершение передачи, расширенные и вспомогательные настройки. Поддерживаются 7 типов параметров: UInt, Int, Single, Double, HexArray, ASCII, SystemVar.
Детальный разбор со скриншотами — в части 1 руководства по UDS (раздел «Базовая конфигурация диагностики»). Ниже ключевые иллюстрации применительно к DoIP:




6. Диагностическая консоль
Консоль — отладчик диагностических команд: выбор сервисной команды из списка (по базовой конфигурации или базе ODX/PDX), ручной ввод произвольных сообщений (физическая или функциональная адресация), область отправки/ответа с проверкой ответа ЭБУ и область диагностической информации (сервисный уровень + поток ISO 15765-2 с разбором сырых данных в физические сигналы).
Подробно консоль разобрана в части 2 руководства по UDS. Иллюстрации для DoIP:



7. Автоматические диагностические процессы и системные переменные
Управление процессами на уровне проекта: группы процессов, сценарии, шаги четырёх типов (обычный, выбор существующей конфигурации, Seed&Key, Tester Present), паузы между шагами, обработка ошибок, циклы, регистрация сценариев как системных переменных Имя_Start/Имя_Result для запуска из панелей и программ. Встроенные переменные модуля: BusType (0 — CAN, 1 — CAN FD, 2 — LIN, 3 — DoIP), Chn, ReqID/ResID/FunctionalID и их типы, STMin, FiledByte, UDSProgress, SeedAndKeyDLL, таймеры P2/S3 и др.
Полный разбор механики процессов — в части 2 руководства по UDS. Иллюстрации для DoIP:



8. Типовое применение: Flash Bootloader по DoIP
Соберём процесс Flash Bootloader на модуле DoIP.
Настройка процесса прошивки. [1] Создайте UDS-процесс — редактор должен быть разблокирован (рис. 8-1). [2] Переходы по сессиям (default → extended → OEM-сессия) настройте заранее в базовой конфигурации (рис. 8-2) и добавьте в процесс через «выбрать существующую конфигурацию» (рис. 8-3). [3] Шаг Seed&Key — разблокировка ЭБУ (рис. 8-4). [4] Чтение данных по ID F080: обычным шагом (рис. 8-5) или существующей конфигурацией (рис. 8-6). [5] Запись данных 20 11 20 00 00 00 00 00 00 в ID F086 (рис. 8-7). [6] Проверка предусловий прошивки (рис. 8-8). [7] Файлы FlashDriver и приложения: добавьте в базовую конфигурацию (рис. 8-9) и выберите в процессе составной сервис скачивания (рис. 8-10). [8] Стирание Flash через Routine Control: команда стирания настраивается в базовой конфигурации с передачей адреса и длины системными переменными (рис. 8-11) и добавляется в процесс (рис. 8-12).












Запуск одной кнопкой. Итоговый процесс — на рис. 8-13. После подключения к устройству по Ethernet процесс выполняется одной кнопкой; шаги с положительным ответом подсвечиваются зелёным (рис. 8-14). Полный обмен DoIP виден в сообщениях Ethernet, а трассировку можно сохранить в BLF (рис. 8-15).



На модуле DoIP в TSMaster разработка процессов диагностики по Ethernet выполняется без кода — быстро и наглядно.