Автомобильный Ethernet - DoIP

1. Что может делать DoIP?f2adf6936e9aef84fef6d1065dde7eee

Ethernet впервые был внедрен в автомобили компанией BMW, сценарий применения которой заключался в прошивке/программировании, чтобы обеспечить обновление данных программного обеспечения для таких компонентов, как жидкокристаллические панели приборов. По сравнению с традиционной автомобильной диагностикой, DoIP означает передачу данных протокола UDS через Ethernet, т.е. диагностическую связь по интернет-протоколу. Поскольку DoIP может передавать большие объемы данных с высокой скоростью отклика и осуществлять удаленную диагностику через Ethernet, DoIP стал неизбежной тенденцией для автомобильной диагностики. По сравнению с традиционными автомобильными системами, все современные системы автомобильной диагностики включают в себя уровень протокола DoIP поверх TCP/IP. Чтобы лучше поддерживать диагностику OBD, удаленную диагностику, FOTA и другие технологии, общая автомобильная архитектура была скорректирована, с использованием коммутаторов для подключения MPU, MCU и других ECU Ethernet через Ethernet, изолируя при этом внешние и внутренние сети.

2. Состав протокола DoIP

Этот протокол работает поверх TCP/IP. Для получения сообщений протокола DoIP спецификация протокола требует прослушивания специального порта с номером 13400, выделенного для стека протоколов DoIP. И UDP, и TCP должны слушать этот порт приема, а порт отправки - случайное значение в диапазоне [49152~65535].Формат протокола:Сообщения DoIP состоят из заголовка (8 байт) + полезной нагрузки (N байт)Заголовок протокола [8 байт] состоит из четырех полей:

  • Версия протокола [1 байт]
  • Версия инверсного протокола [1 байт]
  • Тип полезной нагрузки [2 байта]
  • Длина полезной нагрузки [4 байта]

Полезная нагрузка [N байт] - данные полезной нагрузки варьируются в зависимости от фактического типа полезной нагрузки. Обычно версия протокола равна 0x02, а значения выше 0x02 в настоящее время находятся в статусе зарезервированных. Инверсная версия протокола - это инвертированное значение версии протокола; в данном примере инверсия 0x02 становится 0xFD. В спецификации протокола специально упоминается, что версия протокола может быть 0xFF. Это значение служит для того, чтобы клиенты и серверы с несовпадающими версиями протоколов могли обойти случай, когда запросы отклоняются из-за несоответствия версии заголовка протокола.

Тип полезной нагрузки:

Тип полезной нагрузки представляет собой функции, которые может поддерживать стек протоколов DoIP.

Тип полезной нагрузки Значение Имя Протокол
0x0000 Общее отрицательное подтверждение заголовка DoIP TCP/UDP
0x0001 Сообщение запроса идентификации транспортного средства UDP
0x0002 Сообщение запроса идентификации транспортного средства с EID UDP
0x0003 Сообщение запроса идентификации транспортного средства с VIN UDP
0x0004 Сообщение об объявлении транспортного средства / Ответное сообщение об идентификации транспортного средства UDP_Discovery / UDP_test_request
0x0005 Запрос на активацию маршрутизации TCP
0x0006 Ответ на активацию маршрутизации TCP
0x0007 Запрос на проверку работоспособности TCP
0x0008 Ответ на проверку работоспособности TCP
0x4001 Запрос статуса сущности DoIP UDP
0x4003 Запрос информации о режиме питания при диагностике UDP
0x8001 Диагностическое сообщение TCP
0x8002 Диагностическое сообщение положительное подтверждение TCP
0x8003 Негативное подтверждение диагностического сообщения TCP

Длина полезной нагрузки здесь составляет 4 байта, что означает, что сообщения DoIP могут передавать максимум 4 ГБ (0xFFFFFFFF).

Два метода обнаружения транспортных средств:

(1) После запуска устройства DoIP оно сначала передает сообщение DoIP (сообщение об объявлении транспортного средства, тип полезной нагрузки 0x0004) по протоколу UDP всем другим узлам сети, включая диагностические приборы, с портом назначения 13400. Это сообщение содержит информацию о версии DoIP устройства, VIN, логическом адресе и т. д. Это сообщение отправляется три раза, и диагностические инструменты, ранее слушавшие порт 13400, получают эту информацию и узнают основные сведения о DoIP-устройстве.(2) Если диагностический инструмент не получает ее, существует другой метод: диагностический инструмент активно запрашивает, транслируя сообщение DoIP request (Payload Type 0x0001) через UDP с портом назначения 13400. Устройство DoIP, которое прослушивает порт 13400 с момента запуска, получает это сообщение и отвечает на него ответом, содержащим собственную информацию для диагностического инструмента.

 

Предыстория: Следующий:

Похожие рекомендации

Расширяйтесь!

Мо