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

Выявление конфликтов доступа к шине CAN с помощью осциллографа

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

01.02.2014 968 0
Выявление конфликтов доступа к шине CAN с помощью осциллографа

Введение

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

Далее будут рассмотрены следующие вопросы:

  • побитное управление доступом к шине CAN;
  • как с помощью осциллографа с большой частотой обновления определить, какое из декодированных до символов сообщений CAN вызывает конфликты доступа;
  • как выявить сообщения CAN, вызывающие конфликты доступа, с помощью запуска по символам в сочетании с запуском «InfiniiScan Zone»;
  • как определить процент сообщений CAN, вызывающих конфликты доступа, с помощью осциллографа, оснащённого сегментированной памятью, способного декодировать символы CAN-dbc и вставлять метки времени.

Побитное управление доступом к шине

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


При условии, что доминантный бит передаётся логическим нулём, дифференциальная шина CAN ведёт себя как логическое «связанное И».

В формате с низкоуровневым доминантным битом сигнал низкого уровня интерпретируется как «ноль», а высокого – как «единица». Если все передаваемые биты имеют высокий уровень (единица), то на шине присутствует высокий уровень. Если один и более одновременно передаваемых битов имеют низкий уровень (ноль), который является доминантным состоянием, то на шине появляется низкий уровень.

Передающий узел, обладающий наименьшим значением идентификатора кадра, всегда имеет приоритет при возникновении конфликта. В данном конкретном примере идентификатор кадра узла 2 содержит больше нулей в области старших разрядов 11-разрядного идентификатора. Это означает, что этот кадр (передаваемый из узла 2) имеет наименьший идентификатор, и всегда будет доминировать в конф­ликте с идентификаторами кадров узлов 1 и 3, которые имеют большие значения идентификаторов.

Передающие узлы не только передают биты, но и считывают их в конце каждого битового интервала. Обычно считывание выполняется в точке, соответствующей 75% битового интервала. Если узел передаёт «единицу», а потом считывает «ноль», это является для него сигналом, что один или несколько других узлов передают «нули», которые обладают преимуществом. Например, узел 1 передаёт бит № 6, значение которого «единица», но затем считывает с дифференциальной шины «ноль». Таким образом, в начале бита № 5 узел 1 уступает управление шиной другим передающим узлам. В этот момент узел 1 должен дождаться завершения текущего передаваемого кадра и повторить попытку передачи данных.

И хотя побитное управление доступом вполне работоспособно, его применение в асинхронных последовательных шинах, например, в шинах CAN, может стать причиной задержки передачи критически важных данных. Кроме того, при большой загрузке шины (высокая доля интервалов передачи кадров по отношению к общему времени работы шины, включая ожидание) могут возникать конфликты доступа, что повышает теоретически достижимые коэффициенты битовых ошибок (BER), а также увеличивает время их коррекции. Инженеры-автомобилестроители обычно стараются избегать загрузки шины CAN более чем на 30%. Вот почему сегодня многие автомобильные сети переходят на CAN-FD для снижения загрузки шины или на синхронную шину FlexRay, для которой отсутствуют проблемы управления доступом и чрезмерной загрузки.

Рассмотрим, как выявить и количественно измерить конфликты доступа с помощью цифрового запоминающего осциллографа (DSO).

Выявление конфликтов доступа

Как же выглядят конфликты доступа к шине?

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


На рисунке 2 показан пример захвата и отображения кадра CAN на осциллографе с очень большой частотой обновления экрана. В приведённом примере осциллограф настроили на запуск по определённому сообщению, затем выполнили декодирование сигналов шины до уровня символов, импортировав файл dbc, описывающий конкретную сеть CAN. В данном случае осциллограф запускался по сообщению Brake_Torque, которое непосредственно относится к идентификатору кадра 0x211(HEX) или 010 0001 0001(Binary). Наблюдаемые вблизи начала кадра/сообщения низкоуровневые биты с пониженным уровнем сигнала свидетельствуют о возникновении конфликтов доступа. Чтобы объяснить причину их появления, придётся посмотреть на конец кадра.

Если все другие узлы системы подтвердили, что передача кадра прошла успешно, то в конце кадра должен располагаться бит подтверждения. Когда все узлы пытаются одновременно установить на шине доминантный низкий уровень, это приводит к возрастанию тока шины, и уровень опускается ниже нулевого значения.

Аналогичное явление наблюдается в начале кадра, если несколько узлов пытаются получить доступ к шине. Фактически в данном примере можно чётко различить в начале кадра три низкоуровневых бита. Это значит, что не менее трёх узлов пытаются получить доступ к шине, но в конечном итоге всегда побеждает запрос с сообщением Brake_Torque (поскольку именно с него осциллограф и запускается). После вмешательства в несколько старших разрядов поля идентификатора, идентификатор кадра 0x211 получает полный контроль, а затем амплитуда доминантных низких уровней устанавливается в соответствии с уровнями, генерируемыми идентификатором кадра 0x211 (нормальный низкий уровень).

Но как часто возникают конфликты доступа во время передачи сообщения Brake_Torque?

Запуск по конфликтам доступа

Первым шагом на пути к определению частоты появления конфликтов является настройка осциллографа на запуск по сообщению Brake_Torque, но только в случае возникновения конфликта доступа. Это значит, что осциллограф должен игнорировать данное сообщение при отсутствии конфликта.

Используя осциллограф с опцией запуска по сигналам и декодирования данных шины CAN, можно сравнительно просто осуществить запуск по идентификатору кадра 0x211(HEX). Большинство современных осциллографов обладает такой возможностью.

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

Если же ваш осциллограф обладает такой возможностью, просто выберите имя сообщения из списка доступных сообщений, вместо того, чтобы вводить строку абстрактных битов. Однако запуск по идентификатору кадра 0x211(HEX) или по сообщению Brake_Torque, осуществляемый лишь при условии конфликта доступа, на большинстве современных осциллографов либо сложен, либо невозможен. Тем не менее, это не только реально, но и чрезвычайно просто, если осциллограф имеет функцию InfiniiScan Zone.

На рисунке 3 показан осциллограф, запускающийся по сообщению Brake_Torque только при возникновении конфликта доступа.


Сначала осциллограф был настроен на запуск по сообщению Brake_Torque. Затем условия запуска были уточнены, путём выделения зоны (прямоугольника) вокруг низкоуровневых битов в начале этого кадра с помощью сенсорного экрана осциллографа (Обратите внимание на жёлтый прямоугольник в левом нижнем углу экрана). Затем эта зона была определена, как «Должна совпадать».

Если внимательно рассмотреть первые несколько битов этого кадра, то можно увидеть, что доминантные низкие уровни всегда имеют пониженные значения (ниже нормального низкого уровня). Это значит, что осциллограф отбрасывает кадры, не имеющие конфликтов доступа. Если вернуться теперь к рисунку 2, то можно увидеть, что амплитуды первых нескольких битов (во время конфликта доступа) демонстрируют как нормальные низкие уровни (неконфликтующие биты), так и пониженные низкие уровни (конфликтующие биты). Это связано с тем, что осциллограф просто запускался по сообщению Brake_Torque, не используя функцию InfiniiScan Zone для дальнейшего выявления конфликтующих битов.

Отметим, если требуется настроить запуск осциллографа по сообщению Brake_Torque, но только при отсутствии конфликта доступа, то необходимо определить зону, как «Не должна совпадать». В этом случае осциллограф будет отбрасывать конфликтующие биты пониженного уровня, и отображать только кадры с неконфликтующими битами идентификатора.

Теперь, когда удалось настроить осциллограф на запуск по этому кадру (сообщение Brake_Torque) только при наличии конфликта доступа, поговорим о том, как определить частоту появления конфликтов с помощью режима Сегментированной памяти. Заметьте, «Сегментированная память» доступна во многих современных осциллографах, но часто по-разному называется (сегментированная память, режим последовательности, FastFrame, исторический режим и т.п.).

Применение сегментированной памяти для определения частоты появления конфликтов доступа

Один из «лобовых» методов оценки частоты появления конфликтов во время передачи конкретного сообщения заключается в применении осциллографа с очень большим объёмом памяти и в захвате длинной непрерывной последовательности данных шины CAN. Затем требуется вручную прокрутить захваченные данные и визуально найти конфликтующие биты в пределах конкретного кадра, после чего измерить время между их появлениями. Этот метод не только долог и утомителен, но и требует применения очень дорогого высокопроизводительного осциллографа с сотнями мегабайтов памяти захвата. Существует и более простой путь.

Захват непрерывного потока данных, передаваемых по шине CAN, очень неэффективно расходует память осциллографа. Захват в режиме сегментированной памяти оптимизирует расход памяти. Можно настроить прибор на избирательный захват только интересующих кадров/сообщений, заполняя лишь малую часть памяти при каждом появлении такого сообщения. Это существенно расширяет временно¢е окно, которое может захватить ос­циллограф.


На рисунке 4 показан захват 100 последовательных появлений сообщения Brake_Torque, происходящий только при наличии конфликта доступа (с помощью функции InfiniiScan Zone). Таблица протокола в верхней части экрана осциллографа показывает интервалы между отдельными конфликтами. Следует обратить внимание, таблицу можно настроить так, чтобы показывать абсолютное время появления каждого конфликта по отношению к первому захваченному событию. Кроме того, предусмотрена возможность прокручивать отдельные кадры и оценивать качество каждого оцифрованного сигнала.

В этом списке, содержащем 100 последовательных появлений сообщения Brake_Torque с конфликтами доступа, последний захваченный кадр (сегмент № 100) появляется примерно через 5 секунд после первого захваченного кадра (сегмент № 1). Захват такого интервала в непрерывном режиме (без сегментирования) потребовал бы более 300 млн ячеек памяти.

Заключение

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

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

  • высокая частота обновления осциллограмм для захвата редко происходящих конфликтов;
  • запуск по декодированным кадрам/сообщениям CAN для захвата конкретных кадров/сообщений;
  • функция запуска «InfiniiScan Zone» для выделения только тех кадров/сообщений, в которых произошёл конфликт доступа;
  • захват в режиме сегментированной памяти с прецизионными метками времени, позволяющий осуществлять избирательный захват всех кадров/сообщений с конфликтами доступа к шине.

Литература

  1. www.home.agilent.com.
  2. http://cp.literature.agilent.com/litweb/pdf/5991-0512EN.pdf.

© СТА-ПРЕСС


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

01.02.2014 968 0
Комментарии
Рекомендуем
К 130-летию со дня рождения великого советского физика Игоря Евгеньевича Тамма. Часть 4. История возникновения  концепции поляритонов

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

В прошлом году в журнале «Современная электроника» были опубликованы три статьи, посвящённые юбилею выдающегося российского физика-теоретика Игоря Евгеньевича Тамма (СОЭЛ № 7–9, 2025). В частности, были описаны современные быстродействующие электрооптические модуляторы, поверхностные состояния Тамма, запрещённые фотонные зоны и фотонные кристаллы. В этих статьях умышленно не затрагивались темы поляритонов, оптических состояний Тамма (ОСТ) и плазмон-поляритонов Тамма (ППТ). Поскольку ключевой вклад в раннюю разработку этих явлений в основном принадлежит российским учёным, целесообразно посвятить их открытию более подробные отдельные статьи. Ниже рассмотрены два основных типа гибридных фотонных частиц: экситон-поляритоны и фонон-поляритоны.  
24.04.2026 СЭ №4/2026 79 0
Телевизор с электронно-лучевой трубкой: разработки С.И. Катаева и их значение

Телевизор с электронно-лучевой трубкой: разработки С.И. Катаева и их значение

«…Наступит время… когда миллионы таких приборов, таких "электрических глаз" будут всесторонне обслуживать общественную и частную жизнь, науку, технику и промышленность…» Б. Розинг Семён Исидорович Катаев (1904–1991 гг.), советский учёный и изобретатель в области телевидения, доктор технических наук, профессор, заслуженный деятель науки и техники – незаслуженно обделён вниманием популяризаторами истории электроники и телевидения в нашей стране. Тем не менее И.С. Катаев внёс значительный вклад в развитие инженерной мысли в СССР при разработке и усовершенствовании электронно-лучевых трубок (ЭЛТ), ставших на многие годы ключевой технологией, лежащей в основе экранов телевизоров и оборудования различного назначения. Катаев дополнил изобретение Зворыкина и по праву может считаться ещё одним «отцом» отечественного телевидения. В найденных документах роль Катаева прослеживается чётко, и в статье мы хотим это показать.
23.04.2026 СЭ №4/2026 94 0
Электронные системы диагностики, стимуляции и воздействия на человека на примере BAMH и управления –  на примере AE-Skin

Электронные системы диагностики, стимуляции и воздействия на человека на примере BAMH и управления – на примере AE-Skin

Путь будущих разработок в области современной электроники пролегает от визуального отображения окружающего пространства до тактильного. В этой связи представляют интерес система Bioinspired Adaptable Multiplanar mechano-vibrotactile Haptic (BAMH) – пневматически активируемый роботизированный электронный комплекс с интерфейсом из мягкого материала и система AE-Skin, обеспечивающая интерфейс между кожей человека и физическими поверхностями. Принцип её действия достаточно известен и заложен в управлении интерактивными экранами. В первой части статьи рассматриваются особенности новых разработок в области медицинской электроники и перспективы тактильного воздействия на кожу человека для лечения и изменения настроения. Во второй части представлен подробный разбор AE-Skin и примеры её совершенствования во всех сферах жизни человека: от управления посредством электронных тактильных датчиков миниатюрной формы до устройств на основе новых технологий, воспринимающих движения руками без прикосновения и без применения пироэлектрических детекторов, как управляющие сигналы для РЭА.
17.04.2026 СЭ №4/2026 139 0

ООО «ИнСАТ»  ИНН 7734682230  erid = 2SDnjeHksEz
ООО «ИнСАТ»  ИНН 7734682230  erid = 2SDnjddDXPx
  Подписывайтесь на наш канал в Telegram и читайте новости раньше всех! Подписаться