Асинхронная природа многих последовательных интерфейсов порождает проблемы захвата и декодирования сигналов. И хотя анализаторы протокола отлично справляются с поиском функциональных проблем и ошибок синхронизации последовательных шин, осциллографы, помимо этого, позволяют выявлять источники шумов, захватывать переходные процессы, проводить тесты на соответствие спецификациям физического уровня и измерять мощность. Благодаря встроенной функции запуска по сигналам и декодирования данных последовательных шин, осциллографы становятся мощными универсальными приборами для разработчиков встраиваемых систем.
Захват и декодирование
До того как декодеры данных последовательных шин стали встраивать в осциллографы, инженеры были вынуждены декодировать последовательные кадры вручную. Это требовало глубокого понимания протокола последовательной шины и некоторой «удачи» в попытке захватить нужный кадр. На рисунке 1 показан захваченный осциллографом кадр шины I2C с линией тактовой частоты (SCL) в канале 1 и линией данных (SDA) в канале 2.
Для ручного декодирования этой информации необходимо использовать следующую процедуру.
- Захватить один кадр осциллографом.
- Сделать снимок экрана.
- Открыть его на компьютере и добавить вертикальные линии вдоль каждого положительного перепада тактовой частоты.
- Записать уровень сигнала SDA (1 или 0), соответствующий каждому положительному перепаду сигнала SCL.
В соответствии со спецификацией I2C преобразовать двоичные значения в шестнадцатеричные. Подсчитывая перепады тактовой частоты и зная, что протокол I2C использует стартовый импульс, 7 бит адреса, бит подтверждения, 8 бит данных, ещё один бит подтверждения и, наконец, стоповый бит, можно рассчитать шестнадцатеричные значения. В данном случае этот записанный кадр содержит адрес 0´29 и данные 0´04.
Этот метод, конечно, имеет право на существование, но он отнимает много времени и вполне может оказаться, что это вовсе не тот кадр, который был нужен. Если инженеру придётся декодировать вручную несколько последовательных кадров, то затраты времени могут стать неприемлемыми. Вот тут-то и становятся очевидными преимущества встроенного в осциллограф декодера последовательных данных. На рисунке 2 показана работа встроенного в осциллограф декодера данных шины I2C.
Кроме того, использована функция запуска по сигналам последовательной шины для быстрого поиска нужного пакета данных. Декодированный кадр показан синим цветом в нижней части экрана осциллографа, а вверху виден оранжевый указатель точки запуска. Инженеры могут пользоваться этой функцией для быстрого поиска интересующих их данных, не вдаваясь в подробности спецификаций последовательной шины.
Захват непериодических сигналов последовательной шины
Предположим, что схема состоит из нескольких ИС (интегральных схем), которые взаимодействуют с контроллером через шину I2C, и необходимо увидеть все данные, которые записываются в определённую ИС. Это делается очень легко путём настройки запуска по адресу записи этой ИС. В результате осциллограф будет запускаться при каждом появлении этого адреса на шине, но получить общее представление о передаваемых данных по одной осциллограмме будет по-прежнему нелегко. Вот здесь-то и приходит на помощь сегментированная память. В режиме сегментированной памяти осциллограф ждёт появления заданных условий запуска, сохраняет осциллограмму в памяти, снабжает её меткой времени, снова производит запуск и ожидает следующего появления заданных условий. На рисунке 3 осциллограф настроен на запуск по каждой записи данных в ИС с шестнадцатеричным адресом 64, при этом включён режим сегментированной памяти с настройкой захвата 1000 сегментов.
С помощью этого инструмента инженер может увидеть, какие данные записывались в данную ИС, как часто они записывались, и изучить форму сигнала каждого кадра. Если один или несколько кадров содержат некорректные данные, инженер может выбрать этот кадр из списка и проверить целостность физического сигнала. Ошибка может порождаться шумом или переходными процессами.
Локализация наведённых помех
Случайные помехи, наведённые на последовательную шину, могут порождать ошибки или вызывать сброс встроенного процессора. Используя традиционные методы запуска осциллографа, обнаружить их очень трудно. Наличие цифрового последовательного сигнала, который уже сам по себе содержит непериодические события, дополнительно усложняет запуск по ещё более редким случайным помехам. Один из способов обнаружения помехи заключается в установке бесконечного послесвечения развёртки сигнала. В режиме бесконечного послесвечения осциллограф не очищает экран между последовательными захватами сигнала. Новые сигналы продолжают накладываться на экране поверх старых. Использование запуска по последовательному сигналу для отображения всех переданных кадров и режима постоянного послесвечения создаст изображение, в котором все битовые позиции окажутся заполненными. При появлении помехи, её будет сразу видно: она выбивается из общей картины.
Обнаружив помеху, следует настроить запуск по ней. Как уже говорилось, осуществить это традиционными методами может оказаться весьма непросто. С появлением осциллографов с сенсорным экраном появились и новые методы запуска. С помощью функции запуска по выделенной области (Zone Trigger) помехи и переходные процессы захватываются очень легко. На рисунке 4 показан сигнал шины USB с непериодической помехой.
Чтобы настроить запуск по этой помехе нужно всего лишь нарисовать на сенсорном экране рамку и выбрать режим Zone 1 Must Intersect (пересечение зоны 1). Осциллограф запускается уже по началу кадра USB. Включение запуска по выделенной области говорит осциллографу, что он должен запускаться, только когда увидит начало кадра USB и сигнал внутри обозначенной зоны. Эта ситуация показана на рисунке 5.
После успешного запуска по наведённой помехе можно выполнить необходимые измерения и установить источник её происхождения.
Поиск источника шума
А что если отлаживаемая последовательная шина не подвержена влиянию помех, а вместо этого на ней присутствует постоянный наведённый шум? Чтобы выявить источник этого шума нужно использовать иной подход, поскольку по шуму запускаться нельзя. В этом случае пригодится встроенная в осциллограф функция быстрого преобразования Фурье (БПФ). БПФ преобразует сигналы из временно¢й области в частотную. Это позволяет увидеть частотные составляющие наведённого шума. На рисунке 6 показан сигнал USB с наведённым шумом.
Уже по этому изображению начала кадра USB можно увидеть, что здесь присутствует шум с амплитудой около 150 мВпик-пик. Чтобы выявить источник этого шума можно использовать функцию БПФ и пиковые маркеры. При первом включении БПФ не наблюдается частотной составляющей, которую можно было бы назвать шумом. Это значит, что частота шума значительно ниже частоты сигнала USB.
Чтобы найти основную частотную составляющую, необходимо уменьшить скорость развёртки до 10 мс на деление. В этом режиме БПФ может обнаруживать низкие частоты. На рисунке 7 видно, что частота шума примерно равна 61 Гц. Это шум, наведённый на сигнал USB от сети переменного тока.
Другим распространённым источником шума для последовательных шин встраиваемых систем является сигнал тактового генератора, частота которого лежит в мегагерцовом диапазоне. На рисунке 8 показано БПФ сигнала USB с шумом, наведённым от тактового сигнала 16 МГц. Устройства Интернета вещей со встроенным адаптером беспроводной сети могут подвергаться воздействию шумов, создаваемых радиостанциями.
На рисунке 9 показан сигнал USB с пиком спектра на частоте 2,4 ГГц – это типичная частота беспроводной сети.
Заключение
Инженеры, занятые разработкой встраиваемых систем, вынуждены создавать недорогие энергоэффективные устройства малого размера. Это вызывает острую потребность в мощных средствах измерения и отладки. Для этого отлично подходят современные цифровые осциллографы со встроенной функцией декодирования данных последовательных шин. С появлением встроенных функций декодирования ручное декодирование отдельных кадров кануло в Лету. Расширенные режимы запуска по сигналам последовательных шин позволяют легко захватывать интересующие кадры. Режим сегментированной памяти можно использовать вместе с декодированием данных последовательных шин для захвата конкретной передаваемой информации в течение длительных периодов времени. Новые методы запуска, ставшие возможными с появлением сенсорных экранов, существенно упрощают локализацию непериодических помех. И, наконец, источники шума можно идентифицировать с помощью функции БПФ. Обзаведясь современным осциллографом, инженеры, занятые разработкой встраиваемых устройств, получают полный набор инструментов для отладки.
Если вам понравился материал, кликните значок - вы поможете нам узнать, каким статьям и новостям следует отдавать предпочтение. Если вы хотите обсудить материал - не стесняйтесь оставлять свои комментарии : возможно, они будут полезны другим нашим читателям!