Модуль базовой диагностики TSMaster состоит из двух частей: параметры BasicDiagnostic и CombinedService. Команды, выполняемые полностью независимо, помещаются в BasicDiagnostic; команды, требующие сочетания нескольких запросов, — в CombinedService. Разбираем настройку обеих частей.

Ключевые слова: TSMaster, UDS, BasicDiagnostic, CombinedService, Session Control, Download File, Checksum, CRC.

1. Добавление и удаление сервисных команд

Наведите курсор на сервисную команду, которую нужно добавить или удалить, нажмите правую кнопку мыши и в раскрывшемся меню выберите действие (рис. 1-1).

Добавление и удаление сервисов
Рис. 1-1. Контекстное меню добавления и удаления сервисов

2. Настройка параметров сервиса BasicDiagnostic

На примере Session Control настраиваются следующие параметры (рис. 2-1):

Параметры сервиса Session Control
Рис. 2-1. Параметры сервиса Session Control
  1. Имя сервиса — можно задать понятное и удобное для управления имя.
  2. Is Function ID — отправлять ли диагностический запрос этого сервиса по функциональному идентификатору (Functional ID).
  3. Выбор типа подсервиса — например, у Session Control параметр DiagnosticSessionType содержит типы сессий, показанные на рисунке выше.
  4. Порядок байтов списка параметров — поддерживаются Motorola и Intel.
  5. Список параметров — помимо диагностического ID и ID подсервиса сервис может нести параметры, передаваемые тестируемому ЭБУ. Список параметров задаётся отдельно для кадров запроса и ответа; пользователь может добавлять и удалять параметры разных типов (рис. 2-2).
Список параметров сервиса
Рис. 2-2. Настройка списка параметров запроса и ответа

ID сервиса и ID подсервиса (например, DiagnosticSessionType у SessionControl) обязательны, список параметров — опционален. После изменения конфигурации в верхней части окна в реальном времени отображается пример фактического диагностического сообщения (рис. 2-3): при показанной настройке тестер отправит сервисное сообщение 10 02 xx xx xx (xx — переменные параметры, определяемые введёнными пользователем данными), а ожидаемый положительный ответ — 50 02 xx.

Пример диагностического сообщения
Рис. 2-3. Предпросмотр фактического диагностического сообщения

2.1. Типы параметров диагностических сервисов

Диагностический модуль поддерживает 7 типов данных параметров: UInt, Int, Single, Double, HexArray, ASCII и SystemVar (рис. 2-4).

Типы параметров
Рис. 2-4. Семь типов параметров диагностического сервиса
  1. UInt — беззнаковое целое; длина данных не более 32 бит и кратна 8: 8, 16, 24 или 32 бита.
  2. Int — знаковое целое; длина данных не более 32 бит и кратна 8: 8, 16, 24 или 32 бита.
  3. Single — число с плавающей точкой одинарной точности, фиксированная длина 32 бита; пользователь вводит и получает значение напрямую.
  4. Double — число с плавающей точкой двойной точности, фиксированная длина 64 бита.
  5. HexArray — массив шестнадцатеричных значений, длина кратна 8; вводятся данные в шестнадцатеричном виде.
  6. ASCII — строка ASCII, длина кратна 8; вводится массив ASCII-символов, перед отправкой преобразуется в шестнадцатеричный вид.
  7. SystemVar — системная переменная, длина кратна 8. Системные переменные TSMaster поддерживают типы UInt, Int, Single, Double, UIntArray, DoubleArray, HexArray, String и др.; конкретный тип определяется определением самой переменной.

3. Настройка сообщений CombinedService

3.1. Download File

Из составных сервисов в настоящее время поддерживается сервис скачивания файла (Download File) (рис. 3-1).

Сервис Download File
Рис. 3-1. Настройка составного сервиса Download File
  1. Имя сервиса — задайте имя конфигурации.
  2. Алгоритм CRC — выберите алгоритм контрольной суммы для файла (подробнее о CRC — в разделе 3.2).
  3. Загрузка исполняемого файла — TSMaster поддерживает форматы Hex, S19, Mot и bin. После загрузки в нижней части окна отображаются сегменты, адреса и длины, содержащиеся в файле.
  4. Удаление — удалить загруженный исполняемый файл.
  5. Hex viewer — в TSMaster встроен просмотрщик-редактор исполняемых файлов TSHexViewer (рис. 3-2): с его помощью можно просматривать подробную информацию о загруженном Hex-файле.
  6. TransferExit (0x37) — выбор типа параметров команды завершения передачи.
TSHexViewer
Рис. 3-2. Встроенный просмотрщик TSHexViewer

3.2. Checksum

При загрузке программы в ЭБУ для гарантии целостности данных применяется алгоритм контрольной суммы. В составные сервисы диагностического модуля TSMaster встроены основные CRC-алгоритмы (рис. 3-3).

Выбор CRC-алгоритма
Рис. 3-3. Выбор алгоритма контрольной суммы

После выбора алгоритма диагностический модуль вычисляет контрольные суммы исполняемого файла: и для каждого блока (Block), и для файла целиком (рис. 3-4).

Контрольные суммы блоков
Рис. 3-4. Checksum каждого блока и файла целиком

Вычисленные значения Checksum регистрируются как системные переменные (рис. 3-5).

Checksum как системные переменные
Рис. 3-5. Значения Checksum, зарегистрированные в системных переменных

Диагностический модуль TSMaster умеет передавать системные переменные как параметры команд. Например, для типовой проверки целостности загруженного файла настройте команду RoutineControl, как на рис. 3-6.

RoutineControl с Checksum
Рис. 3-6. Команда RoutineControl для проверки целостности файла

3.3. Загрузка бинарного файла

Форматы Hex и S19 содержат начальный адрес и длину данных внутри файла. Бинарный файл (Binary) начального адреса не содержит, поэтому при его загрузке пользователь вручную вводит начальный адрес сегмента данных (рис. 3-7): при загрузке Binary программа автоматически открывает окно установки начального адреса. Адрес задаётся в шестнадцатеричном виде в диапазоне [0x00000000, 0xFFFFFFFF]; задайте значение и подтвердите. При отмене используется адрес по умолчанию 0x00000000.

Установка начального адреса
Рис. 3-7. Окно установки начального адреса для Binary-файла

После установки адреса и загрузки у Binary-файла появляется начальный адрес сегмента данных (рис. 3-8).

Binary-файл с адресом
Рис. 3-8. Загруженный Binary-файл с заданным адресом

4. Синхронизация с консолью

Завершив настройку, нажмите кнопку синхронизации в левом верхнем углу окна — конфигурация будет передана в модуль Diagnostic Console, и можно переходить к выполнению диагностических операций (рис. 4-1).

Синхронизация с консолью
Рис. 4-1. Синхронизация конфигурации с диагностической консолью