Осциллограф с анализатором can шины

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

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

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

В качестве первичного устройства используемого для анализа протокола CAN, рациональнее всего использовать цифровой запоминающий осциллограф. Для этих целей компания LeCroy рекомендует использовать осциллографы серии WaveRunner – эти осциллографы обладают высокой частотой дискретизации (от 2,5 до 10 Гвыб\с), большой длинной внутренней памяти – до 8М, число каналов 2 или 4 (что достаточно как для наблюдения сигнала CAN, так и аналоговых сигналов), они построены на принципе «открытой платформы» и обладают широкими возможностями для документирования полученных результатов.

Подключение входа осциллографа к источнику сигнала CAN может осуществляться несколькими способами:

  • Подключение одного канала осциллографа к выводам CAN- L (низкий) или CAN- H (высокий).
    Это самый простой способ подключения, но он полностью исключает подавление синфазных сигналов на шине CAN;
  • Подключение двух каналов осциллографа, один к выводам CAN- L (низкий) второй CAN- H (высокий).
    Этот способ подключения обеспечивает подавление синфазных сигналов, но задействует два аналоговых входа осциллографа;
  • Подключение одного канала осциллографа к выводам CAN- L (низкий) и CAN- H (высокий) с помощью дифференциального пробника.
    Это самый корректный способ подключения, он прекрасно обеспечивает подавление синфазных помех, задействует один аналоговый вход осциллографа и позволяет получить максимальную длину внутренней памяти;

Пример отображения сигнала CAN -Н в осциллографическом режиме или его физическое отображение приведен на рисунке 1.

Рисунок 1
(здесь и далее щелчок по изображению — увеличение)

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

При анализе протокола CAN необходимо решить две задачи:

  • Обеспечить CAN синхронизацию;
  • Обеспечить декодирование сигнала CAN для последующего анализа.

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

Видео:CAN шина👏 Как это работаетСкачать

CAN шина👏 Как это работает

Декодирование сообщения CAN

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

  • ID (адрес) сообщения;
  • DLC (число кодовых сообщений);
  • Значения данных в кодовом сообщении в формате шестнадцатеричного кода;
  • CLC (контрольную сумму ).

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

Так на рисунке 2 приведен пример декодированного сообщения CAN, на котором четко видны составные части сообщения CAN.

Видео:MCP2515, контроллер CAN шины с интерфейсом SPIСкачать

MCP2515, контроллер CAN шины с интерфейсом SPI

Синхронизация CAN

Синхронизация сигнала CAN может осуществляться по различным заданным условиям или без условия. Синхронизацию без условий, или режим «Все» обеспечивает синхронизацию любым сообщением CAN находящимся на шине в настоящий момент времени – в этом режиме осциллограф поочередно отображает все сообщения CAN. Это удобно при оценке нагрузки на шине CAN или поиске ошибок. Длинная память осциллографов LeCroy (а это как уже упоминалось до 8 М), позволяет одновременно зафиксировать на экране осциллографа несколько сотен сообщений CAN. Естественно, для того чтобы разглядеть отдельное сообщение CAN в этом потоке, необходимо воспользоваться растяжкой осциллографа. Так на рис 3. приведен пример захвата около 500 сообщений CAN. На верхней осциллограмме изображен поток сообщений CAN, на нижней осциллограмме применена растяжка, на которой видно декодированное сообщение. Так же на рисунке 3, на верхней осциллограмме видно, что при обнаружении в потоке сообщений содержащих ошибки, эти сообщения выделяются красным цветом и помечаются флагом « Error».

Так на рисунке 4 приведен пример отображения обнаруженной ошибки формы.

Синхронизация CAN может так же осуществляться по различным условиям, это:

  • по заданному номеру ID (равен; не равен; больше; больше или равно; меньше; меньше или равно; в диапазоне; вне диапазона);
  • по значению данных содержащихся как в целом сообщении, так и его отдельной части (равен; не равен; больше; больше или равно; меньше; меньше или равно; в диапазоне; вне диапазона);

Такая реализация синхронизации CAN, позволяет из всего потока сообщений CAN фиксировать только те, которые представляют интерес для конкретной задачи анализа, например имеющие определенный ID или содержащие данные необходимы для фиксации. Например, в автомобиле необходимо анализировать только сообщения передаваемые датчиком температуры масла двигателя и когда температура превысила определенный установленный порог. Или, например, в координатном фрезерном станке необходимо фиксировать только сообщения, передаваемые определенным датчиком положения. Так на рисунке 5 приведен пример выделения из потока CAN сообщений только с x7 cf.

Очевидно, что если сообщения CAN с определенным адресом будут передаваться в шину очень редко, достаточно высока вероятность потерять предыдущие CAN сообщения, из-за того, что линия развертки осциллографа находится в автоколебательном режиме и при каждом новом проходе развертки, предыдущая осциллограмма стирается с экрана. Для предотвращения этого явления осциллографы LeCroy имеют режим последовательной развертки, при котором после записи первого сигнала, развертка останавливается и ожидает второго запуска, после второго запуска останавливается и ждет третьего и т.д. В этом режиме осциллограф LeCroy Wave Runner может зафиксировать до 1000 отдельных сигналов, причем время между сигналами не имеет значения (хоть 1 час! Или больше), а при использовании запуска по определенному ID — это 1000 последовательных CAN сообщений с одним заданным адресом. Автоматический анализ декодированных данных, содержащихся в этих CAN сообщениях, например построение графика, даст полную информационную картинную о температуре масла двигателя, регистрируемой датчиком, выбранным нами в качестве примера. Так на рисунке 5, приведен пример последовательной синхронизации 20 сообщений с адресом x7с3 и их последующего декодирования, на рисунке 6 отображено декодирование 13-го сообщения.

При последовательной синхронизации, поскольку запуск развертки «приостанавливается», существует опасность потери информации о времени между сообщениями CAN, особенно если это время очень большое. Но схема синхронизации осциллографов LeCroy построена по такому принципу, что при последовательной развертке, время между сегментами фиксируется в памяти осциллографа и что в последствии позволяет рассчитать частоту следования сообщений. Так на рисунке 6 отображено окно времени между запусками развертки для сообщений, зафиксированных на рисунке 6. Из рисунка 7 видно, что сообщения с следуют не равномерно и время между первыми 10 сообщениями составляет от 482 мс до 9,98 с.

Видео:CAN шина на осциллографе FINIRSI ADS1013DСкачать

CAN шина на осциллографе FINIRSI ADS1013D

Обнаружение и анализ ошибок

Программное обеспечение CAN- bus осциллографа LeCroy позволяет не только обнаруживать ошибки, как было показано на рисунке 3 и 4, но анализировать типы обнаруженных ошибок. Так представляется возможным определять следующие типа ошибок:

  1. Ошибка формата (form error);
  2. Ошибка битстаффинга (stuff error)
  3. Ошибка контрольной суммы (CRC error)
  4. Ошибка на уровне бита(bit error)

Кадр, содержащий ошибку выделяется красным цветом, а тип обнаруженной ошибки индицируется в верхней части кадра. Так на рисунке 8 приведен пример ошибки контрольной суммы.

Пользовательский интерфейс анализатора шины CAN построен таким образом, что перемещение от зафиксированной ошибки к другой ошибке осуществляется нажатием всего на одну кнопку «Следующая ошибка», расположенную в поле управления растяжкой сообщения CAN, что существенно облегчает просмотр всей последовательности ошибок

Видео:Контролька на Arduino, с функциями осциллографа, поиска CAN шины, частотомера, вольтметра, прозвонкиСкачать

Контролька на Arduino, с функциями осциллографа, поиска CAN шины, частотомера, вольтметра, прозвонки

Измерения на шине CAN

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

  1. Измерение временного интервала между аналоговым сигналом (сигналом возмущения) и цифровым сообщением CAN (реакцией системы).
  2. Измерение времени между двумя заданными сообщениями CAN. В этом режиме задаются ID начального сообщения, данные начального сообщения (при необходимости, а так же условия совпадения для данных), ID конечного сообщения, данные конечного сообщения (при необходимости, а так же условия совпадения для данных). При обнаружении осциллографом двух сообщений соответствующих заданным условиям, происходит измерение временного интервала между ними. Здесь так же большое значение имеет длинна внутренней памяти. Поскольку измерение одиночного временного интервала производится в пределах одного экрана, то для сбора максимального числа сообщений CAN, содержащих, в том числе, сообщения, удовлетворяющие заданным условиям, необходима как можно более длинная память.
  3. Преобразование данных содержащихся в сообщении CAN в числовое значение с использованием ранжирования и единиц измерения.
  4. Измерение длительности сообщения передаваемого по шине CAN с заданным ID и условиями совпадения для данных.
  5. Расчет нагрузки сообщений CAN в %. Определяется как отношение длительности всех сообщений CAN, с заданным ID и условиями совпадения для данных к времени сбора информации.

Так на рисунке 9 приведен пример сигнала CAN и одновременного измерения (слева направо):

  • длительности между сообщениями с x7 c2 и с x7 b2;
  • длительности сообщения с x7 c2;
  • преобразование данных сообщения с x7 c2 в значение скорости;
  • расчет загрузки сообщения с x7 c2

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

Автор: Дедюхин А.А.
Дата публикации: 01.09.2005

У нас представлены товары лучших производителей

ПРИСТ предлагает оптимальные решения измерительных задач.

У нас вы можете купить осциллограф, источник питания, генератор сигналов, анализатор спектра, калибратор, мультиметр, токовые клещи, поверить средства измерения или откалибровать их. Также мы поставляем паяльно-ремонтное оборудование, антистатический инструмент, промышленную мебель. Мы имеем прямые контракты с крупнейшими мировыми производителями измерительного оборудования, благодаря этому можем подобрать то оборудование, которое решит Ваши задачи. Имея большой опыт, мы можем рекомендовать продукцию следующих торговых марок:

Видео:Логический LIN пробник, цифровой тестер лин, к лайн шины автомобиля. На Ардуино, OLED I2C, TJA 1020Скачать

Логический LIN пробник, цифровой тестер лин, к лайн шины автомобиля. На Ардуино, OLED  I2C, TJA 1020

Еще раз о диагностике CAN-шины

Осциллограф с анализатором can шины

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

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

Конструктивно шина представляет собой неэкранированную витую пару. Провода шины называются CAN High и CAN Low.

Шина может находиться в двух состояниях:

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

Рассмотрим форму сигнала шины, чтобы обосновать ее помехоустойчивость:

Осциллограф с анализатором can шины

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

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

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

Сигнал шины поступает в блок управления на дифференциальный усилитель и обрабатывается. Иллюстрация поясняет процесс обработки:

Осциллограф с анализатором can шины

Большинство автопроизводителей придерживаются скорости передачи 500 кБд, соответственно, продолжительность одного бита при этом составит 2 мкс.

Поговорим о топологии CAN-шины. Физически у шины нет начала и нет конца, шина – это просто единая сеть. Чаще всего встречаются два типа топологии: линейная топология и топология «пассивная звезда», а также их сочетания.

Осциллограф с анализатором can шины

Осциллограф с анализатором can шины

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

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

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

Ну что ж, мы немного освежили в памяти теорию шины, теперь самое время перейти к практике.

Перед нами автомобиль Infinitit Q 50 , оснащенный весьма редким турбированным мотором VR 30 DDT объемом 3 . 0 л и мощностью 400 лошадиных сил. Но проблема заключается не в этом замечательном агрегате, а как раз в CAN-шине: подключив диагностический сканер, не удается установить связь с доброй половиной блоков управления.

Нам повезло – Nissan относится к тому узкому кругу производителей, которые дают диагностам качественную и полноценную информацию. В том числе есть в документации и подробная топология бортовой шины обмена данными. Открываем, смотрим:

Осциллограф с анализатором can шины

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

Итак, первое, что нужно увидеть, это то, что вся сеть разделена на три большие ветви, обведенные пунктиром:

  • CAN communication circuit 1 (Коммуникационная цепь CAN 1 );
  • CAN communication circuit 2 (Коммуникационная цепь CAN 2 );
  • Chassis communication circuit (Коммуникационная цепь шасси).

Первые две цепи связаны между собой посредством CAN gateway (найдите его на иллюстрации). Цепь шасси связана с цепью CAN 2 через блок управления шасси, который также играет роль своеобразного Gateway.

А теперь вновь обратимся к сканеру и посмотрим, какие из блоков управления не выходят на связь. Дилерский сканер предоставляет нам очень удобную функцию: на экран выводятся блоки каждой из цепей по отдельности, а цветом отображается возможность (зеленый) либо невозможность (красный) установить с ними связь. Вот блоки цепи CAN 1 :

Осциллограф с анализатором can шины

А это – блоки цепи CAN 2 . Как видно, связи с ними попросту нет:

Осциллограф с анализатором can шины

Также нет связи с блоками цепи шасси, но это и понятно: эта цепь, согласно блок-схеме, подключена к цепи CAN 2 .

Ну что ж, задача почти решена, осталось лишь локализовать неисправность. А для этого воспользуемся мотортестером и снимем осциллограмму на проводах шины сначала в CAN 1 , а затем в CAN 2 и сравним их.

Сделать это очень несложно, ведь обе шины выведены прямо на диагностический разъем. Согласно более подробной схеме, о которой упоминалось выше, на контакты диагностической колодки 6 и 14 выведены провода CAN 1 , а на контакты 12 и 13 – провода CAN 2 .

Снимаем осциллограмму в цепи CAN 1 . Она имеет прямо-таки академический вид:

Осциллограф с анализатором can шины

Давайте обмерим ее с помощью линеек.

  • На проводе CAN High в рецессивном состоянии потенциал составил 2 , 26 В, на проводе CAN Low – 2 , 25 В.
  • На проводе CAN High в доминантном состоянии потенциал составил 3 , 58 В, на проводе CAN Low – 1 , 41 В.
  • Ширина импульса, соответствующего одной единице передаваемой информации, составляет 2 мкс (обведено красным прямоугольником).

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

А теперь делаем ту же операцию на контактах диагностической колодки 12 и 13 , чтобы получить осциллограмму сигнала CAN 2 . Вот она:

Осциллограф с анализатором can шины

Для наглядности масштаб осциллограмм на обеих иллюстрациях один и тот же.

То, что вы видите на этой осциллограмме, называется «мусор». Часто диагносты так и говорят: блок мусорит в шину. Вот только как найти блок, который это делает? Методика здесь очень проста и сводится она к поочередному отключению блоков и повторному наблюдению за сигналом шины.

Где именно находится тот или иной блок на автомобиле, в документации, как правило, показано. Например, на этом «финике» блоки расположены так:

Осциллограф с анализатором can шины

Но в нашем случае все проще. Кстати, маленький лайфхак, возьмите на заметку. В автомобилях Nissan и Infiniti чаще всего причиной наличия мусора в CAN-шине является блок ABS. Сняв разъем с блока, сразу получаем нормальный обмен и связь сканера со всеми блоками ветви CAN 2 :

Осциллограф с анализатором can шины

Обратите внимание на то, что связь в цепи CAN 2 есть со всеми блоками, кроме блока ABS, ведь он отключен.

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

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

Осциллограф с анализатором can шины

Красным прямоугольником обведено время, в которое укладывается одно деление сетки. Оно составляет 0 , 2 мс. А на осциллограмме, которую мы рассматривали ранее, это время было равно 5 мкс, поэтому отображение импульсов было более правильным. Имейте это ввиду и не допускайте ошибок!


🌟 Видео

Экспресс диагностика CAN шины на автомобиле. №21Скачать

Экспресс диагностика CAN шины на автомобиле. №21

Шина данных i2c - декодируем/синхронизируем с помощью осциллографа Lecroy!Скачать

Шина данных i2c - декодируем/синхронизируем   с помощью осциллографа Lecroy!

Логический анализатор с Алиэкспресс, клон Saleae LogicСкачать

Логический анализатор с Алиэкспресс, клон Saleae Logic

Поиск неисправности в шине CAN мультиметром. Suzuki Grand Vitara. U1073, P1674, B1553.Скачать

Поиск неисправности в шине CAN мультиметром. Suzuki Grand Vitara. U1073, P1674, B1553.

Как проверить CAN шину Используем симулятор ElectudeСкачать

Как проверить CAN шину  Используем симулятор Electude

Проверка исправности CAN шиныСкачать

Проверка исправности CAN шины

Логический анализатор шины i2cСкачать

Логический анализатор шины i2c

FNIRSI 2C23T CAN шина ДПКВ Осциллограф МультиметрСкачать

FNIRSI 2C23T CAN шина  ДПКВ  Осциллограф Мультиметр

Volvo XC60 2.0 T5 2015 - Проблемы по CAN шинеСкачать

Volvo XC60 2.0 T5 2015 - Проблемы по CAN шине

поиск нерабочей can шины, часть дваСкачать

поиск нерабочей can шины, часть два

Можно ли с помощью MT Pro 4.1 просматривать сигналы CAN шины.Скачать

Можно ли с помощью MT Pro 4.1 просматривать сигналы CAN шины.

Супер контролька я в восторге!!!Скачать

Супер контролька я в восторге!!!

Осциллограф Fnirsi Кратки обзор Кан шинаСкачать

Осциллограф Fnirsi Кратки обзор Кан шина

Работа с логическим анализатором цифровой шины данныхСкачать

Работа с логическим анализатором цифровой шины данных

Простая проверка CAN шины. Сканер не видит автомобиль через OBD2. Как правильно выбрать изоленту.Скачать

Простая проверка CAN шины. Сканер не видит автомобиль через OBD2. Как правильно выбрать изоленту.
Поделиться или сохранить к себе:
Технарь знаток