Использование электрических подписей шины CAN для обратного проектирования автомобилей

AvtoAd

09/11/2022
Использование электрических подписей шины CAN для обратного проектирования автомобилей

Квигли, Д. Чарльз, Р. Маклафлин

Warwick Control Technologies

 

 

Аннотация

Существует множество программ, в которых вам может потребоваться обратное проектирование сети контроллера (CAN), например:

  • анализ автомобильных конкурентов;

  • Телематические программы, такие как управление автопарком;

  • Отключены программы драйвера.

Обычный процесс обратного проектирования связан с перемещением датчика и наблюдением за изменением сообщений на шине CAN. Например, опустите дверное окно и посмотрите, приведет ли это к изменениям в данных сообщения CAN.

Многие шины CAN имеют много сообщений, поступающих от многих электронных блоков управления (ECU). Это означает, что трудно просматривать их всех одновременно. Было бы гораздо проще, если бы вы могли просто наблюдать за меньшим количеством сообщений CAN, чтобы наблюдать за изменениями, изолируя ECU, из которых поступают сообщения.

В этом документе описан процесс, позволяющий пользователю определить, какие сообщения CAN передаются определенному ECU. Это достигается путем получения электрической подписи каждого сообщения CAN и сопоставления известных сообщений CAN с неизвестными. Таким образом, можно определить ECU, передающую неизвестные сообщения CAN.

Метод определения того, какие идентификаторы поступают от конкретного ECU, состоит в том, чтобы сначала получить графики электрической подписи известных диагностических ответов и сравнить с графиком электрической подписи сообщений управления в реальном времени. Мы показываем, как этого добиться с помощью инструмента X-Analyser от Warwick Control в сочетании с компьютерным осциллографом PicoScope и USB-интерфейсом Kvaser CAN.

Этот документ требует предварительных базовых знаний о работе технологии шины CAN.

 

 

Содержание

1. Что такое электрическая подпись CAN .

2. Создание электронной подписи для каждого кадра CAN.

3. Практический пример – реверсивное проектирование автомобилей – методология идентификации передаточного ECU.

4. Вывод.

 

 

Что такое электрическая подпись сообщения CAN

Электрическая подпись сообщения CAN уникальна в любом сообщении, которое посылает ECU. Поэтому вы ожидаете, что все сообщения, передаваемые ECU, будут иметь одинаковые электрические характеристики. Например, сообщение CAN, состоящее из напряжения CAN High и CAN Low (CAN_H и CAN_L), должно показывать что-либо уникальное для каждого ECU через физическую структуру шины CAN (например, положение узла и расстояние на шине).

На рисунке 1 показаны разные поля, составляющие кадр CAN. Из-за природы метода доступа CAN на основе конкуренции арбитражное поле (CAN ID) не следует рассматривать для электрической подписи, поскольку в этом поле может находиться несколько ECU, которые общаются между собой и, таким образом, влияют на электрический сигнал.

После завершения арбитражного процесса существует только один ECU, создающий поле данных. Здесь вы видите уникальную электрическую подпись для этого ECU. Чтобы получить уникальную подпись для сообщения CAN, которое представляет его передаточный ECU, измерение следует производить из этой части кадра CAN, когда только один ECU генерирует данные CAN.

Рисунок 1. Конструкция рамы CAN

 

Чтобы проиллюстрировать уникальные электрические характеристики каждого ECU в транспортном средстве, на рисунках 2 и 3 ниже показаны небольшие отличия в напряжении CAN_H и CAN_L для двух разных ECU современного легкового автомобиля. Они называются ECU A и ECU B.

Рисунок 2 ECU A – Электрические характеристики

 


Рисунок 3 ECU B – Электрические характеристики

Можно увидеть, что уровни напряжения CAN_H и CAN_L для сообщений этих двух ECU отличаются.

 

 

Создание электрической подписи для каждого кадра CAN

Методология, рассматриваемая при сборе электрической подписи для каждого сообщения CAN, позволяющая нам определить ECU, из которого оно поступает, заключается в рассмотрении значений напряжения CAN_H и CAN_L для связывания сообщений с ECU.

 

Метод – Анализ напряжения CAN_H против CAN_L

Процесс:

  • Зарегистрируйте один пример трассировки осциллографа каждого сообщения CAN
  • Изолируйте только поле данных
  • Разделение битов поля данных на доминантные (логика 0) и рецессивные (логика 1)
  • Вычислить модальное среднее значение уровней напряжения CAN_H и CAN_L только для доминирующих битов

Теперь данные готовы к кластерным графикам.

 

Пример X-Analyser

На рисунке 4 показано отображение в X-Analyser с использованием интерфейса PicoScope. Здесь можно увидеть, что кадры CAN регистрируются в верхней половине дисплея. Выбран (выделен) один из кадров CAN, и физическая сигнализация этого кадра отображается в нижней части дисплея. Обратите внимание, что для этого мы можем собрать уровни напряжения доминирующих битов в поле данных (CAN_H, CAN_L).


Рисунок 4 Выделение кадра CAN на дисплее PicoScope

 

Эти осциллограммы можно экспортировать как файл Excel, чтобы показать показание кадра CAN в точке образца. Это делается в X-Analyser с помощью кнопки «Экспортировать кадр», чтобы экспортировать выбранный кадр, и с помощью кнопки «Экспортировать все», чтобы экспортировать весь кадр из этой коллекции. Пример экспортируемых данных показан на рисунке 5.

Рисунок 5 Пример данных Excel, экспортируемых для расширенного кадра CAN

 

Информация, предоставленная в файле Excel:

  • Идентификатор кадра (шестнадцатеричный)
  • DLC
  • Данные (байты в шестнадцатеричной системе)
  • Кадр ошибки (истинно или ложно) (ложно, если кадр CAN исправен)
  • Образцов в секунду
  • Экспортировано (дата)
  • Время (выборка для этого кадра начинается с нуля)
  • Напряжение CAN-H и CAN-L
  • Название региона (регион кадра, в котором отображаются данные)
  • Дополнительная область (показывает, где происходит вставка битов)

После экспорта этой информации в Excel мы можем вычислить точки кластера с помощью метода, берущего модальное среднее значение напряжений CAN_H и CAN_L из поля данных (только доминантные биты).

 

Анализ и кластеризация данных

Данные анализируются путем записи уровней напряжений доминантных битов CAN_H и CAN_L в поле данных и получения единого модального среднего показателя для CAN_H и CAN_L. Затем можно поместить на график кластера, чтобы можно было наблюдать кластеризацию сообщений CAN от конкретного ECU.

В примере ниже показаны методы сбора данных и процесс, используемый для построения кластеров CAN идентификаторов на основе модальных средних значений Excel. Это позволяет исследователю/инженеру выяснить, из каких блоков управления в реальном времени поступают сообщения CAN.

 

 

Практический пример – Реверсивное проектирование автомобилей – Методология идентификации передаточного ECU

Основой этой методологии является то, что каждый ECU на шине CAN будет демонстрировать свои уникальные электронные характеристики, на которые влияют такие аспекты, как его электрические компоненты и допуски, трансивер CAN, характеристики разъема и расположение в шине CAN. Это можно использовать для сопоставления неизвестных кадров CAN с известными кадрами CAN. В автомобильной промышленности сообщения CAN управления в режиме реального времени запатентованы. Однако диагностические сообщения идентификаторов, используемых для производственных и сервисных гаражей, стандартизированы в таких спецификациях как ISO15765 [1] и/или между производителями автомобилей.

Хорошо известно, что многие транспортные средства, использующие стандартные идентификаторы CAN, задают диагностический запрос к контроллеру двигателя с использованием идентификатора CAN 0x7E0, и контроллер двигателя отвечает на идентификатор CAN 0x7E8.

Таким образом, краткое изложение методологии описывается следующими шагами:

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

 

 

Настройка оборудования для обратного проектирования на автомобиле

На рисунке 6 ниже показан пример настройки оборудования с использованием X-Analyser, подключенного к шине CAN через интерфейс Kvaser CAN USB и интерфейс PicoScope.

Ссылаясь на рисунок 6, Kvaser используется для создания сообщений диагностического запроса, а PicoScope используется для получения сообщения диагностического ответа для анализа физической сигнатуры. Программное обеспечение X-analyser используется для создания передатчиков ID 0x7E0 (или 0x700-0x7FF для других ECU) через передатчик объектов и использует интерфейс Kvaser для передачи этих сообщений на шину. PicoScope увидит посланный передатчик (0x7E0) и прочтет ответ на это сообщение с ID 0x7E8. Затем 0x7E8 можно проанализировать с помощью Analogue Network Analyzer в X-analyser.


Рисунок 6 Подключение X-Analyser к автомобилю через интерфейс Квасер и осциллограф PicoScope PC

 

 

Диагностические запросы

Дополнительную информацию о диагностическом запросе можно найти в ISO 15765-4:2016. Основная необходимая информация – запрос на диагностику имеет шестнадцатеричные идентификаторы CAN в диапазоне от 0x700 до 0x7FF. Известно, что стандартное сообщение диагностического запроса выбросов имеет идентификатор 0x7E0, а ожидаемый ответ ECM (модуля управления двигателем) — идентификатор 0x7E8. Ссылаясь на ISO 15765-4:2016, страница 29, также известно, что идентификатор запроса на диагностику TCM (модуля управления трансмиссией) – 7E1, а сообщение ответа – 7E9. Многие ECU зависят от производителя, но большинство можно проверить с помощью инструмента OBD для конкретной модели автомобиля. К примеру, известно, что во многих моделях ЭБУ ABS имеет запрос 7E2 и ответ 7EA.

Значение идентификатора диагностического ответа увеличится на 8 и ответит, т.е.;

ID запроса = 0x7E0 ID ответа = 0x7E8 8 = 7E8 – 7E0

Примером CAN-кадра диагностического запроса 0x7E0 является;

ID = 0x7E0 DLC = 8 Данные = 02 10 01 00 00 00 00 00

Поэтому мы ожидаем ответа от ЭБУ системы выбросов (двигателя) на CAN ID 7E8.

Если на другие запросы нет ответа, это означает, что эта функция диагностики не поддерживается в этом автомобиле. Диаграмма на рисунке 7 показывает сообщение диагностического ответа в 1- м автомобиле кандидата. С этой целью мы установили электрические подписи CAN ID 728, 7E8 738 и 768. По спецификации производителя можно установить функции этих ECU.

 

 

Сбор данных на X-Analyser и PicoScope

Кластеры покажут, какие сообщения связаны с тем же ECU. Результаты двух транспортных средств-кандидатов приведены ниже.

Кандидаты 1 и 2 были электрически хорошими шинами CAN, то есть хорошим заземлением и меньшим шумом. Методология, использованная здесь, заключалась в построении модальных значений CAN-H и CAN-L из сегмента данных кадра CAN для создания показанных кластеров. Это модальное значение будет взято из региона поля данных только для доминантных битов.

 

 

Использование метода построения графика CAN_H против CAN_L

Кандидат 1

В транспортном средстве 1- го кандидата было отправлено сообщение диагностического запроса с результатами ответа, отражающими электрическую подпись, показанную на рисунке 7.

Рисунок 7. Кластерный график сообщений диагностического ответа CAN для транспортного средства-кандидата 1 – модальное напряжение CAN_H против модального напряжения CAN_L

 

Здесь мы рисуем точки кластера с помощью CAN_H против CAN_L. В соответствии со спецификацией этого транспортного средства полученные диагностические ответы интерпретируются следующим образом:

  • 728 – Комбинация приборов
  • 7E8 – ЭБУ двигателя
  • 738 – ЭБУ рулевого управления
  • 768 – ЭБУ модуля управления тормозами

После установки сигнатуры ответа диагностики мы собрали сообщение CAN в режиме реального времени и построили электрическую сигнатуру, показанную ниже на рисунке 8.


Рисунок 8. Кластерный график сообщений CAN в реальном времени для транспортного средства-кандидата 1 – модальное напряжение CAN_H против модального напряжения CAN_L

 

Здесь мы установили, что общие электрические подписи CAN-сообщений в режиме реального времени тесно совпадают с диагностическими ответами. Таким образом, мы можем убедиться, что сообщения поступают от следующих ECU:

  • ЭБУ приборов – CAN ID 190, 275430, 433, 460
  • ЭБУ двигателя – идентификаторы CAN 200, 201, 205, 231, 268, 280, 420, 428, 4F0, 4F1, 4F3
  • EHPAS ECU – 240
  • ECU модуля управления тормозами – 20F, 211, 212, 4B0

Эта информация позволит использовать методы обратного проектирования, чтобы помочь определить функции этих сообщений CAN. В X-Analyser можно выделить эти сообщения и выполнить различные методы исследования, чтобы определить функции отдельных сигналов в этих сообщениях.

 

Кандидат 2

Для дальнейшей проверки валидности этого метода подобный метод выполнен на втором транспортном средстве, для которого была доступна спецификация CAN. Результат проиллюстрирован на рисунке 9 ниже, где показаны электрические сигнатуры данных CAN в реальном времени этого автомобиля.

Рисунок 9. Кластерный график сообщений CAN в реальном времени для транспортного средства-кандидата 2 – модальное напряжение CAN_H против модального напряжения CAN_L

 

Здесь мы можем заметить, что сообщения поступают от следующих ECU:

  • ЭБУ торможения – CAN ID 091, 1AA, 1A4, 1B0, 1D0,1EA, 255
  • Электронный блок управления приборами – идентификаторы CAN 156, 18E, 1A6, 21E, 221, 294, 295, 309, 372, 374, 377, 378, 386, 405, 428, 42
  • ЭБУ двигателя – идентификаторы CAN 13C, 158, 17C, 1DC, 1ED, 320, 324, 328, 376,3D7, 40C, 454, 465
  • ЭБУ подушек безопасности – CAN ID 039, 305, 401

 

 

Вывод

Метод, показанный в настоящем документе, можно использовать в качестве доказательства для подтверждения гипотез при обратном проектировании. Во время упражнений обратного проектирования мы хотим изолировать сообщения CAN от определенного ECU. Этот метод построения электрических сигнатур путем отметки модального среднего уровня CAN_H против CAN_L для каждого поля данных сообщения показал, что он очень хорошая помощь в этом.

Подход, показанный в данной статье, не ограничивается технологией шины CAN. CAN-FD – очевидный следующий автобус, на который стоит обратить внимание. Однако электрические сигнатуры можно получить для многих других шинных и сетевых технологий, например FlexRay, использующего подход дифференциальной сигнализации. Может быть возможно охарактеризовать сигналы на шине LIN. Однако для получения электрической сигнатуры нужно будет принять несколько измененный подход, поскольку он не использует дифференциальную передачу сигналов.

 

 

 

Список литературы

ISO 15765-4 (2016) – Дорожные транспортные средства – Диагностическая связь через сеть контроллеров (DoCAN). Часть 4: Требования к системам, связанным с выбросами . Использование электрических подписей шины CAN для обратного проектирования автомобилей С. Квигли, Д. Чарльз, Р. Маклафлин Уорвик Контроль Технологии Аннотация Существует много программ, в которых вам может потребоваться обратное проектирование сети контроллера (CAN), например:

Обычный процесс обратного проектирования связан с перемещением датчика и наблюдением за изменением сообщений на шине CAN. Например, опустите дверное окно и посмотрите, приведет ли это к изменениям в данных сообщения CAN.

Многие шины CAN имеют много сообщений, поступающих от многих электронных блоков управления (ECU). Это означает, что трудно просматривать их всех одновременно. Было бы гораздо проще, если бы вы могли просто наблюдать за меньшим количеством сообщений CAN, чтобы наблюдать за изменениями, изолируя ECU, из которых поступают сообщения.

В этом документе описан процесс, позволяющий пользователю определить, какие сообщения CAN передаются определенному ECU. Это достигается путем получения электрической подписи каждого сообщения CAN и сопоставления известных сообщений CAN с неизвестными. Таким образом, можно определить ECU, передающую неизвестные сообщения CAN.

Метод определения того, какие идентификаторы поступают от конкретного ECU, состоит в том, чтобы сначала получить графики электрической подписи известных диагностических ответов и сравнить с графиком электрической подписи сообщений управления в реальном времени. Мы показываем, как этого добиться с помощью инструмента X-Analyser от Warwick Control в сочетании с компьютерным осциллографом PicoScope и USB-интерфейсом Kvaser CAN.

Этот документ требует предварительных базовых знаний о работе технологии шины CAN.

  • Анализ автомобильных конкурентов
  • Телематические программы, такие как управление автопарком
  • Отключенные программы драйвера

 

 

Оринигал.

 

Читайте также:

Что такое DoIP