Unified Diagnostic Services (UDS) - это диагностический протокол связи, используемый в электронные блоки управления (ЭБУ) в автомобильной электронике, которые указаны в ISO 14229-1. Он основан на ISO 14230-3 (KWP2000 ) и ныне устаревшем ISO 15765 -3 (Диагностическая связь через Controller Area Network (DoCAN)). «Унифицированный» в этом контексте означает, что это международный стандарт, а не стандарт для конкретной компании. К настоящему времени этот протокол связи используется во всех новых ЭБУ, производимых поставщиками уровня 1 производителя оригинального оборудования (OEM), и включен в другие стандарты, такие как AUTOSAR. Электронные блоки управления в современных автомобилях управляют почти всеми функциями, включая электронный впрыск топлива (EFI), управление двигателем, трансмиссию, антиблокировочную тормозную систему, дверные замки, торможение, работу окон и т. Д. и больше.
Диагностические инструменты могут связываться со всеми ЭБУ, установленными в транспортном средстве, в котором включены службы UDS. В отличие от протокола CAN bus, который использует только первый и второй уровни модели OSI, UDS использует пятый и седьмой уровни модели OSI. Идентификатор службы (SID) и параметры, связанные с услугами, содержатся в 8 байтах данных кадра сообщения.
Современные автомобили имеют диагностический интерфейс для внебортной диагностики, который позволяет подключить компьютер (клиент) или диагностический прибор, называемый тестером, к системе связи автомобиля. Таким образом, запросы UDS могут быть отправлены контроллерам, которые должны предоставить ответ (он может быть положительным или отрицательным). Это позволяет опрашивать ЗУ неисправностей отдельных блоков управления, обновлять их новой прошивкой, иметь низкоуровневое взаимодействие с их оборудованием (например, включать или выключать определенный выход) или использовать специальные функции (называемые подпрограммами), чтобы попытаться понять окружающую среду и условия эксплуатации ЭБУ, чтобы иметь возможность диагностировать неисправное или иное нежелательное поведение.
SID (идентификатор службы)
Функциональная группа | Запрос SID | SID ответа | Служба | Описание |
---|---|---|---|---|
Диагностика и управление коммуникациями | 0x10 | 0x50 | Управление диагностическим сеансом | UDS использует разные рабочие сеансы, которые можно изменить с помощью «Диагностического управления сеансом». В зависимости от того, какой сеанс активен, доступны разные службы. При запуске блок управления по умолчанию находится в «Сессии по умолчанию». Другие сеансы определены, но их реализация не требуется в зависимости от типа устройства:
Кроме того, существуют зарезервированные идентификаторы сеанса, которые могут быть определено для конкретного использования производителями транспортных средств и поставщиками транспортных средств. |
0x11 | 0x51 | Сброс ЭБУ | Услуга «Сброс ЭБУ» используется для перезапуска блока управления (ЭБУ). В зависимости от аппаратного обеспечения и реализации блока управления могут использоваться различные формы сброса:
Опять же, есть зарезервированные значения, которые могут быть определены для производителей автомобилей и поставщиков транспортных средств конкретное использование. | |
0x27 | 0x67 | Доступ с безопасностью | Проверка безопасности доступна для включения наиболее важных для безопасности служб. Для этого блок управления генерирует "Seed" и отправляет его клиенту. Из этого «семени» клиент должен вычислить «ключ» и отправить его обратно в блок управления, чтобы разблокировать критически важные для безопасности службы. | |
0x28 | 0x68 | Управление обменом данными | С помощью этой службы в блоке управления можно отключить как отправку, так и прием сообщений. | |
0x29 | 0x69 | Аутентификация | В обновлении (2020) стандарта эта услуга была добавлена, чтобы обеспечить стандартизированный подход к более современным методам аутентификации, чем разрешено служба безопасного доступа (0x27), включая двунаправленную аутентификацию с обменом сертификатами на основе PKI. | |
0x3E | 0x7E | Тестер присутствует | Если обмен данными с клиентом не происходит в течение длительного времени, блок управления автоматически завершает текущий сеанс и возвращается в "Сеанс по умолчанию" вернулся и может перейти в спящий режим. Следовательно, существует дополнительная услуга, цель которой - сигнализировать устройству о том, что клиент все еще присутствует. | |
0x83 | 0xC3 | Параметры времени доступа | При обмене данными между контроллерами и клиентом необходимо соблюдать определенное время. Если они превышены без отправки сообщения, следует предполагать, что соединение было прервано. Это время можно вызвать и изменить. | |
0x84 | 0xC4 | Защищенная передача данных | ||
0x85 | 0xC5 | Настройки контрольных кодов неисправности | Включение или отключение обнаружение любых или всех ошибок. Это важно при проведении диагностических работ в автомобиле, которые могут вызвать аномальное поведение отдельных устройств. | |
0x86 | 0xC6 | Ответ на событие | ||
0x87 | 0xC7 | Link Control | Service Link Control - это используется для установки скорости передачи диагностического доступа. Обычно это реализуется только на центральном шлюзе. | |
Передача данных | 0x22 | 0x62 | Чтение данных по идентификатору | С помощью этой службы можно получить одно или несколько значений устройство управления. Это может быть информация всех видов и разной длины, например, номер детали или версия программного обеспечения. Можно запросить динамические значения, такие как текущее состояние датчика. Каждое значение связано с идентификатором данных (DID) от 0 до 65535. Обычные сигналы CAN предназначены для информации, которую некоторые ЭБУ использует в своих функциях. Данные DID отправляются только по запросу и предназначены для информации, которую не использует ECU, но может извлечь выгоду сервисный инструмент или тестер программного обеспечения. |
0x23 | 0x63 | Чтение памяти по адресу | Чтение данных из физической памяти по указанному адресу. Эта функция может использоваться инструментом тестирования для чтения внутреннего поведения программного обеспечения. | |
0x24 | 0x64 | Чтение данных масштабирования по идентификатору | ||
0x2A | 0x6A | Чтение данных по идентификатору периодически | С помощью этой службы значения периодически отправляются блоком управления. Значения, которые должны быть отправлены, должны быть определены только с использованием «динамического определения идентификатора данных». | |
0x2C | 0x6C | Динамическое определение идентификатора данных | Эта служба предлагает возможность исправления для пула идентификаторов данных (DID), указанного устройством, для настройки другого идентификатора данных. Обычно это комбинация частей разных DID или просто конкатенация полных DID. Запрошенные данные могут быть настроены или сгруппированы следующим образом:
| |
0x2E | 0x6E | Запись данных по идентификатору | с тот же идентификатор данных (DID), значения также могут быть изменены. Помимо идентификатора отправляется новое значение. | |
0x3D | 0x7D | Запись в память по адресу | Услуга «Запись в память по адресу» позволяет внешнему диагностическому инструменту записывать информацию в ЭБУ на одном или нескольких непрерывные ячейки памяти. | |
Передача сохраненных данных | 0x14 | 0x54 | Очистить диагностическую информацию | Удалить все сохраненные коды неисправности |
0x19 | 0x59 | Считывание информации о кодах неисправности | DTC означает «диагностические коды неисправностей ». Каждый код неисправности, обработанный неисправностью блока управления, сохраняется с собственным кодом в памяти ошибок и может быть прочитан в любое время. Помимо ошибки будет сохранена дополнительная информация, которую также можно будет прочитать. | |
Управление вводом / выводом | 0x2F | 0x6F | Управление вводом-выводом по идентификатору | Эта служба позволяет внешней системе вмешиваться в внутренние / внешние сигналы через диагностический интерфейс. При указании так называемых байтов опции могут быть указаны дополнительные условия для запроса, указаны следующие значения: ReturnControlToECU: устройство должно вернуть управление упомянутыми сигналами. ResetToDefault: тестер предлагает сбросить сигналы до общесистемного значения по умолчанию. Текущее состояние фиксации: устройство фиксирует текущее значение сигнала. ShortTermAdjustment: устройство должно использовать предоставленное значение для сигнала |
Удаленная активация процедуры | 0x31 | 0x71 | Управление программой | Могут быть выполнены все виды рутинных услуг службы управления. Есть три различных типа сообщений:
Можно указать параметры сообщения запуска и остановки. Это дает возможность реализовать все возможные услуги для конкретного проекта. |
Выгрузка / загрузка | 0x34 | 0x74 | Запрос загрузки | Загрузка нового программного обеспечения или других данных в блок управления осуществляется с помощью «Запроса Скачать". Здесь указывается расположение и размер данных. В свою очередь, контроллер определяет размер пакетов данных. |
0x35 | 0x75 | Запросить загрузку | Услуга «Запросить загрузку» почти идентична услуге «Запросить загрузку». С помощью этой услуги программное обеспечение с блока управления переносится на тестер. Местоположение и размер необходимо указать. Опять же, размер блоков данных определяет тестер. | |
0x36 | 0x76 | Передача данных | Для фактической передачи данных используется услуга «Передача данных». Этот сервис используется как для выгрузки, так и для скачивания данных. Направление перевода заранее сообщается сервисом «Запрос на загрузку» или «Запрос на загрузку». Эта служба должна пытаться отправлять пакеты максимальной длины, как указано в предыдущих службах. Если набор данных превышает максимальное значение, услугу «Передача данных» необходимо использовать несколько раз подряд, пока не будут получены все данные. | |
0x37 | 0x77 | Запрос на выход передачи | Передача данных может быть «завершена» при использовании службы «Transfer Exit». Этот сервис используется для сравнения между блоком управления и тестером. Когда он работает, блок управления может отрицательно ответить на этот запрос, чтобы остановить запрос на передачу данных. Это будет использоваться, когда объем данных (установленный в «Запросе загрузки» или «Запросе загрузки») не был передан. | |
0x38 | 0x78 | Запрос передачи файла | Эта служба используется для инициирования загрузки файла с клиента на сервер или загрузки с сервера на клиент. Дополнительно информация о файловой системе доступна через этот сервис. | |
0x7F | Отрицательный ответ | Этот ответ выдается, когда сервисный запрос не может быть выполнен, например, если имеется неподдерживаемый идентификатор данных. Будет включен код отрицательного ответа. |