Обновить

Обзор Автомобильного Протокола UDS [ISO 14229-1]

Уровень сложностиПростой
Время на прочтение32 мин
Охват и читатели9.4K
Всего голосов 5: ↑5 и ↓0+7
Комментарии13

Комментарии 13

Какие еще прикладные протоколы могут быть в автомобиле кроме UDS?

KWP2000(TP20) ещё, и наверно его предшественник TP16.

Чтобы прочитать DID надо использовать сервис 0x2E-Write Data By Identifier (WDBI)

Записать?

Как раз на днях купил новый мотоцикл, а там теперь только UDS и мои обычные OBD2 донглы уже не работают совсем.

Нашёл реализацию на Питоне (https://github.com/mdabrowski1990/uds) - попробую через USB CAN адаптер чего-нибудь вычитать...

Спасибо!

Да, что-то примерно такое я уже заказал с Али, из списка совместимости python-can чтобы не париться потом с адаптацией.

В UDS протоколе есть аналог MAC адреса?

С каким именно периодом надо отправлять UDS пакет TesterPresent?

Я в своём софте отправляю с периодом 1900 мс. Значения взято из утилиты прошивки Volvo SDA. Для более старых протоколов видел значения в 4 секунды. Кстати, есть такие штуки https://www.drive2.ru/l/676982229557064902/ можно сделать более универсальную, чтобы можно было те же прошивки обновлять через неё. Сам обдумываю что-то подобное сделать на базе ESP32-C6, чипы дешёвые и есть поддержка 2 КАН шин. Если ещё и k-line реализовать, то вообще универсальная штука будет. Хоть диагностику, хоть прошивку можно делать, хоть отправку сообщений в шину для всяких действий по условиям.

1--Что такое физическая адресация (physically addressed) в контексте протокола UDS?

2--В каком сервисе UDS фигурирует физический адрес модуля?

3--Сколько бит в уникальном физическом адресе UDS модуля ? 

4--Сколько бит в функциональном адресе UDS ? 

5--Что такое функциональная адресация (functionally addressed)в контексте протокола UDS?

Почему спека UDS оперирует какими-то волшебными 8ми байтовыми адресами, если в ID CAN пакета всего максимум 3,625 байт (29 бит)?

Откуда UDS серверу (ECU) брать оставшиеся 35 бит адреса (8*8 - 29 = 35)?

Существует ли какая-нибудь готовая клиентская Windows утилита (c GUI или консольный вариант), которая опрашивает ECU по CAN через UDS протокол?

Утилита UDS-client, которая работает на прикладном уровне модели OSI и умеет посылать и синтаксически разбирать (парсить) ответные UDS пакеты.

Чтобы, условно, прочитать стандартные в UDS DID параметры.
Такие как VIN номер, серийный номер ECU, дату производства ECU, дату программирования ECU, название производителя ECU и прочее.

Сколько бит в DTC (Diagnostic Trouble Code) коде UDS протокола?

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации