Когда осциллограф бессилен: 5 задач для логического анализатора
Представьте себе ситуацию. Вы подключили осциллограф к интерфейсной шине I2C. Импульсы есть, фронты чёткие, амплитуда соответствует техническим требованиям, но оконечное устройство всё равно не отвечает. В чём причина?
Осциллограф не поможет вам дать ответ на этот вопрос. Этот прибор показывает изменение формы и амплитуды напряжения во временной области, отображаемое в виде временной диаграммы. Она называется осциллограммой. Кроме того, с помощью осциллоскопа можно получить сведения о частотных характеристиках сигналов.
Для анализа данных существуют другие измерители, называемые логическими анализаторами. Они способны декодировать протоколы и отображать содержание передаваемой по десяткам цифровых каналов информации в виде, удобном для восприятия человеком. Рассмотрим возможность и целесообразность использования перечисленных выше измерителей на примере решения нескольких типовых задач.
Время чтения: 15 минут
Представьте себе ситуацию. Вы подключили осциллограф к интерфейсной шине I2C. Импульсы есть, фронты чёткие, амплитуда соответствует техническим требованиям, но оконечное устройство всё равно не отвечает. В чём причина?
Осциллограф не поможет вам дать ответ на этот вопрос. Этот прибор показывает изменение формы и амплитуды напряжения во временной области, отображаемое в виде временной диаграммы. Она называется осциллограммой. Кроме того, с помощью осциллоскопа можно получить сведения о частотных характеристиках сигналов.
Для анализа данных существуют другие измерители, называемые логическими анализаторами. Они способны декодировать протоколы и отображать содержание передаваемой по десяткам цифровых каналов информации в виде, удобном для восприятия человеком. Рассмотрим возможность и целесообразность использования перечисленных выше измерителей на примере решения нескольких типовых задач.
Анализатор или осциллограф?
Тем читателям, которые не совсем понимают, что показывает логический анализатор, я рекомендовал бы ознакомиться с нашим материалом «Логический анализатор: что это такое и зачем он нужен».
Вернёмся к ситуации, описанной в начале статьи. Образно выражаясь, применять осциллограф для анализа работы шины I2C — это всё равно, что смотреть на текст через лупу с большим увеличением. Вы можете видеть каждую букву в мельчайших деталях, но не в состоянии уяснить смысл прочитанного, потому что читаете по буквам. Тестер протоколов позволяет читать текст нулей и единиц, понимая смысл прочитанного и не задумываясь о деталях написания букв.
Осциллоскоп и цифровой измеритель не конкурируют друг с другом. Просто они предназначены для решения разных тестовых задач.
Особое место среди приборов для исследования процессов, происходящих в электронных схемах и системах связи, занимают анализаторы спектра. «Зачем нужен анализатор спектра?» — спросит неискушённый в радиотехнике человек. Такие аппараты позволяют наблюдать сигналы и паразитные гармоники в частотной области путём изучения спектрограмм.
Задача 1. Декодирование протоколов
Каждый специалист, работающий с цифровыми устройствами на основе процессоров и контроллеров, сталкивается с необходимостью декодирования команд, передаваемых по шинам обмена данными. Если к шинам I2C, SPI, UART, CAN, 1-Wire, I2S, JTAG, SWD подключить осциллоскоп, то кроме наличия импульсов заданной формы, амплитуды и скважности, ничего обнаружить не удастся. Чтобы понять, что именно передаётся, какая команда, на какой адрес — придётся считать биты вручную и смотреть даташит. Для максимальной скорости обмена данными по интерфейсу I2C в 400 кГц и пакетах объёмом десятки байт это займёт массу времени. Кроме того, ручной подсчёт не гарантирует безошибочный результат.
Сделать какие-то выводы о причинах некорректной работы устройства на основе такой информации не получится. Результатом передачи является отправка устройством-получателем сообщения устройству-отправителю, которым подтверждается или не подтверждается безошибочный приём сообщения. Для этого применяются сообщения ACK (Acknowledgement — подтверждение) или NACK (Negative Acknowledgement, также встречается как NAK — отрицательное подтверждение). Очевидно, что с помощью осциллоскопа получение этих данных невозможно.
И тут на выручку придёт цифровой измеритель протоколов. Этот прибор захватывает передаваемую последовательность, применяет декодер протокола и отображает на временной диаграмме адрес устройства, байты данных, бит, содержащий ответ ACK или NACK.
Кратко рассмотрим исследование работы протокола обмена данными I2C с помощью аппарата Saleae Logic 8 с установленной на него пробной версией программного обеспечения Saleae Logic 1.2.18.
При подготовке измерителя к работе в программе был включён декодер I2C. Анализ информации на шине SCL происходил в канале измерителя CH0, а на шине SDA в канале CH1. Выборка сигнала осуществлялась с частотой дискретизации 24 Мвыб/c.
Внешний вид окна настроек прибора показан на следующем фото.
Триггер измерений был установлен по фронту сигнала в канале CH0, как показано на фото внизу.
Почти сразу после запуска тестирования на экране тестера появился результат, представленный на следующем фото.
Расшифровка переданных данных сосредоточена в окне Decoded Protocols в правой нижней части экрана. При выборе оператором интересующей строки программа подсвечивает соответствующие области на временной диаграмме.
Рассмотрим другую ситуацию. На запрос микроконтроллера датчик, подключённый к нему по интерфейсу I2C, не отвечает. Просмотр данных, отображаемых цифровым прибором за интервал времени 30 секунд, показывает, что датчик реально отвечает на нужный адрес. При этом каждый второй байт данных оказывается неподтверждённым. Инженеру остаётся разобраться, где именно возникают проблемы: в микроконтроллере или датчике, и заменить дефектную радиодеталь.
Если вы работаете с шинами данных, цифровой измеритель с декодером для вас инструмент номер один. Без декодирования протоколов I2C, SPI, UART анализатором в таком деле точно не обойтись.
Задача 2. Длинные захваты и редкие события
Работа с длинными временными захватами данных для фиксации очень редких событий — специфический вид тестирования, который нельзя обеспечить с помощью осциллоскопа. Этот факт объясняется тем, что глубина буфера памяти этого прибора рассчитана на время захвата не более нескольких миллисекунд. В режиме одиночного запуска аппарат может зафиксировать лишь одно событие. Поэтому мониторинг процессов, происходящих в схеме на протяжении многих часов, с регистрацией всех событий с использованием осциллоскопа невозможен.
Каналы анализатора подключаются к контрольным точкам исследуемой схемы. Устройство захватывает и отправляет в память компьютера информацию о событиях до тех пор, пока не закончатся исследования или место на жёстком диске.
После завершения экспериментов можно изучить хронологию событий, обнаружить момент сбоя и просмотреть, что происходило за несколько десятков миллисекунд до него и после.
Рассмотрим практический пример. Испытываемое устройство «зависает» один раз в несколько часов. Измеритель записывает данные с шины в течение всего дня. После зависания инженер ищет в записи момент остановки тактирования. Он обнаруживает, что за несколько миллисекунд до «зависания» по интерфейсу SPI передаётся нестандартный пакет данных. Причина происходящего локализована.
Проблемы поиска причин эпизодических «глюков» в работе оборудования в условиях длительных захватов и редких событий не решаются с помощью осциллографа. Для этого нужен цифровой анализатор.
Задача 3. Многоканальный анализ
При отладке сложных цифровых устройств разработчику необходимо отслеживать несколько сигналов состояния одновременно. Наиболее употребительными являются следующие:
- CS (Chip Select — выбор кристалла).
- CLK (Clock — сигнал синхронизации).
- MOSI (Master Out Slave In — выход ведущего, вход ведомого) устройства.
- MISO (Master In, Slave Out — вход ведущего, выход ведомого) устройства.
- RESET — сброс.
- INT — состояние, относящееся к выводу, используемому для запуска прерывания.
Для такой отладки потребуется цифровой измеритель, поддерживающий как минимум 8 каналов, работающих одновременно. Существуют многоканальные осциллографы, которые поддерживают необходимое число цифровых каналов, но они не обеспечивают запуск по содержимому пакета. Для этого необходим специальный декодер.
Критерием запуска измерителя может быть появление на исследуемой шине конкретного байта. Например, байта, содержащего 0xFF в третьем байте пакета.
Цифровой прибор обладает уникальной возможностью обеспечивать синхронный многоканальный захват данных с запуском по содержимому пакетов.
Задача 4. Исследования спектра
Для исследования радиочастотного спектра применяются специальные измерители. Они не имеют ничего общего с цифровыми тестерами, но в контексте темы статьи эти устройства необходимо упомянуть.
Осциллограф не покажет вам паразитные составляющие гармонических сигналов, наличие продуктов интермодуляции, относительные уровни полезных сигналов и шумов в логарифмическом и линейном масштабе. Точнее, прибор покажет это, но колебания будут наложены друг на друга и понять, что вы видите на экране, будет невозможно.
Осциллоскоп показывает события во временной области, что позволяет понять, когда они происходят.
Спектрометр отображает события в спектральной области. Он показывает, на каких частотах эти процессы происходят и какова их спектральная плотность мощности.
Такие измерения необходимы в проектировании радиочастотной аппаратуры, оценке электромагнитной совместимости радиоэлектронных средств (ЭМС РЭС), настройке высокочастотных фильтров и схем подавления коммутационных помех в ключевых преобразователях источников питания DC-DC.
Спектрограф представляет собой дорогой прибор, предназначенный для решения узкоспециальных задач. Для сервиса, а также для создания и оптимизации программного обеспечения встроенных систем такой аппарат не нужен, но для инженеров связи знать о его существовании и возможностях будет полезно.
Задача 5. Измерение временных соотношений между сигналами
У каждого протокола обмена данными есть требования к временным соотношениям между setup time (временем установления), hold time (временем ожидания), минимальной длительностью CS (Chip Select). Эти соотношения называют таймингами. Нарушения таймингов не всегда видны на осциллограммах, но их присутствие вызывает появление эпизодических ошибок в работе цифровых устройств.
Цифровой аппарат измеряет временные соотношения с точностью до единиц наносекунд, в автоматическом режиме рассчитывает setup/hold time и сообщает о наличии ошибок.
Рассмотрим следующую ситуацию. Измеритель показывает, что кристалл деактивируется на 15 нс раньше последнего импульса синхронизации, что говорит о нарушении hold time. Организация программной задержки решает эту проблему.
Вывод. Тайминги иногда можно обнаружить с помощью осциллоскопа, но обрабатывать результаты тестов и искать ошибки приходится вручную. Цифровой аппарат выполняет эти тесты автоматически, быстро и безошибочно.
Чтобы читателю было проще уяснить, чем отличается логический анализатор от осциллографа и спектрометр, подготовлена следующая таблица:
| № | Задача | Осциллограф | Тестер протоколов (цифровой анализатор) | Спектрометр |
| 1 | Контроль амплитуды и формы сигналов во временной области | + | - | - |
| 2 | Декодирование протоколов обмена данными | - | + | - |
| 3 | Длительный мониторинг сигналов | - | + | - |
| 4 | Одновременный контроль работы нескольких цифровых каналов (от 8 до 16) | - | + | - |
| 5 | Старт измерений по содержимому пакета | частично | + | - |
| 6 | Измерение временных задержек между импульсами | вручную | автоматически | - |
| 7 | Анализ сигналов в спектральной области | - | - | + |
| 8 | Исследование загруженности радиочастотного спектра и ЭМС РЭС* | - | - | + |
| 9 | Измерение мощности излучения гетеродинов супергетеродинных приёмников в эквивалент антенны** | - | - | + |
| 10 | Отладка подавления гармоник в ключевых источниках питания DC-DC | - | - | + |
Примечания.
*Для исследований необходима внешняя измерительная антенна.
**Роль эквивалента антенны играет спектрограф.
Из представленных в таблице данных можно сделать следующие выводы:
- Ответ на вопрос «что выбрать — логический анализатор или осциллограф» зависит от целей исследований. Осциллограф незаменим в работе с аналоговыми и цифровыми сигналами, когда необходимо измерение формы колебаний и тестирование параметров напряжения во временной области. Логический анализатор нужен, когда требуется работа с цифровыми шинами обмена данными, длинные захваты и декодирование протоколов.
- Измеритель спектра применяется для исследования спектральных параметров сигналов. Его не заменят ни осциллоскоп, ни цифровой аппарат.
Если у вас есть осциллоскоп и тестер протоколов, этого достаточно для решения большинства задач, возникающих при настройке и поиске неисправностей в РЭА. Спектроскоп необходим лишь для решения специфических задач, таких как настройка радиопередатчиков и их узлов.
FAQ
Вопрос. Нужен ли анализатор, если у меня осциллограф с декодерами?
Ответ. Убедитесь в том, что имеющихся в приборе декодеров вам достаточно. Учтите, что декодеры в осциллографе имеют существенные ограничения по глубине буфера и количеству каналов. Поэтому для решения простых задач такой аппарат подойдёт. Для серьёзной отладки лучше применять цифровой измеритель.
Вопрос. Какой аппарат взять для начала?
Ответ. Для работы с Arduino/STM32 и базовыми протоколами достаточно бюджетного USB-прибора на 8 каналов + PulseView (бесплатно). Подробности вы найдёте в нашем материале «Логический анализатор: что это такое».
Вопрос. Хочу использовать спектрометр TinySA для настройки источника питания на основе преобразователя DC-DC. Цель настройки — максимальное подавление коммутационных помех. Входное сопротивление измерителя 50 Ом, поэтому непосредственное подключение прибора к схеме преобразователя невозможно. Что делать?
Ответ. Проблема легко решается применением внешнего высокоомного щупа. Альтернативой может быть самодельный делитель напряжения на резисторах. Если входное сопротивление измерителя 50 Ом, то включив последовательно между входом прибора и исследуемой схемой резистор на 5 кОм вы получите делитель с коэффициентом ослабления 100. Входное сопротивление вашей лабораторной установки составит 5050 Ом. Этого вполне достаточно для того, чтобы не оказывать значительного влияния на работу тестируемого устройства.
Вопрос. В чём разница между программными продуктами PulseView Sigrok и Logic 2?
Ответ. Обе программы представляют собой кроссплатформенное ПО для анализа сигналов:
| Функционал | PulseView Sigrok | Logic 2 |
| Захват данных с поддерживаемых устройств и их отображение | + | + |
| Загрузка и анализ захватов из существующих файлов | + | - |
| Запуск декодеров протоколов | + | + |
| Запись, анализ, обработка и экспорт цифровых данных | + | + |
| Запись, анализ, обработка и экспорт аналоговых данных | + | - |
| Создание собственных декодеров протоколов | + | + |
| Совместимость с оборудованием разных производителей | + | - |
PulseView Sigrok поддерживает различные устройства: цифровые анализаторы, обычные и многофункциональные осциллографы и другие измерительные приборы. Программный продукт Logic 2 предназначен только для цифровых измерителей.