Тел.: (495) 781-4969, 344-6707, E-mail: eliks.mail@eliks.ru
ТОЧНОСТЬ ДЛЯ ПРОФЕССИОНАЛОВ
Читать журнал
"КИПиС"
Корзина 0 позиций
0,00 руб.
Поиск
Бренды
Информация
Журнал "Контрольно-измерительные приборы и системы"
Авторизация
Логин:
Пароль:
Забыли свой пароль?
Зарегистрироваться

Отладка низкоскоростных последовательных шин при проектировании встроенных систем

Содержание

Введение

Без преувеличения можно сказать, что встроенные системы в настоящее время используются везде. Простой пример встроенной системы – специальная компьютерная система, входящая в состав более крупной системы, предназначенная для мониторинга и контроля служб этой системы. Типовые встроенные системы после своего включения запускают специальные приложения, а после отключения – закрывают эти приложения. В сущности, все электронные устройства, которые проектируются и производятся в настоящее время, можно назвать встроенными системами. Краткий список примеров встроенных систем:
– Будильники
– Автоответчики
– Мобильные телефоны
– Принтеры
– Контроллеры противоблокировочных тормозных систем
– Печи СВЧ
– Системы инерциального наведения ракет
– Проигрыватели DVD
– Карманные компьютеры (PDA)
– Программируемые логические контроллеры (PLC) для автоматизации и контроля промышленного производства
– Портативные музыкальные проигрыватели
– Возможно, даже тостеры...

Встроенные системы могут содержать различные устройства, включая микропроцессоры, микроконтроллеры, ЦОС, ОЗУ, память EPROM, программируемые вентильные матрицы (FPGA), ЦАП, АЦП и схемы входа/выхода. Эти различные устройства, как правило, обмениваются данными друг с другом и с внешними устройствами по параллельным шинам. Однако в настоящее время все больше стандартных блоков, используемых во встроенных системах, заменяются блоками с последовательными шинами. Это обусловлено следующими причинами:
– Для передачи меньшего количества сигналов требуется меньше пространства
– Низкие затраты
– Низкое энергопотребление
– Меньше контактов
– Встроенные тактовые генераторы
– Разностные сигналы обеспечивают большую помехозащищенность
– Доступность компонентов со стандартными последовательными интерфейсами

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

Параллельная передача против последовательной

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


Рис. 1. Регистрация логическим анализатором линий синхросигнала, адресных линий, линий данных и управления микроконтроллера.

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

Даже для самых простых стандартных последовательных интерфейсов, например, I2C, гораздо сложней следить за тем, что передается по шине, по сравнению с параллельными протоколами.

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


Рис. 2. Одно сообщение, зарегистрированное в шине CANbus.


Рис. 3. Одно сообщение, зарегистрированное в шине I2C.


Рис. 4. Структура сообщения I2C.

Если это не нужное сообщение, то придется начинать сначала утомительный и подверженный ошибкам процесс. Было бы хорошо выполнить запуск по содержимому сообщения, которое требуется найти, но запуск по состоянию и по комбинации, который использовался много лет в осциллографах и логических анализаторах, в данном случае использовать нельзя. Они предназначены для поиска комбинации, встречающейся одновременно в нескольких каналах. Для последовательных шин обработчики запуска должны поддерживать десятки тысяч состояний (одно состояние на бит). Даже при наличии такой функции запуска, программирование состояний для каждого представляет довольно сложный процесс. Имеется лучший способ! Такой способ предоставляют осциллографы серии DPO4000. В следующих разделах описано, как можно использовать осциллографы серии DPO4000 с некоторыми наиболее распространенными низкоскоростными последовательными шинами, применяемыми в проектировании встроенных систем.

Шина I²C

Исходные данные

I²C или “I квадрат C” – шина связи IC. Эта шина была разработана в начале 1980х компанией Philips и предназначалась для предоставления недорогого способа подключения контроллеров к периферийным микросхемам в телевизорах, а затем была принята в качестве мирового стандарта для обмена данных между устройствами во встроенных системах. Простая двухпроводная конструкция нашла применение в различных микросхемах, таких как микросхемы ввода/вывода, АПЦ, ЦАП, датчиках температуры, микроконтроллерах и микропроцессорах различных ведущих производителей, включая: Analog Devices, Atmel, Infineon, Cyprus, Intel, Maxim, Philips, Silicon Laboratories, ST Microelectronics, Texas Instruments, Xicor и др.

Принцип работы

Физически шина I²C представляет собой двухпроводный интерфейс с двунаправленными линиями последовательной синхронизации (SCL) и линии передачи данных (SDA). Шина I²C поддерживает несколько ведомых и ведущих устройств, но одновременно может быть активно только одно ведущее устройство. Любое устройство I²C можно подключить к шине и осуществлять обмен данными с ведущим устройством. Все устройства распознаются по уникальному адресу и могут использоваться в качестве передатчика или приемника, в зависимости от их функций. Изначально в шине I²C использовались 7разрядные адреса, сейчас – 10разрядные. Поддерживается три скорости передачи битов: 100 кбит/с (стандартный режим), 400 кбит/с (быстрый режим) и 3,4 Мбит/с (быстродействующий режим). Максимальное количество подключаемых устройств определяется максимальной емкостью 400 пФ или примерно 2030 устройств. Стандарт I²C определяет следующий формат, представленный на рис. 4:
– Start (Старт) – указывает, что управление шиной передано устройству и будет передано сообщение
– Address (Адрес) – 7- или 10-разрядный номер, соответствующий адресу устройства, с которого будут считываться данные или на которое будут записываться данные.
– R/W Bit (Бит чтения/записи) – один бит, указывающий, что данные будут считываться с одного устройства или записываться в другое устройство
– Ack (Подтверждение) – один бит с ведомого устройства с подтверждением действия ведущего устройства. Как правило, подтверждение требуется для каждого адреса и байта данных, но не всегда.
– Data (Данные) – целое число байт, считываемых или записываемых устройством.
– Stop (Стоп) – указывает на завершение сообщения, ведущее устройство освобождает шину.


Рис. 5. Меню настройки шины I2C.


Рис. 6. Пример шины I²C.

Работа с шиной I²C

Благодаря модулю последовательного запуска DPO4EMBD и приложению анализа, осциллографы серии DPO4000 представляют собой эффективный инструмент для разработчиков встроенных систем с шинами I²C. На передней панели имеются две кнопки шины (В1 и В2), позволяющие пользователям определить входы осциллографа в качестве шины. На рис. 5 показано меню настройки шины I²C. Определяя, какие каналы синхросигналов и данных включены, а также пороги определения логической 1 и 0, можно использовать осциллограф для анализа протокола передачи.

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

В качестве примера рассмотрим встроенную систему, представленную на рис. 6. Шина I²C подключена к нескольким устройствам, включая CPU (ЦПУ), память EEPROM, контроллер скорости вентилятора, DAC (ЦАП) и пару датчиков температуры.

Инструмент вернули на доработку и анализ неисправностей, так как он постоянно грелся и самопроизвольно отключался. Первое, что необходимо проверить, – контроллер вентилятора и сам вентилятор, но они работают нормально. Далее нужно проверить датчик температуры. Контроллер скорости вентилятора периодически опрашивает два датчика температуры (расположенные в различных зонах инструмента) и регулирует скорость вентилятора для поддержания температуры внутри инструмента. Имеется подозрение, что один или оба датчика температуры работают с ошибкой. Чтобы просмотреть взаимодействие между датчиками и контроллером скорости, необходимо подключиться к линиям синхронизации и данных шины I²C и выполнить настройку шины на осциллографе DPO4000. Известно, что адреса датчиков в шине I²C – 18 и 19, поэтому настройка события запуска выполняется по записи в адрес 18 (контроллер скорости вентилятора запрашивает датчик о текущей температуре). На рис. 7 представлена зарегистрированная осциллограмма с запуском.

В этом случае канал 1 (желтый) подключен к SCLK, канал 2 (голубой) – к SDA. Фиолетовая осциллограмма соответствует шине I²C, настроенной с помощью ввода на осциллографе нескольких параметров. В верхней части дисплея показана вся зарегистрированная осциллограмма. В этом случае было зафиксировано, что после длительного ожидания в шине возник всплеск активности в середине участка, этот участок был затем увеличен. В нижней большой части экрана представлено окно увеличения. Можно заметить, что осциллограф декодировал содержимое всех сообщений, передаваемых по шине. В осциллографах серии DPO4000 для выделения важных участков сообщения используется выделение цветом или маркеры.

Рассматривая зарегистрированные осциллограммы, можно заметить, что осциллограф на самом деле выполнил запуск при записи по адресу 18 (см. левый нижний угол дисплея). Фактически контроллер скорости вентилятора пытается выполнить запись по адресу 18 два раза, но в обоих случаях не получает подтверждение приема. Затем выполнена проверка датчика температуры по адресу 19. Почему первый датчик температуры не отвечает на вызов контроллера вентилятора? Посмотрев на плату, можно обнаружить, что одна из адресных линий плохо припаяна. Датчик температуры не может обмениваться данными по шине, в результате устройство перегревается. Благодаря функциональным возможностям осциллографов серии DPO4000 запуска по событию и декодированию данных в шине I²C, поиск трудно определимой проблемы был выполнен всего за несколько минут.


Рис. 7. Декодирование осциллограммы адресной линии и линии данных I²C.

Таблица 1. Условия в шине.

Условие в шине

Указано:

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

Адреса отмечены желтыми прямоугольниками с буквами [W] (запись) или [R] (чтение). Значения адресов могут отображаться в двоичной или шестнадцатеричной форме.

Данные представлены в голубых прямоугольниках. Значения данных могут быть представлены в двоичном или шестнадцатеричном формате.

Отсутствие подтверждения указано восклицательным знаком в красной рамке.

Остановки отмечены красными вертикальными полосами.

В примере на рис. 7 выполнялся запуск по записи, но функциональные возможности осциллографов серии DPO4000 включают и другие возможности по запуску при тестировании шины I²C.
– Старт – запуск, если значение SDA низкое, а значение SCL высокое
– Повторный старт – запуск, если условию запуска не предшествует остановка. Как правило, ведущее устройство отправляет несколько сообщений и только затем освобождает шину.
– Остановка – запуск, если значение SDA высокое и значение SCL высокое
– Отсутствие подтверждения – ведомые устройства часто конфигурируются для передачи подтверждения после приема каждого байта адреса или данных. Осциллограф может использовать запуск в случаях, если ведомые устройства не формируют бит подтверждения.
– Адрес – запуск по указанному пользователем адресу или по любому предварительно запрограммированному адресу, включая общий вызов, начальный байт, быстродействующий режим, память EEPROM или CBUS. Адресация использует 7 или 10 бит и вводится в двоичном или шестнадцатеричном формате.
– Данные – запуск по 12 байтам заданных пользователем значений данных, введенных в двоичном или шестнадцатеричном формате
– Адрес и данные – это позволяет вводить значения адресов и данных, а также чтение или запись для регистрации нужного события.

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

Шина SPI

Исходные данные

Шина последнего интерфейса (SPI) изначально разработана компанией Motorola в конце 1980х для микроконтроллеров серии 68000. Благодаря простоте и популярности шины, многие другие производители используют этот стандарт уже долгие годы. Сейчас в мире производится множество компонентов, которые используются в проектировании встроенных систем. Шина SPI вначале использовалась для обмена данными микроконтроллеров с периферийными устройствами. Обычно эта шина используется в мобильных телефонах, карманных компьютерах и других мобильных устройствах для связи между ЦПУ, клавиатурой, дисплеем и микросхемами памяти.

Принцип работы

Шина SPI (последовательный интерфейс) является собой 4-проводную последовательную шину обмена данных с ведущим и ведомым устройством. Четыре сигнала представляют собой синхрогенератор (SCLK), выход ведущего/вход ведомого (MOSI), вход ведущего/выход ведомого (MISO) и выбор ведомого устройства (SS). Когда два устройства обмениваются данными, одно из них является "ведущим", а другое "ведомым". Ведущие устройства генерируют последовательный синхросигнал. Данные одновременно передаются и принимаются, то есть протокол является полнодуплексным. Вместо использования уникальных адресов для каждого устройства, подключенного к шине, SPI использует линию SS для определения устройства, на которое передаются и с которого принимаются данные. В сущности, для каждого уникального устройства, подключенного к шине, требуется собственная линия SS от ведущего устройства. Если имеется 3 ведомых устройства, с ведущего устройства отходят 3 SS линии, по одной для каждого ведомого устройства (см. рис. 8).

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

Можно заметить, что "стандартной" реализации шины SPI не существует. В некоторых случаях, если обратная связь ведущего устройства с ведомым не требуется, сигнал MISO может вообще пропускаться.


Рис. 8. Общая конфигурация шины SPI.


Рис. 9. Шлейфовая конфигурация шины SPI.


Рис. 10. Меню настройки шины SPI.

При передаче данных в шине SPI, 8битное слово данных сдвигается сигналом MOSI, другое 8битное слово данных сдвигается сигналом MISO. Это видно при просмотре 16разрядного циклического регистра сдвига. Во время передачи 16разрядный регистр сдвига смещается на 8 позиций, таким образом выполняется обмен 8разрядными данными между ведущим и ведомым устройствами. Пара регистров, синхронизации полярности (CPOL) и синхронизации фазы (CPHA), определяют фронты синхросигнала, по которому передаются данные. Каждый регистр имеет два состояния, которые предоставляют четыре различные комбинации. Для обмена данных пара ведущее/ведомое устройство должна иметь одинаковые параметры. Если используется несколько ведомых устройств в различных конфигурациях, ведущее устройство должно самостоятельно переконфигурироваться при необходимости связи с различными ведомыми устройствами.

Работа с шиной SPI

Модуль последовательного запуска и анализа DPO4EMBD предоставляет подобные функции и для шины SPI. С помощью кнопок В1 и В2 на передней панели можно определить шину SPI простым вводом основных параметров шины, включая настройку включенных каналов SCLK, SS, MOSI и MISO, порогов и полярностей (см. рис. 10). В качестве примера рассмотрим встроенную систему, представленную на рис. 11.


Рис. 11. Синтезатор управляется по шине SPI.

Шина SPI подключена к синтезатору, DAC (ЦАП) и некоторым входам/выходам. Синтезатор подключается к VCO (ГУН), выдающему синхросигнал 2,5 ГГц для остальной системы. Синтезатор программируется процессором при запуске. Однако вследствие какойто неисправности ГУН выдает синхросигнал частотой 3 ГГц. Первый шаг в отладке этой проблемы заключается в проверке сигналов между CPU (ЦПУ) и синтезатором, чтобы убедиться в их нормальном прохождении, и что проблема не связана с физическим соединением. Далее следует просмотреть фактически передаваемую по шине SPI информацию для программирования синтезатора. В целях регистрации информации следует настроить осциллограф для запуска по сигналу синтезатора Slave Select (Выбор ведомого устройства) и подачи питания испытуемого устройства для регистрации начала команд программирования. Зарегистрированная осциллограмма показана на рис. 12.

Канал 1 (желтый) – SCLK, канал 2 (голубой) – MOSI и канал 3 (пурпурный) – SS. Для определения правильности программирования устройства следует посмотреть на таблицу синтезатора. Первые три сообщения в шине предназначены для инициализации синтезатора, загрузки коэффициента делителя и фиксации данных. В соответствии со спецификацией, последний полубайт (отдельный шестнадцатеричный символ) в первых трех сообщениях должен равняться 3, 0 и 1, соответственно, но в результатах измерений 0, 0 и 0. В этом случае становится ясно, что была сделана общая ошибка при программировании битов в каждом 24разрядном слове, связанная с обратным порядком их следования. После быстрого исправления программы осциллограмма и ГУП зарегистрирована на частоте 2,5 ГГц (см. рис. 13).

В примере выше использовался простой активный триггер SS. Функциональные возможности осциллографов серии DPO4000 по запуску в шине SPI включают следующие типы:
– SS Active – запуск, если ведомая линия выбора истинна для ведомого устройства.
– MOSI – запуск по заданным пользователем данным (до 16 байт), передаваемым от ведущего к ведомому устройству.
– MISO – запуск по заданным пользователем данным (до 16 байт), передаваемым от ведомого к ведущему устройству.
– MOSI/MISO – запуск по заданным пользователем данным (до 16 байт), передаваемым от ведущего к ведомому или от ведомого к ведущему устройству.

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


Рис. 12. Зарегистрированные ошибочные сообщения конфигурации синтезатора в шине SPI.


Рис. 13. Правильные сообщения о конфигурации синтезатора.


Рис. 14. Кадр шины CAN Data/Remote (Данные/Удалить).

Шина CAN

Исходные данные

Шина CAN изначально была разработана в 1980х компанией Robert Bosch GmbH как недорогая шина обмена данных между устройствами в окружении с повышенным уровнем помех. Впервые шину CAN в автомобильных системах стала использовать компания MercedesBenz в 1992 г. Сегодня почти все производители автомобилей используют контроллеры и сети CAN для управляющих устройств, например, для контроллеров двигателя стеклоочистителей, датчиков дождя, подушек безопасности, замков дверей, распредсистемы двигателя, противоблокировочной тормозной системы, управления трансмиссией и электроподъемников стекол. Благодаря допуску по электрическим помехам, минимальной проводки, отличным функциям по определению ошибок и высокой скорости передачи данных, шина CAN вскоре стала использоваться в других отраслях, например, в области промышленного контроля, морской, медицинской, аэрокосмической и др.

Принцип работы

Шина CAN является сбалансированным (разностным) 2проводным интерфейсом на экранированной витой паре (STP), неэкранированной витой паре (UTP) или на плоском кабеле. В каждом узле используется 9контактный Dразъем. Кодирование бита без возврата к нулю (NRZ) используется с заполнением битов для обеспечения компактности сообщений с минимальным количеством переходов и высокой помехоустойчивостью. Интерфейс CAN используется в схемах асинхронной передачи данных, в которой любой узел может передавать данные в любое время, когда шина не занята. Сообщения передаются на все узлы в сети. Если несколько узлов инициируют сообщения одновременно, для определения сообщения с более высоким приоритетом используется побитное разрешение конфликтов. Имеется четыре типа сообщений: кадр данных, кадр запроса на удаленную передачу (RTR), кадр ошибки и кадр перегрузки. Любой узел шины при определении ошибки передает кадр ошибки, по которому все узлы рассматривают текущее сообщение как неполное и передают сигнал на повторную отправку сообщения. Кадры перегрузки инициируются приемными устройствами и указывают, что устройства не готовы к приему данных. Кадры данных используются для передачи данных, удаленные кадры – для запроса данных. Удаленные кадры и кадры данных управляются стартовым и стоповым битами в начале и конце каждого кадра и включают следующие поля: поле разрешения конфликтов, поле управления, поле данных, поле контрольной суммы и поле подтверждения приема (см. рис. 14).
– SOF – Кадр начинается с бита начала кадра (SOF).
– Arbitration – Поле разрешения данных включает идентификатор (адрес) и бит запроса на удаленную передачу (RTR), используемый для различения между кадром данных и кадром с запросом данных, называемый удаленным кадром. Идентификатор может иметь стандартный формат (11 бит – версия 2.0А) или расширенный формат (29 бит – версия 2.0В).
– Control – Поле управления состоит из шести битов, включая бит расширения идентификатора (IDE), который используется для различения стандартного кадра CAN 2.0A (идентификатор 11 бит) и расширенного кадра CAN 2.0B (идентификатор 29 бит). Поле управления также включает код длины данных (DLC). DLC представляет собой четырехбитную индикацию количества байтов в поле данных кадра данных или количество байтов, запрашиваемых в удаленном кадре.
– Data – Поле данных состоит из 08 байт данных.
– CRC – 15битный код циклического избыточного контроля и один бит рецессивного разделителя.
– ACK – Поле подтверждения длиной 2 бита. Первый бит – тактовый, передается как рецессивный, затем перезаписывается основными битами, переданными из любого узла, успешно принявшего переданное сообщение. Второй бит – рецессивный разделитель.
– EOF – Семь рецессивных бит, указывающих конец кадра (EOF).
Поле прерывания (INT) состоит из 3 рецессивных бит, указывающих, что шина свободна. Время ожидания шины может быть произвольной длины, включая ноль. Скорость передачи данных – от 5 кбит/с до 1 Мбит/с. Все модули должны поддерживать по меньшей мере скорость передачи 20 кбит/с. Длина кабеля зависит от скорости передачи данных. Как правило, все устройства в системе передают информацию с одной фиксированной скоростью. Максимальная длина линии для низких скоростей передачи данных может составлять тысячи метров. Для скорости 1 Мбит/с, как правило, используются кабели длиной 40 метров. На концах кабеля устанавливаются согласующие резисторы.


Рис. 15. Меню настройки шины CAN.

Работа с шиной CAN

Модуль последовательного запуска и анализа DPO4AUTO позволяет использовать эти функции для шины CAN. С помощью кнопок В1 и В2 на передней панели можно определить шину CAN простым вводом основных параметров шины, включая тип тестируемого сигнала в шине CAN и выбор канала, битовую скорость передачи, пороги и элемент выборки (в виде % от времени прохождения бита) (см. рис. 15). Представим, что требуется выполнить измерение синхронизации, связанной с задержкой между нажатием водителем кнопки опускания окна в двери пассажира и временем выдачи модулем CAN соответствующей команды в двери пассажира, а также времени фактического начала перемещения окна в двери пассажира. Определив идентификатор модуля CAN в двери водителя, а также данные, связанные с командой "опускания окна", можно выполнить точный запуск по нужному кадру данных. Благодаря одновременному тестированию нажатия кнопки на двери водителя и двигателя стеклоподъемника в двери пассажира, измерение синхронизации становится исключительно простым (см. рис. 16).


Рис. 16. Запуск по определенному идентификатору и кадру данных в шине CAN, и декодирование всех сообщений в зарегистрированной осциллограмме.

Белые треугольники на рисунке соответствуют маркерам, установленным на осциллограмме в качестве опорных точек. Эти маркеры добавляются или удаляются с помощью кнопки Set/Clear Mark (Установить/Удалить маркер), расположенной на передней панели осциллографа. Кнопки Previous (Назад) и Next (Далее) на передней панели используются для перехода между маркерами, что облегчает просмотр нужных событий.

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

Функция запуска в шине CAN осциллографов серии DPO4000 включает следующие типы:
– Начало кадра – запуск по полю SOF.
– Тип кадра – можно выбрать кадр данных, удаленный кадр, кадр ошибки и кадр перегрузки.
– Идентификатор – запуск по 11- или 29-битному значению идентификатора с определением чтения / записи.
– Данные – запуск по 18 байтам заданных пользователем данных.
– Отсутствие подтверждения – запуск, если устройство не подтверждает прием.
– Конец кадра – запуск по полю EOF.

Такие типы запуска позволяют без усилий выделить практически все нужные события в шине CAN. Запуск – это только начало. Диагностика часто требует проверки содержимого сообщений до и после события запуска. Простой способ просмотра содержимого нескольких сообщений в зарегистрированной осциллограмме – использование таблицы событий осциллографов серии DPO4000 (см. рис. 17).

В таблице событий представлено декодированное содержание всех сообщений зарегистрированной осциллограммы с метками времени. Это позволяет не только легко просмотреть весь трафик в шине, но и выполнить измерения синхронизации между сообщениями. Таблицы событий доступны для шин I2C и SPI.


Рис. 17. Таблица событий для шины CAN.

Запуск против поиска

Ранее в данном документе уже обсуждалось, что для выделения нужного события в последовательной шине требуется система запуска. Но после регистрации данных их необходимо проанализировать, функция запуска уже не применяется. Было бы неплохо, если осциллограф имел аналогичные запуску функции для анализа зарегистрированной осциллограммы. Средство Wave Inspector осциллографов серии DPO4000 предоставляет такую возможность благодаря эффективной функции поиска. Все функции запуска, описанные в данном документе, можно применять в качестве критерия поиска в зарегистрированной осциллограмме. Например, на рис. 18 осциллограф выполнил поиск в осциллограмме всех событий в шине CAN с определенным адресом и данными и установил маркеры (белые треугольники вверху экрана). Переход между маркерами выполняется с помощью кнопок Previous (Назад) и Next (Вперед), расположенных на передней панели.

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


Рис. 18. Поиск по определенному идентификатору и данным в зарегистрированной осциллограмме шины CAN.

Заключение

Несмотря на множество преимуществ при переходе от параллельных к последовательным шинам данных в проектировании встроенных систем, имеется также множество проблем. Традиционные инструменты измерения и тестирования не используют запуск по событиям, поэтому практически невозможно определить информацию, представленную аналоговым сигналом. Ручное декодирование в целях диагностики занимает много времени и сопряжено с ошибками. Осциллографы серии DPO4000 изменили представления об измерениях. Функции запуска, декодирования и поиска позволяют разработчикам эффективно решать проблемы, связанные с проектированием встроенных систем.


ЗагрузитьЧитать

Возврат к списку


Материалы по теме:

Энциклопедия измерений


При использовании материалов журнала «Контрольно-измерительные приборы и системы» ссылка на сайт www.kipis.ru обязательна.

Мы используем файлы 'cookie', чтобы обеспечить максимальное удобство пользователям.