Основные сведения о работе осциллографа

R&S®Essentials | Основы цифровых осциллографов

Отладка последовательных протоколов с помощью осциллографа

Автор: Джеймс Льюис (James Lewis) l Эксперт и блогер в области контрольно-измерительного оборудования

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

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

Сравнение осциллографа и логического анализатора

Осциллограф R&S®RTM3000

Осциллограф R&S®RTM3000

Ключевые факты:

  • Полоса пропускания: от 100 МГц до 1 ГГц
  • Частота дискретизации: до 5 млрд отсчетов/с
  • Объем памяти: до 80 млн отсчетов
  • Разрешение АЦП: 10 бит

В целях декодирования протоколов можно использовать осциллограф, логический анализатор или специальный анализатор протоколов. Однако какой из приборов наиболее эффективен? Давайте сравним эти три прибора.

Каналы логического анализатора по своей сути являются цифровыми компараторами. Они способны различать только высокий и низкий уровень сигнала. Типичные логические анализаторы имеют как минимум восемь каналов, а некоторые модели — 32 канала или более. Анализаторы протоколов похожи на логические анализаторы, однако они оснащены специальным аппаратным и программным обеспечением для конкретного протокола и способны декодировать последовательную линию передачи.

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

К счастью, с современными осциллографами не приходится делать выбор в пользу одного из трех вариантов. Многие осциллографы, в том числе все модели Rohde & Schwarz, имеют аналоговые и цифровые логические каналы. Такие модели известны как осциллографы для смешанных сигналов.

Некоторые осциллографы даже оснащены функциями декодирования протоколов для последовательных шин. Например, модели R&S®RTB2000, R&S®MXO 4 или R&S®RTO 6 имеют встроенные функции декодирования и запуска для основных последовательных протоколов.

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

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

UART

Универсальный асинхронный приемопередатчик (UART, Universal Asynchronous Receiver-Transmitter) также иногда называется последовательным интерфейсом. Передаваемый и принимаемый сигнал представляют собой провода без дискретной синхронизации. Соединение устанавливается по схеме «точка-точка», т. е. обычно подключаются только два устройства.

В некоторых случаях отладка UART проводится предельно просто, т. к. требуется проверить только один сигнал: TX или RX. Однако на практике для анализа связи обычно рассматриваются оба направления.

Схема UART

Схема UART

Универсальный формат кадра UART

Универсальный формат кадра UART

В протоколе UART применяется универсальный формат кадра. Имеется переменное количество стартовых и стоповых битов и дополнительный бит четности. Для передачи данных, как правило, используются 8 битов данных. Асинхронность UART означает, что ведущее и ведомое устройства должны заранее согласовать эти параметры и скорость передачи в бодах. Такие же требования применяются к осциллографу во время отладки.

Отладка на осциллографе

Совет: декодеры обычно позволяют изменять скорость передачи после захвата. При неудовлетворительных результатах декодирования следует изменить это значение. В противном случае правильное выполнение декодирования (или запуска) будет невозможно.

SPI и QSPI

Все устройства используют общий тактовый сигнал.
Все устройства используют общий тактовый сигнал.

SPI (Serial Peripheral Interface) — последовательный периферийный интерфейс. Он работает как регистр сдвига. Все устройства используют общий тактовый сигнал, а также сигналы MOSI (выход ведущего, вход ведомого) и MISO (вход ведущего, выход ведомого). Это соответствует сигналам TX и RX в протоколе UART. Однако здесь явным образом задается направление передачи данных. Например, через MOSI данные передаются от ведущего устройства к ведомому, а через MISO — в обратном направлении. Это снижает риск захвата неверного сигнала пробником.

Протокол SPI поддерживает несколько устройств в одной шине. Устройства различаются между собой посредством сигнала выбора кристалла (CS). В схемах с одним устройством SPI сигнал CS можно опустить (или постоянно включить). Соответственно, при передаче данных только в одном направлении требуется лишь подключение соответствующего сигнала MOSI или MISO.

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

Что такое QSPI?

Протокол QSPI (Quad SPI) обеспечивает четырехкратную скорость передачи данных и является преобладающим интерфейсом в чипах флеш-памяти. По аналогии с SPI здесь используются тактовый сигнал, сигнал выбора кристалла и сигналы передачи данных.

I2C (Inter-Integrated Circuit)

Устройства используют общий тактовый сигнал и общую линию данных.
Устройства используют общий тактовый сигнал и общую линию данных.

Протокол I2C (Inter-Integrated Circuit) был разработан компанией Philips, которая сегодня входит в состав концерна NXP. Иногда для устройств с поддержкой I2C применяют термин «двухпроводный» во избежание проблем с товарным знаком или лицензией.

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

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

I2C: 7- или 8-битная адресация (либо 10-битная адресация)

В протоколе I2C применяются два способа адресации: 7-битная и 10-битная адресация. Наиболее распространена 7-битная адресация, однако здесь иногда возникает путаница, когда адрес рассматривается как 8-битный.

Сравнение 7-битного и 8-битного режимов адресации
Сравнение 7-битного и 8-битного режимов адресации

Путаница возникает из-за бита R/W (Read/Write), который следует за адресом. В операциях чтения это значение устанавливается на «1», а в операциях записи — на «0». Поэтому, если при отладке I2C не происходит запуск по ожидаемому адресу, попробуйте сместить адрес на один бит влево и включить значение R/W.

Шина CAN

В шине CAN применяется дифференциальная передача сигналов.
В шине CAN применяется дифференциальная передача сигналов.

Шина CAN (Controller Area Network) была разработана для автомобилей и сегодня широко применяется в транспортной отрасли. Дифференциальная передача повышает устойчивость к электрическим помехам, что особенно важно для промышленного применения.

Несмотря на дифференциальную передачу, дифференциальный пробник для осциллографа в большинстве случаев не требуется. Для декодирования шины в осциллографе достаточно подключить несимметричный пробник к сигналу CANH или CANL.

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

Декодирование шины CAN с помощью R&S®RTM3000
Декодирование шины CAN с помощью R&S®RTM3000

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

Сравнение декодирования и запуска

Декодирование — это метод последующей обработки, при котором проводится анализ полученной осциллограммы, а протокол декодируется в удобный для восприятия человеком формат. Как правило, декодированные данные накладываются на осциллограмму или выводятся в виде таблицы. (Некоторые осциллографы, например R&S RTE, RTO6 и RTP, также содержат дополнительные средства анализа, такие как функция анализа использования шины). Осциллографы с глубокой памятью могут захватывать сигналы в течение длительного времени и затем выполнять поиск в целях выявления определенных событий (или частоты этих событий). Это реализуется в первую очередь на программном уровне.

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

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

Заключение

  • Большинство устройств с периферийными вычислениями взаимодействуют с микроконтроллером посредством цифрового протокола, такого как UART, SPI, I2C или CAN.
  • Осциллографы содержат широкий выбор инструментов для декодирования последовательных протоколов.
  • Некоторые осциллографы также оснащены функциями декодирования протоколов для последовательных шин.
  • Протокол UART не имеет дискретного тактового сигнала, здесь соединение «точка-точка» устанавливается только между двумя устройствами.
  • Протокол SPI работает как регистр сдвига, здесь все устройства используют общий тактовый сигнал, а также сигналы MOSI и MISO.
  • Для отладки I2C требуются два канала. Тактовый сигнал передается только во время связи ведущего устройства с ведомым устройством, поэтому осциллограф должен захватывать и тактовый сигнал, и сигнал передачи данных.
  • Несмотря на дифференциальную передачу, для отладки шины CAN на осциллографе, как правило, не требуется дифференциальный пробник. Для декодирования шины в осциллографе достаточно подключить несимметричный пробник к сигналу CANH или CANL.
  • Все осциллографы Rohde & Schwarz поддерживают опции отладки последовательных протоколов. Доступные функции запуска зависят от модели и полосы пропускания осциллографа. Однако большинство моделей поддерживает описываемые здесь основные последовательные протоколы.
  • Для решения общих задач отладки стандартных последовательных протоколов рекомендуются модели RTB2000 и RTM3000. Для протоколов со скоростями передачи более 480 Мбит/с рекомендуются осциллографы MXO4 (1,5 ГГц), RTO и RTP.

Хотите узнать больше о теоретических основах испытаний?

Подпишитесь на нашу новостную рассылку

Также вам будут интересны