Метрологическая служба ПриСТ предлагает:

Москва: +7 495 777-55-91
Санкт-Петербург: +7 812 677-75-08
Екатеринбург: +7 343 317-39-99

ИНФОРМАЦИЯ » Статьи, публикации, обзоры » Анализ и измерения в шине CAN с использованием цифровых осци...

 
Анализ и измерения в шине CAN с использованием цифровых осциллографов LeCroy

Автор / источник:

Дедюхин А.А.


Издавалась:

Журнал «Электронные компоненты» № 9 2005 г.


Разделы статьи:

Декодирование сообщения CAN
Синхронизация CAN
Обнаружение и анализ ошибок
Измерения на шине CAN


Цены / каталог / заказ:

Осциллографы цифровые фирмы LeCroy...


Анализ и измерения в шине CAN с использованием цифровых осциллографов LeCroy
 

Анализ и измерения в шине CAN
с использованием цифровых осциллографов LeCroy

А.А. Дедюхин

Применение устройств на основе протокола передачи 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, а именно:

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

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

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

Рисунок 2

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

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

Рисунок 3

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

Рисунок 4

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

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

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

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

Рисунок 5

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

Рисунок 6

Рисунок 7

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

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

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

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

Рисунок 8

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

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

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

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

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

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

Рисунок 8

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

Отсутствие ошибок и опечаток не гарантируется. Технические характеристики средств измерений неутвержденного типа могут быть изменены без предупреждения.
На нашем сайте работает система коррекции ошибок Orphus. Обнаружив неточность в тексте, выделите ее и нажмите Ctrl+Enter. Сообщение об ошибке будет получено администратором сайта. Спасибо за помощь!