Единые диагностические услуги - Unified Diagnostic Services

Единые диагностические услуги (UDS) - это диагностический протокол связи используется в электронные блоки управления (ЭБУ) в автомобильной электронике, которая указана в ISO 14229-1.[1] Он основан на ISO 14230-3 (KWP2000 ) и теперь устаревшие ISO 15765 -3 (Диагностическая связь завершена Сеть контроллеров (DoCAN)[2]). «Унифицированный» в этом контексте означает, что это международный стандарт, а не стандарт для конкретной компании. К настоящему времени этот протокол связи используется во всех новых ЭБУ, производимых поставщиками Tier 1 Производитель оригинального оборудования (OEM) и включен в другие стандарты, такие как АВТОСАР. ЭБУ современных транспортных средств управляют почти всеми функциями, включая электронный впрыск топлива (EFI), контроль двигателя, трансмиссия, антиблокировочная тормозная система, дверные замки, торможение, управление окнами и многое другое.

Средства диагностики могут связываться со всеми ЭБУ, установленными в автомобиле, на котором включены службы UDS. В отличие от CAN-шина протокол, который использует только первый и второй уровни Модель OSI, UDS использует пятый и седьмой уровни модели OSI. Идентификатор службы (SID) и параметры, связанные с услугами, содержатся в 8 байтах данных кадра сообщения.

Современные автомобили имеют диагностический интерфейс для внешней диагностики, который позволяет подключить компьютер (клиент) или диагностический прибор, называемый тестером, к системе связи автомобиля. Таким образом, запросы UDS могут быть отправлены контроллерам, которые должны предоставить ответ (он может быть положительным или отрицательным). Это дает возможность допросить память неисправностей отдельных блоков управления, чтобы обновить их новой прошивкой, иметь низкоуровневое взаимодействие с их оборудованием (например, для включения или выключения определенного выхода) или для использования специальных функций (называемых подпрограммами) попытаться понять окружающую среду и условия работы ЭБУ, чтобы иметь возможность диагностировать неправильное или иное нежелательное поведение.

Услуги

SID (идентификатор службы)

Группа функцийЗапросить SIDSID ответаСлужбаОписание
Диагностика и управление коммуникациями0x100x50Диагностический контроль сеансаUDS использует разные рабочие сеансы, которые можно изменить с помощью «Диагностического управления сеансом». В зависимости от того, какой сеанс активен, доступны разные службы. При запуске блок управления по умолчанию находится в «Сессии по умолчанию». Другие сеансы определены, но их реализация не требуется в зависимости от типа устройства:
  • «Сеанс программирования» используется для загрузки программного обеспечения.
  • «Расширенный сеанс диагностики» используется для разблокировки дополнительных диагностических функций, таких как настройка датчиков.
  • «Сеанс диагностики системы безопасности» используется для проверки всех критически важных для безопасности функций диагностики, таких как тесты подушек безопасности.

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

0x110x51Сброс ЭБУУслуга «Сброс ЭБУ» используется для перезапуска блока управления (ЭБУ). В зависимости от аппаратного обеспечения и реализации блока управления могут использоваться различные формы сброса:
  • «Hard Reset» имитирует отключение блока питания.
  • «ключ выключен при сбросе» имитирует слив и включение зажигания ключом.
  • «Мягкий сброс» позволяет инициализировать определенные программные модули и их структуры хранения.

Опять же, есть зарезервированные значения, которые могут быть определены для конкретного использования производителями автомобилей и поставщиками транспортных средств.

0x270x67Безопасный доступПроверка безопасности доступна для включения наиболее важных служб. Для этого блок управления генерирует "Seed" и отправляет его клиенту. Из этого «семени» клиент должен вычислить «ключ» и отправить его обратно в блок управления, чтобы разблокировать критически важные для безопасности службы.
0x280x68Коммуникационный контрольС помощью этой услуги в блоке управления можно отключить как отправку, так и получение сообщений.
0x290x69АутентификацияВ обновлении (2020) стандарта эта служба была добавлена ​​для обеспечения стандартизированного подхода к более современным методам аутентификации, чем разрешено службой Security Access (0x27), включая двунаправленную аутентификация с PKI Обмен сертификатами.
0x3E0x7EТестер присутствуетЕсли в течение длительного времени не происходит обмен данными с клиентом, блок управления автоматически завершает текущий сеанс и возвращается к «сеансу по умолчанию» и может перейти в спящий режим. Следовательно, существует дополнительная услуга, цель которой - сигнализировать устройству о том, что клиент все еще присутствует.
0x830xC3Параметры времени доступаПри общении между контроллерами и клиентом необходимо соблюдать определенное время. Если они превышены без отправки сообщения, следует предполагать, что соединение было прервано. Это время можно вызвать и изменить.
0x840xC4Защищенная передача данных
0x850xC5Настройки контрольных кодов неисправностиВключите или отключите обнаружение любых или всех ошибок. Это важно при проведении диагностических работ в автомобиле, которые могут вызвать аномальное поведение отдельных устройств.
0x860xC6Ответ на событие
0x870xC7Link ControlService Link Control используется для установки скорости передачи диагностического доступа. Обычно это реализуется только на центральном шлюзе.
Передача данных0x220x62Прочитать данные по идентификаторуС помощью этой службы можно получить одно или несколько значений блока управления. Это может быть информация всех видов и разной длины, например, номер детали или версия программного обеспечения. Можно запросить динамические значения, такие как текущее состояние датчика. Каждое значение связано с идентификатором данных (DID) от 0 до 65535. Обычные сигналы CAN предназначены для информации, которую некоторые ЭБУ использует в своих функциях. Данные DID отправляются только по запросу и предназначены для информации, которую не использует ECU, но может извлечь выгоду сервисный инструмент или тестер программного обеспечения.
0x230x63Чтение памяти по адресуСчитайте данные из физической памяти по указанному адресу. Эта функция может использоваться инструментом тестирования для чтения внутреннего поведения программного обеспечения.
0x240x64Чтение данных масштабирования по идентификатору
0x2A0x6AЧтение данных по периодическому идентификаторуС помощью этой службы значения периодически отправляются блоком управления. Значения, которые должны быть отправлены, должны быть определены только с использованием «динамического определения идентификатора данных».
0x2C0x6CДинамически определять идентификатор данныхЭта служба предлагает возможность исправления для пула идентификаторов данных (DID), указанного устройством, для настройки другого идентификатора данных. Обычно это комбинация частей разных DID или просто конкатенация полных DID.

Запрошенные данные могут быть настроены или сгруппированы следующим образом:

  • Исходный DID, позиция, длина (в байтах), байт подфункции: defineByIdentifier
  • Длина адреса памяти (в байтах), байт подфункции: defineByMemoryAddress
  • Комбинации двух вышеперечисленных методов с помощью нескольких запросов.
0x2E0x6EЗапись данных по идентификаторуС тем же идентификатором данных (DID) значения также могут быть изменены. Помимо идентификатора отправляется новое значение.
0x3D0x7DЗапись в память по адресуУслуга «Запись в память по адресу» позволяет внешнему диагностическому инструменту записывать информацию в ЭБУ в одной или нескольких непрерывных ячейках памяти.
Передача сохраненных данных0x140x54Очистить диагностическую информациюУдалить все сохраненные коды неисправности
0x190x59Прочтите информацию о кодах неисправностиDTC означает "Диагностические коды неисправностей ". Каждый DTC, обработанный неисправностью блока управления, сохраняется со своим собственным кодом в памяти ошибок и может быть прочитан в любое время. Помимо ошибки, будет сохранена дополнительная информация, которая также может быть прочитана.
Управление вводом / выводом0x2F0x6FКонтроль ввода вывода по идентификаторуЭта услуга позволяет внешней системе вмешиваться в внутренние / внешние сигналы через диагностический интерфейс.

При указании так называемых байтов опции могут быть указаны дополнительные условия для запроса, указаны следующие значения:

ReturnControlToECU: Устройство должно вернуть управление упомянутыми сигналами.

Восстановление значений по умолчанию: Тестер предлагает сбросить сигналы до общесистемного значения по умолчанию.

Заморозить текущее состояние: Устройство зафиксирует текущее значение сигнала.

ShortTermAdjustment: Устройство должно использовать указанное значение для сигнала.

Удаленная активация процедуры0x310x71Регулярный контрольМогут быть выполнены все виды рутинных услуг службы управления. Есть три разных типа сообщений:
  • С помощью стартового сообщения можно запустить службу. Его можно определить для подтверждения начала выполнения или для уведомления о завершении службы.
  • С помощью сообщения «Стоп» работающая служба может быть прервана в любое время.
  • Третий вариант - это сообщение для запроса результатов службы.

Можно указать параметры сообщения запуска и остановки. Это дает возможность реализовать все возможные услуги для конкретного проекта.

Выгрузка загрузка0x340x74Запросить загрузкуЗагрузка нового программного обеспечения или других данных в блок управления осуществляется с помощью «Запроса загрузки». Здесь указывается расположение и размер данных. В свою очередь, контроллер определяет размер пакетов данных.
0x350x75Запросить загрузкуУслуга «Запрос на загрузку» практически идентична услуге «Запрос на загрузку». С помощью этой услуги программное обеспечение с блока управления переносится на тестер. Необходимо указать место и размер. Опять же, размер блоков данных определяет тестер.
0x360x76Передача данныхДля фактической передачи данных используется услуга «Передача данных». Этот сервис используется как для выгрузки, так и для скачивания данных. Направление перевода заранее сообщается сервисом «Запрос на загрузку» или «Запрос на загрузку». Эта служба должна пытаться отправлять пакеты максимальной длины, как указано в предыдущих службах. Если набор данных превышает максимальное значение, услугу «Передача данных» необходимо использовать несколько раз подряд, пока не будут получены все данные.
0x370x77Запросить перевод выходаПередача данных может быть «завершена» при использовании услуги «Transfer Exit». Эта служба используется для сравнения между блоком управления и тестером. Когда он работает, блок управления может отрицательно ответить на этот запрос, чтобы остановить запрос на передачу данных. Это будет использоваться, когда объем данных (установленный в «Запросе загрузки» или «Запросе загрузки») не был передан.
0x380x78Запросить передачу файлаЭта служба используется для инициирования загрузки файла с клиента на сервер или загрузки с сервера на клиент. Дополнительно информация о файловой системе доступна через этот сервис.
0x7FОтрицательный ответЭтот ответ выдается, когда сервисный запрос не может быть выполнен, например, если имеется неподдерживаемый идентификатор данных. Будет включен код отрицательного ответа.

Смотрите также

Рекомендации

внешняя ссылка

  • Унифицированные диагностические услуги - ISO 14229 (плакат сайта softing.com)