Открыть сервисСервис

UDS — диагностический протокол

UDS (Unified Diagnostic Services, ISO 14229-1) — стандартизированный диагностический протокол для автомобильной электроники, определяющий набор сервисов (команд) и формат обмена данными между диагностическим устройством и электронным блоком управления (ЭБУ). Протокол описывает только верхний уровень взаимодействия — прикладные сервисы, — не затрагивая нижние уровни модели OSI, что позволяет работать поверх различных транспортных протоколов (CAN, LIN, Ethernet, K-Line).

Область применения

UDS применяется в автомобилестроении для:

  • диагностики неисправностей и чтения кодов ошибок (DTC);
  • чтения и записи параметров (Data Identifier, DID);
  • прошивки и обновления прошивок ЭБУ (Flashing);
  • проверки электронных блоков после ремонта или перепрошивки;
  • калибровки датчиков и исполнительных механизмов;
  • идентификации блока (версия ПО, серийный номер).

Протокол стал промышленным стандартом для большинства автопроизводителей, включая российские предприятия (АвтоВАЗ, «КАМАЗ», «ГАЗ»), которые используют UDS в диагностических стендах и переносных сканерах.

История

До появления UDS автопроизводители использовали собственные закрытые протоколы диагностики (например, KWP2000 — Keyword Protocol 2000, ISO 14230). Европейский стандарт OBD-II (обязательный для легковых автомобилей в США и ЕС) ограничивался контролем выбросов и не покрывал полный набор производственных и сервисных операций.

В 2006 году Международная организация по стандартизации опубликовала стандарт ISO 14229-1, определивший UDS как унифицированный диагностический протокол. Стандарт заменил собой KWP2000 и стал основой для большинства современных диагностических систем.

Архитектура и модель взаимодействия

UDS реализует клиент-серверную модель: клиент — диагностический инструмент (сканер, стенд, эмулятор), сервер — электронный блок управления. Обмен ведётся по запрос-ответ: клиент отправляет запрос (Request), сервер возвращает ответ (Response).

Протокол не зависит от транспортного слоя. Для работы поверх CAN используется ISO 15765-2 (ISO-TP), который фрагментирует и собирает длинные сообщения; для Ethernet — DoIP (ISO 13400); для LIN — ISO 17987. Физические уровни (CAN, LIN, DoIP) определяются отдельными стандартами, а UDS задаёт только содержание сообщений.

Основные сервисы

UDS определяет более 25 сервисов, нумерация которых задаётся в шестнадцатеричном виде. Наиболее часто используемые:

СервисНазваниеНазначение
0x10DiagnosticSessionControlПереключение сеанса диагностики (обычный, расширенный, программный)
0x11ECUResetПерезагрузка блока
0x14ClearDiagnosticInformationОчистка кодов неисправностей
0x19ReadDTCInformationЧтение кодов неисправностей
0x22ReadDataByIdentifierЧтение данных по идентификатору (DID)
0x23ReadMemoryByAddressЧтение памяти блока
0x27SecurityAccessПолучение доступа (защита паролем/ключом)
0x28CommunicationControlУправление коммуникацией
0x2EWriteDataByIdentifierЗапись данных по идентификатору
0x31RoutineControlЗапуск диагностических операций
0x34–0x37RequestDownload / TransferDataЗагрузка прошивки в блок
0x3ETesterPresentПоддержание активного сеанса

Ответ сервера содержит либо подтверждение (SID + 0x40), либо код отказа (Negative Response Code, NRC). Коды NRC, например, 0x13 (некорректный формат), 0x22 (условия не выполнены), 0x33 (нет доступа по безопасности), 0x78 (запрос принят, обрабатывается), позволяют диагностическому инструменту определить причину отказа.

Безопасность

Сервис 0x27 SecurityAccess реализует двухэтапную аутентификацию: клиент запрашивает «seed» (случайное число), вычисляет по нему «key» по секретному алгоритму и отправляет обратно. Алгоритм вычисления ключа является проприетарным и определяется производителем ЭБУ. Более новые реализации (Secure Diagnostic Access, ISO 14229-2) используют асимметричную криптографию.

UDS в России

В российской автомобильной промышленности UDS применяется в диагностическом оборудовании для коммерческого транспорта и легковых автомобилей. Российские производители ЭБУ (например, «Элкар», «Форвард Автоматика») реализуют UDS-серверы в своих блоках. Протокол включён в ряд отраслевых стандартов и технических регламентов Таможенного союза, касающихся диагностики транспортных средств.

См. также

  • OBD-II
  • CAN (шина)
  • ISO 15765
  • KWP2000

Источники

  • ISO 14229-1:2020 Road vehicles — Unified diagnostic services (UDS) — Part 1: Application layer
  • ISO 14229-2:2013 Unified diagnostic services (UDS) — Part 2: Session and communication management
  • ISO 15765-2:2016 Road vehicles — Diagnostic communication over Controller Area Network (DoCAN)
  • ISO 13400-2:2019 Road vehicles — Diagnostic communication over Internet Protocol (DoIP)
  • Kostic, R. Unified Diagnostic Services (UDS) on CAN — implementation and testing. — IEEE, 2015
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru