Диагностическая консоль TSMaster позволяет настроить собственные запросы и ответы под задачу. В статье — подробный разбор параметров транспортного уровня Diagnostic TP (Bus Type, ID, STMin, BlockSize, FD Max DLC, Max Length), сервисного уровня (S3, P2, Seed&Key) и команды Tester Present. Общий процесс UDS-диагностики разобран в руководстве по UDS.

Ключевые слова: диагностика, Diagnostic TP, ISO TP, STMin, BlockSize, P2, S3, Tester Present.

1. Параметры транспортного уровня

Параметры транспортного уровня
Рис. 1-1. Панель параметров транспортного уровня
  • Bus Type — тип диагностического транспортного уровня: уже поддерживаются CAN/CAN FD/LIN, далее Ethernet и FlexRay. Выбирается из выпадающего списка (рис. 1-2).
  • Channel — логический канал диагностического модуля. TSMaster поддерживает одновременную работу нескольких диагностических модулей; здесь выбирается, какой логический канал системы использует текущий модуль (рис. 1-3).
  • Request ID / Response ID / Function ID — ID кадров диагностического запроса / ответа / функционального запроса со стороны ПК-инструмента.
  • Request ID Type / Response ID Type / Function ID Type — тип ID кадров запроса / ответа / функционального запроса: стандартный кадр (11 бит) или расширенный (29 бит) (рис. 1-4).
  • Filled Byte — байт заполнения: когда в процессе передачи фактических значащих байтов не хватает до полного поля данных CAN-кадра, остаток заполняется этим байтом. Например, в CAN-кадре 8 байтов; если значащие байты — 0x02, 0x10, 0x02, а байт заполнения — 0xAA, то фактический кадр — 0x02, 0x10, 0x02, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA.
  • STMin — минимальный интервал приёма: минимальный временной интервал между диагностическими кадрами, который диагностический модуль TSMaster как принимающая сторона способен поддерживать при приёме многофреймовых сообщений. Параметр возвращается диагностическому клиенту; значение 0 означает приём с минимально возможным интервалом.
  • BlockSize — размер принимаемого блока: размер блока данных, который модуль как принимающая сторона может принять за один раз при приёме многофреймовых сообщений. Параметр возвращается клиенту; 0 — возможность принять блок любого размера за один раз.
  • FD Max DLC — когда транспортный уровень установлен в CAN FD. Максимальное число байтов одного кадра транспортного уровня — 64 (DLC=15), но параметр регулируется (рис. 1-5).
  • Max Length — для обычного CAN/LIN параметр не имеет смысла. При многофреймовой передаче с DLC = 8 байтов первый кадр (First Frame) использует младшие 4 бита байта 0 плюс 8 бит байта 1 — всего 12 бит для размера пакета, то есть максимум 4095 байтов (рис. 1-6). Но в CAN FD при DLC > 8 байтов для передачи длины блока данных можно использовать байты 2, 3, 4, 5 — всего 32 бита: транспортный уровень CAN FD поддерживает передачу до 4 Гбайт за раз; конкретное значение настраивается пользователем (рис. 1-7).
Выбор типа шины
Рис. 1-2. Выбор типа шины
Выбор канала
Рис. 1-3. Выбор логического канала
Тип ID
Рис. 1-4. Тип идентификатора: стандартный или расширенный
FD Max DLC
Рис. 1-5. Диапазон регулировки FD Max DLC
Формат First Frame
Рис. 1-6. 12-битная длина пакета в First Frame классического CAN
32-битная длина в CAN FD
Рис. 1-7. 32-битная длина блока в CAN FD

Примечание: старшие 4 бита первого байта = 1 означают, что кадр является первым (First Frame) — это верно для транспортного уровня и CAN FD, и классического CAN. Например, при настройке 4095 байтов поведение совпадает с обычным транспортным уровнем; при значении больше 4095 используется расширенный транспортный уровень FD-кадров (рис. 1-8).

Настройка Max Length
Рис. 1-8. Настройка Max Length

2. Параметры сервисного уровня

Параметры сервисного уровня включают таймеры S3 и P2, а также загрузку Seed&Key DLL (рис. 2-1).

Параметры сервисного уровня
Рис. 2-1. Параметры сервисного уровня

S3 — включает S3 Service Time и S3 Client Time:

  • S3 Service Time — таймаут, по истечении которого ЭБУ после переключения из сессии Default в другую сессию автоматически возвращается в сессию по умолчанию.
  • S3 Client Time — интервал отправки кадров TesterPresent со стороны диагностического тестера.

Схемы этих параметров можно посмотреть кнопкой Detail (рис. 2-2).

Схема S3
Рис. 2-2. Иллюстрация параметров S3

P2 — включает P2 Timeout и P2 Extended:

  • P2 Timeout — минимальный интервал ответа ЭБУ после получения диагностического запроса. Для диагностического инструмента это таймаут ожидания ответа после отправки запроса: если за время P2Timeout ответ не получен, запрос считается неудачным.
  • P2 Extended — если ЭБУ не успевает ответить за время P2 Timeout, он отвечает кадром 7F XX 78, сообщая, что нужно продлить ожидание. После отправки кадра отложенного ответа ЭБУ переключает параметр ожидания на P2Extended; диагностический инструмент после получения этого кадра также переключает свой таймаут на P2Extended.
Схема P2
Рис. 2-3. Иллюстрация параметров P2

Включение команды Tester Present. В диагностическом модуле TSMaster команду Tester Present можно сконфигурировать и включить (рис. 2-4): в верхней части модуля появляется переключатель Tester Present; при включении сообщение отправляется с заданным интервалом S3ClientTime.

Включение Tester Present
Рис. 2-4. Включение команды Tester Present

Байты Tester Present выбираются из трёх вариантов:

  • Default Request — стандартные 0x3E 0x80;
  • From Basic Config — настроенная команда 3E из базовой конфигурации;
  • Manual Definition — пользовательские байты.

Загрузка Seed&Key DLL. В диагностике встречается безопасный доступ — Seed&Key. Диагностический модуль TSMaster поддерживает загрузку алгоритма Seed&Key через DLL; интерфейс вычисления совместим с интерфейсами основных инструментов (рис. 2-5). Интерфейс загрузки DLL — на рис. 2-6.

Интерфейс Seed&Key
Рис. 2-5. Определение интерфейса Seed&Key DLL
Загрузка DLL
Рис. 2-6. Интерфейс загрузки DLL
  • 【1】 Загрузить DLL; 【2】 удалить DLL.
  • 【3】 Проверщик DLL — позволяет проверить корректность интерфейса загруженной DLL и соответствие алгоритма требованиям (рис. 2-7): выберите уровень Seed (Level), введите демо-значение Seed, нажмите GenKey. Если интерфейс совпадает с шаблонным, выводится Generate Key Success; далее сравните Key с целевым значением.
  • 【4】 Открыть путь к проекту интерфейса Seed&Key в каталоге установки TSMaster — проект можно скопировать и дополнить собственным алгоритмом.
Проверщик DLL
Рис. 2-7. Проверщик Seed&Key DLL

3. Tester Present

Если включить Tester Present в конфигурации параметров Diagnostic TP, TSMaster предоставит глобальный переключатель, которым команда напрямую включается и выключается (рис. 3-1). Помимо глобального переключателя, для более гибкого управления командой в шагах автоматизированных процессов TSMaster предоставляет настройку команды по шагам — пользователь выбирает, на каких шагах включать и выключать Tester Present.

Глобальный переключатель Tester Present
Рис. 3-1. Глобальный переключатель Tester Present