Разбираем процесс UDS-прошивки (Flash Bootloader) на базе TSMaster. Процесс состоит из двух частей: базовая конфигурация параметров и сам процесс прошивки.

1. Базовая конфигурация параметров

1.1. Новый проект

Откройте TSMaster и выберите «Создать проект» → «Диагностика» → «UDS-диагностика». Укажите новый рабочий каталог, создайте папку и перейдите в проект TSMaster.

Создание нового проекта UDS
Рис. 1. Создание нового проекта

1.2. Настройка CAN-каналов

Вверху интерфейса выберите «Аппаратное обеспечение» → канал и настройте CAN: «Аппаратура шины» → задайте скорости. В примере: канал 1 — 1000 кбит/с, канал 2 — 500 кбит/с.

Настройка скоростей CAN-каналов
Рис. 2. Настройка скоростей каналов

1.3. Создание UDS-диагностического модуля

Откройте или создайте UDS-диагностический модуль.

Создание UDS-модуля
Рис. 3. Создание диагностического модуля

Задайте базовые параметры диагностики: Protocol → Transport Layer, канал — channel 2.

Настройка транспортного уровня
Рис. 4. Настройка транспортного уровня

Настройте параметры Diagnostic Layer и импортируйте DLL алгоритма безопасности (Seed&Key).

Импорт DLL Seed&Key
Рис. 5. Импорт DLL алгоритма безопасности

2. Процесс прошивки

2.1. Вход в расширенную сессию

Перейдите на вкладку «Basic Diagnostic Config» и, следуя конфигурационному файлу, правой кнопкой по сервису 10 добавьте новый сервис.

Добавление сервиса 0x10
Рис. 6. Добавление сервиса сессии

Дважды кликните по созданному сервису и измените тип сессии на 83 (расширенная).

Тип сессии 83
Рис. 7. Тип сессии 83

2.2. Создание действий прошивки (BT)

Перейдите в «Automatic Diagnostic», щёлкните правой кнопкой в пустой области слева и выберите «Add a new UDS flow».

Создание UDS flow
Рис. 8. Новый UDS-процесс

Переключитесь в состояние «unlock», затем правой кнопкой в области шагов выберите «Add new test step» → «Normal». По процессу прошивки вашего предприятия выберите функциональный или физический ID и в поле «Request(0x)» введите 10 83. Далее по конфигурационному файлу последовательно настраивайте сервисы в «Basic Diagnostic Config» и процесс прошивки в «Automatic Diagnostic».

Настройка шага 10 83
Рис. 9. Настройка шага перехода в сессию

После входа в программную сессию ЭБУ разблокируется через алгоритм безопасности: при добавлении действия выбирайте не «Select Config», а Seed&Key, и по спецификации выберите соответствующий level.

Шаг Seed&Key
Рис. 10. Шаг Seed&Key с выбором уровня

2.3. Загрузка файла прошивки

На вкладке «Basic Diagnostic Config» создайте сервис, задайте имя в «Service Name» и по кнопке «+» выберите записываемый файл. Ниже отобразятся области данных файла и параметры каждой области — TSMaster запишет их полностью автоматически. При этом появляются два важных параметра: адрес записываемых данных и их длина.

Загрузка файла прошивки
Рис. 11. Загрузка файла прошивки

2.4. Ручная настройка сервиса стирания и проверки

После записи s19-файла выполняется проверка. В сервисе 31 создайте новый сервис, введите данные, в параметрах ниже выберите «Value Type» → «SystemVar», задайте длину данных 32 и добавьте переменную.

Сервис 31 с SystemVar
Рис. 12. Настройка сервиса 31

Нажмите «+» справа в списке параметров и найдите среди внутренних переменных параметр контрольной суммы соответствующего файла. Подтвердите.

Выбор переменной checksum
Рис. 13. Выбор переменной контрольной суммы

Затем добавьте это действие в «Automatic Diagnostic» после процесса записи соответствующего файла.

Добавление проверки в процесс
Рис. 14. Добавление проверки в процесс

Создайте действие «стирание» — в нём используются два сгенерированных ранее параметра (адрес и длина).

Действие стирания
Рис. 15. Действие стирания

И добавьте его в «Automatic Diagnostic».

Стирание в процессе
Рис. 16. Стирание в процессе

2.5. Добавление нового файла прошивки

После стирания добавьте новый файл прошивки, повторите описанные шаги и в конце выполните проверку. Завершающие действия добавьте по конфигурационному файлу. Конфигурация готова: нажмите «Запуск» слева вверху, затем «Run» в диагностике.

Готовый процесс
Рис. 17. Готовый процесс прошивки

Программа прошивается.

Прошивка выполняется
Рис. 18. Прошивка выполняется

По завершении ответы наглядно видны в нижней области.

Ответы после прошивки
Рис. 19. Ответы после прошивки

2.6. Автоматическая настройка стирания

Если не хотите настраивать стирание и checksum вручную, используйте автоматическую конфигурацию сервиса стирания.

Автоматическая настройка стирания
Рис. 20. Автоматическая настройка стирания

Выберите соответствующее ответное сообщение.

Выбор ответного сообщения
Рис. 21. Выбор ответного сообщения
Настройка ответа
Рис. 22. Настройка ответа

Checksum.

Checksum
Рис. 23. Контрольная сумма
Параметры checksum
Рис. 24. Параметры контрольной суммы

См. также двухчастное руководство: часть 1 и часть 2 по CAN UDS-диагностике в TSMaster.