Фильтр по тематике

Ускорение отладки автомобильных электронных систем с использованием декодирования и запуска по символам CAN­dbc

Разработчики автомобильной электроники используют множество средств тестирования и отладки систем, в которых применяется шина CAN. Для ускорения тестирования и отладки используются осциллографы с возможностью декодирования данных шины CAN. В статье описываются преимущества использования осциллографов, способных преобразовывать коды кадров в осмысленный текст на основе специализированных файлов CAN-dbc.
01.03.2014 789 0
Ускорение отладки автомобильных электронных систем с использованием декодирования и запуска по символам CAN­dbc

Введение

Практически во всех современных автомобилях для управления двигателем, трансмиссией и другим оборудованием широко используется дифференциальная шина CAN (Controller Area Network). Эта шина и соответствующий протокол, разработанный компанией Bosch более 30 лет назад, до сих пор являются основным способом объединения в единую систему различных устройств управления автомобилем. Помимо этого, шина CAN также широко применяется в средствах управления промышленным и медицинским оборудованием.

Основным измерительным прибором для тестирования и отладки последовательной шины на физическом уровне является осциллограф. Несмотря на то что для отладки и тестирования систем CAN на более высоком логическом уровне абстракции (уровне конкретных приложений) широко используются анализаторы протокола CAN, такие как анализаторы сигналов шины CAN компании Vector Informatik GmbH, только осциллограф позволяет наблюдать форму сигнала, проверяя, таким образом, его качество (целостность) на физическом уровне. Электронное оборудование автомобиля работает в чрезвычайно неблагоприятной электромагнитной обстановке с высоким уровнем шумов и импульсных помех. Ключевым преимуществом осциллографа является то, что он позволяет запоминать и детально отображать эти случайные помехи и шумы, которые могут стать причиной появления ошибок в работе шины CAN. 

Декодирование данных шины CAN и запуск по ним

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


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

В данном примере измерения осциллограф настроен на запуск по кадру 0x201(HEX), что соответствует двоичному числу 010 000 0001. В 8-байтовом поле данных этого кадра (0x201) отображается «0B A8 00 00 27 10 00 00». Однако, что означает этот номер кадра — 0x201(HEX)? И что означает длинная строка шестнадцатеричных символов?

Декодирование символов шины CAN

Как упоминалось ранее, одно из преимуществ анализатора протокола шины CAN заключается в возможности отображения результатов анализа на более высоком (прикладном) уровне абстракции. Другими словами, анализатор отображает результаты измерений на человеческом языке (например, «скорость = 852 об/мин») вместо закодированных числовых значений. Некоторые современные осциллографы также могут представлять информацию в такой форме. На рис. 2 показано изображение экрана того же осциллографа, что и на рис. 1, но при включении режима символьного декодирования.


В этом примере осциллограф запускается по сообщению «Brake_Torque» (тормозящий момент), которое имеет идентификатор кадра (0x211). Вместо длинной строки шестнадцатеричных символов, представляющей поле данных в этом кадре/сообщении, осциллограф отображает наименования соответствующих «сигналов» вместе с их значениями, единицами измерения и/или кодами состояния, например: «On» (вкл.), «Off» (выкл.), «Reverse» (реверс) и т.д. На символьном языке шины CAN «сигналом» является не определённое движение электронов, а передаваемое значение физического параметра или состояния, например, как в этом примере, «Total_Torque (полный крутящий момент): 131.0640k ft/lbs» (1776989 Н×м). Так, как же осциллограф преобразует необработанные числовые значения в символьную форму?

Файлы с расширением .dbc

Разные автомобили могут использовать разные версии шины CAN, и для каждой модели автомобиля используется собственный файл с расширением .dbc, содержащий «базу данных CAN». Этот файл имеет текстовый формат и используется для описания данных, передаваемых по шине CAN. На рис. 3 приведён пример простейшего варианта такого файла, созданного компанией Agilent. Этот файл представляет собой демонстрационный вариант описания сигналов шины CAN, используемый для обучения работе с осциллографами Agilent.


В таком файле «Messages» (сообщения) представляют собой метки, соответствующие идентификаторам различных типов кадров. Например, в рассматриваемом примере идентификатор кадра 2190911837 соответствует сообщению «EngineData» (данные двигателя). Представляющие собой передаваемые в кадре данные «Signals» (сигналы) строятся несколько сложнее. В сообщении «EngineData» имеется пять байтов данных (что задаётся в описании сообщения параметром счётчика длины слова данных DLC = 5), в которых содержатся три сигнала, обозначенные как «Fuel» (уровень топлива в баке), «Temp» (температура охлаждающей жидкости) и «Speed» (скорость). Для каждого сигнала задаётся номер бита начала и длина в битах. Например, сигнал «Temp» начинается с бита 24 и имеет длину 8 бит. С каждым заданным сигналом связаны коэффициенты пересчёта, единицы измерения, минимальное и максимальное допустимые значения и индикатор порядка следования битов (т.е. какой бит соответствует старшему разряду – самый левый или самый правый).

Далее в распечатке приведены примеры определений сигналов с дискретными значениями. Например, в сообщении ABS (АБС) сигнал «Frnt-R» начинается с бита 7 и имеет длину всего 1 бит. Это означает, что он может принимать только одно значение из двух – 0 или 1. Далее в листинге определяется текстовое представление значений этого сигнала. Если его значение равно «0», то на экране осциллографа отображается «Unlocked» (разблокирован), а при значении сигнала, равном «1», на экране осциллографа отображается «Locked» (блокирован).

Файлы .dbc, которые описывают шину CAN для конкретных автомобилей, значительно сложнее этого созданного компанией Agilent примера. К сожалению, в данной статье не представляется возможным рассмотреть используемый в реальном автомобиле файл .dbc. Дело в том, что производители автомобилей рассматривают эти файлы как интеллектуальную собственность, хранящуюся под грифом «совершенно секретно». Они не хотят, чтобы конкуренты знали, как устроены их сети.

Хотя в компании Agilent для создания файла .dbc, показанного на рис. 3, использовался простейший текстовый редактор (Windows NotePad), существуют гораздо более эффективные способы создания таких файлов, особенно для более сложных автомобильных систем. В настоящее время наиболее распространённым средством создания файлов .dbc стала программа CANdb++. Для получения подробной информации о ней следует обратиться в компанию Vector Informatik GmbH, разрабатывающую разнообразное ПО для работы с коммуникационными сетями.

Использование CAN-dbc для символьного декодирования и запуска в осциллографе

При наличии файла .dbc для шины CAN, подлежащей тестированию и отладке, импорт этого файла в осциллограф выполняется очень легко. Просто скопируйте соответствующий файл на флэш-накопитель USB, а затем загрузите его в память осциллографа. После анализа загруженного файла все основные параметры преобразования сохранятся в осциллографе. (Отметим, что осциллографы Agilent InfiniiVision серии 4000 X в действительности не запоминают содержимое самого файла .dbc.) После этого в меню запуска и декодирования сигналов шины CAN осциллографа появляется пункт для включения символьного декодирования и возможность отображения сообщений и значений сигналов в текстовом виде. На рис. 4 показан снимок экрана осциллографа Agilent, выполняющего запуск и декодирование сигнала встроенного генератора тестовых сигналов шины CAN с использованием файла .dbc, распечатка которого приведена на рис. 3. В нижней половине экрана осциллографа показан увеличенный вид кадра (сообщения) «EngineData» (данные двигателя) с сигналами «Fuel» (уровень топлива в баке), «Temp» (температура охлаждающей жидкости) и «Speed» (скорость).


Как уже говорилось ранее, большинство файлов .dbc, созданных для конкретного автомобиля, являются интеллектуальной собственностью компании-производителя. Работой осциллографов Agilent InfiniiVision серии 4000 X управляет собственная встроенная операционная система, не позволяющая скопировать файл из памяти осциллографа. Даже если осциллограф подключён к интернету через сетевой порт, пользователи не смогут получить доступ к внутренней памяти осциллографа. Кроме того, из памяти файл можно легко стереть с помощью стандартной функции надёжного стирания, наличие которой требуется большинством заказчиков из аэрокосмической и военной промышленности. Поскольку большинство файлов .dbc защищены и являются объектом интеллектуальной собственности разработчиков, эта функция очень важна и для заказчиков в автомобильной промышленности. В результате выполнения функции надёжного стирания в памяти осциллографа не остаётся никакой информации, связанной с удалённым файлом.

Заключение

В настоящее время разработчики автомобильной электроники используют множество средств тестирования и отладки систем, в которых применяется шина CAN. Основным инструментом для работы с этой шиной является осциллограф. Для ускорения тестирования и отладки целесообразно использовать осциллограф с возможностью декодирования данных шины CAN и запуска по коду нужного кадра. Применение же осциллографов, способных преобразовывать коды кадров и данные в них в осмысленный текст на основе данных специализированных файлов CAN-dbc делает процесс поиска конкретных кадров и данных в них ещё проще и понятнее. В конце концов, текстовое сообщение «EngineData» (данные двигателя) гораздо понятнее, чем шестнадцатеричное число 0x0296A95D. Осциллографы с функцией символьного декодирования и запуска, конечно, не могут полностью заменить специализированный анализатор протокола CAN, как и анализатор протокола CAN никогда не заменит осциллограф. В результате в большинстве случаев инженеры-автомобилестроители, занимающиеся разработкой и тестированием шин CAN для электронных систем управления автомобилем, для оптимизации процесса отладки будут использовать оба типа приборов.

© СТА-ПРЕСС

Если вам понравился материал, кликните значок — вы поможете нам узнать, каким статьям и новостям следует отдавать предпочтение. Если вы хотите обсудить материал —не стесняйтесь оставлять свои комментарии : возможно, они будут полезны другим нашим читателям!

01.03.2014 789 0
Комментарии
Рекомендуем
Проверяемое автономное управление: архитектура контроля решений ИИ в киберфизических и распределённых системах Электроника и автоматизация

Проверяемое автономное управление: архитектура контроля решений ИИ в киберфизических и распределённых системах

В статье рассматривается архитектура SEACS (Self-Evolving Autonomous Control System), предназначенная для построения проверяемого контура автономного управления в распределённых и киберфизических системах. В отличие от подходов, где успешный вызов модели или выполнение команды трактуется как завершение задачи, SEACS разделяет наблюдение, оценку состояния, выбор решения, исполнение и последующую проверку фактического результата. Рассматриваются механизмы управления риском и доверием, гистерезиса, задержки повторных воздействий, резервных сценариев и передачи решения человеку. Отдельное внимание уделено воспроизводимым испытаниям, требованиям к данным и метрикам, а также ограничениям исследовательского прототипа.
30.10.2026 СЭ №8/2026 111 0
К 130-летию со дня рождения великого советского физика Игоря Евгеньевича Тамма. Часть 7. Оптические уровни  и плазмон-поляритоны Тамма Электроника и автоматизация

К 130-летию со дня рождения великого советского физика Игоря Евгеньевича Тамма. Часть 7. Оптические уровни и плазмон-поляритоны Тамма

Эта статья завершает серию публикаций о научном наследии Игоря Тамма, в которой была проанализирована эволюция идей Тамма и его учеников от 1930-х годов до наших дней. Среди различных направлений, которыми в различные периоды своей жизни занимался Игорь Тамм, мы остановились на тематике, связанной с взаимодействием света с электронами на границе металла и диэлектрика. Данное направление, начавшееся с разработки теории «таммовских поверхностных состояний», логически продолжилось открытием оптических состояний Тамма (Optical Tamm States – OTS), а затем плазмон-поляритонов Тамма (Tamm Plasmon-Polaritons – TPP). Именно этим двум явлениям посвящена настоящая статья.
28.10.2026 СЭ №8/2026 148 0

Реклама
Реклама.  ООО «Остек-СМТ»  ИНН 7731481045  erid = 2SDnjchs19E
Реклама
Реклама.  ООО «Остек-СМТ»  ИНН 7731481045  erid = 2SDnjdHxidA
  Подписывайтесь на наш канал в Telegram и читайте новости раньше всех! Подписаться