Фильтр по тематике

Анализ сигналов в манчестерском и NRZ-коде с произвольными параметрами при помощи осциллографов серии RTE компании R&S. Часть 2

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

Анализ сигналов в манчестерском и NRZ-коде с произвольными параметрами при помощи осциллографов серии RTE компании R&S. Часть 2

Примеры декодирования сигналов в манчестерском и NRZ-коде

Характеристика объекта исследований

Для демонстрации возможностей опции R&S RTE-K50 был разработан пользовательский протокол передачи данных, в лексикон которого входят машинные слова (МС) пяти типов. Он может быть использован для получения информации от сети датчиков, например измеряющих температуру или давление в некоторой системе. Протокол допускает передачу информации с 64 датчиков (шестиразрядная адресация), сеть может иметь произвольную структуру.

Структура и состав машинных слов пояснены в таблице. Все машинные слова включают стартовую (Start) и завершающую (Stop) последовательности, поле адреса датчика (Adr), контрольную сумму (CS). В поле CS должна быть установлена единица, если во всех полях, кроме Start и Stop, передаётся нечётное количество единиц. Слово COM содержит поля ожидания (РР) и команды (Command), в слове DATA0 имеется 8-разрядное поле Data для передачи измеренного датчиком оцифрованного значения. В словах DATA, ERROR1, NODATA, UNCOM имеется поле признака PR, которое наряду со стартовой последовательностью служит для определения одного из 4 возможных ответов датчика контроллеру. Тип МС и, соответственно, его источник идентифицируются по виду стартовой последовательности и признаку ответа. Битовые последовательности всех полей передаются старшим битом вперёд.

Примечание: при описании МС в NRZ-коде четверичные символы H и L трактуются как 1 и 0 соответственно.

Скорость передачи данных составляет 1 Мбит/с, битовый интервал равен 1 мкс. Для исключения коллизий передача МС датчиками осуществляется строго по запросам контроллера, формируемым по мере необходимости с интервалом не менее 34 мкс, включающим интервалы 10 и 24 мкс на обработку команды датчиком и на передачу машинного слова DATA с наибольшей длительностью (24 бита) вместе со стартовой и завершающей последовательностями. Высокий и низкий уровни сигналов приняты равными +3 и -3 В. В период бездействия сигнал в NRZ-коде имел низкий уровень, а сигнал в манчестерском коде – нулевой уровень.

Измерительная установка

В состав измерительной установки (см. рис. 3) входил осциллограф R&S RTE-1054 с полосой рабочих частот до 500 МГц, 4 каналами и установленной программной опцией R&S RTE-K50.

Машинные слова в соответствии с изложенными принципами кодирования формировались при помощи генератора Hantek 1025G, работавшего под управлением ноутбука HP Mini 110-3703. Для формирования битовых последовательностей требуемой структуры, а также пауз между ними были подготовлены специальные файлы в формате *.csv, данные из которых при помощи специального программного обеспечения (СПО) загружались в память генератора через интерфейс USB 2.0, одновременно использовавшийся для питания генератора.

Генератор формировал сигналы на основе цифроаналогового преобразования со скоростью 2 млн символов/с. При этом битовому интервалу соответствовало 2 символа для обеспечения выбранной символьной скорости. Высокий и низкий уровни напряжения были выбраны равными 3 и -3 В соответственно.

Построение спектра сигналов

Построение спектра сигналов в манчестерском и NRZ-коде в случае достаточной скорости захвата может использоваться при поиске сигнальных аномалий и установлении причин их появления. По спектрограмме может быть выполнена приближённая оценка битовой скорости, которая, однако, может осуществляться только при постоянстве её значения, а также определено наличие резонансных процессов в линиях передачи. Оценка необходимой полосы частот важна при высокой битовой скорости (выше 10 Мбит/с), т.к. для широкополосных сигналов начинают проявляться дисперсионные явления и потери, препятствующие сохранению их целостности и ограничивающие дальность их передачи.

При построении спектра использовалось МС COM. Результаты, полученные с использованием встроенной опции быстрого преобразования Фурье, показаны на рисунке 4.

Необходимая для передачи сигнала полоса частот, которая может быть определена по первому нулю спектрограммы, составляет для манчестерского и NRZ-кода 2 и 1 МГц соответственно при скорости 1 Мбит/с. На спектрограммах видно отсутствие посторонних спектральных составляющих, не характерных для цифрового сигнала, что свидетельствует об их высоком качестве. Если бы в радиочастотном кабеле наблюдались резонансы, то на спектре имелись бы свойственные узкополосным сигналам пики, а на осциллограмме был виден высокочастотный затухающий колебательный процесс. С учётом рабочей полосы современных осциллографов спектрограммы можно строить и для гигабитных скоростей передачи, причём никакие опции, кроме встроенной функции быстрого преобразования Фурье, для этого не нужны.

Настройка опции R&S RTE-K50 для декодирования МС пользовательского протокола

Данная настройка включает в себя два этапа. На первом задаются характеристики сигналов на физическом уровне: тип кодирования, пороговые значения, определяющие высокий и низкий уровень сигналов, битовую скорость, наличие инвертирования в сигнале и т.д. Практика показала целесообразность автоматического определения пороговых уровней, которые для сигналов данного вида равны ±2,5 В. На втором этапе настройки последовательно была задана структура каждого МС в соответствии с описанием [1], что необходимо для поиска машинных слов конкретного вида в битовых последовательностях, причём было установлено, что значения полей Adr, Data и Command отображаются в шестнадцатеричном формате. Интервал бездействия был задан равным 10 мкс, для манчестерского кодирования была установлена синхронизация по второму фронту в МС.

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

Декодирование машинного слова COM при периодическом его повторении

Для демонстрации выделения и декодирования МС, а также проверки правильности настроек опции рассмотрим ситуацию, когда контроллер запрашивает данные одного и того же датчика с периодом повторения 1 мс и не получает ответа. Результаты измерений представлены на рисунке 5. В таблице на рисунке 5а приведено содержание всех полей в составе одного из захваченных МС с указанием их значений. Важно подчеркнуть, что одновременно может быть захвачено и декодировано несколько МС разных типов, что облегчает проверку алгоритмов, заложенных в пользовательские протоколы.

На основе результатов измерений поля Adr и Command в слове COM имеют значения 0х20 и 0х3 соответственно в первом случае, и 0хFF и 0хС – во втором. Значения остальных полей указываются последовательностью бит либо четверичными символами.

Декодирование машинных слов COM с ошибками в полях Start, PP и Stop

Как следует из таблицы 1, по содержанию названных полей опция R&S RTE-K50, а также датчик в составе рассматриваемой сети идентифицируют МС типа COM. Если хотя бы одно из полей будет содержать ошибку, то в этом случае МС не будет воспринято датчиком, хотя в общем случае это зависит от алгоритма обработки битовых последовательностей. Для поиска таких ошибок созданное описание МС для обоих типов кодирования было дополнено машинным словом badcom, которое охватывает все МС, не соответствующие по структуре, но имеющие такую же длину, как COM.

Для отработки поиска МС с ошибочными идентификационными полями использовалась последовательность, состоящая из 3 машинных слов COM, разделённых интервалом в 10 мкс. В первом МС была допущена ошибка в поле Start, во втором – в поле PP, в третьем – в поле Stop. Результаты декодирования приведены на рисунке 6. В результате анализа установлено, что структура МС соответствует типу COM, а содержание идентификационных полей ошибочно, и поэтому эти МС отнесены к типу badcom.

На рисунках 6а и 6б показаны различные способы отображения данных о содержащейся в полях информации. При необходимости детального рассмотрения декодирование каждого МС может быть выполнено на отдельном экране, что обеспечивает читаемость информации во всех полях. Кроме того, удобно использовать табличное отображение результатов декодирования, продемонстрированное на рисунке 5а.

Диалог между контроллером и датчиком

Диалог между контроллером и датчиком включает два типа МС: COM и DATA0. При выполнении измерений они были разделены интервалом 10 мкс. Результаты декодирования представлены на рисунке 7. 

В обоих случаях все пакеты декодируются правильно. Для NRZ-кода поля Adr, Command и Data имеют значения 0х20, 0х3, 0хАА соответственно, для манчестерского кодирования – 0х1F, 0xC, 0x55. Интервал бездействия показан как отсутствие передачи битовых последовательностей.

Опрос четырёх датчиков

В реальной сети контроллер опрашивает по адресам все датчики, которые могут отвечать свойственными им МС, входящими в лексикон пользовательского протокола. При помощи генератора была сформирована последовательность из 8 МС (COMDATA0 COM – ERROR1COMNODATACOM – UNCOM), следующих с интервалом 10 мкс, парных по адресации и имитирующих все возможные ответы датчиков, а также необходимые нарушения в полях МС, например ошибку контрольной суммы.

Результаты декодирования показаны на рисунке 8. Последовательности из МС разного типа удобно анализировать с применением табличного отображения результатов декодирования, причём у каждого типа МС могут быть указаны разные имена полей, для которых отображается информация. В данном случае для всех типов МС опция определяет содержание полей Adr и CS, для МС COM и DATA0 – полей Command и Data. Полученные значения отображены в трёх правых столбцах таблицы, также содержащей информацию о времени начала и окончания МС, что часто необходимо для отладки пользовательских протоколов и реализующего их программного обеспечения.

Поиск и анализ неизвестной битовой последовательности

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

Если в лексикон опции R&S RTE-K50 не включено некоторое МС, то оно не может быть сопоставлено с заданными МС по количеству бит и содержанию идентификационных полей, но опция выделит неизвестную битовую последовательность при помощи функции Undescribed Bits. Это продемонстрировано на рисунке 9.

В данном случае один из датчиков отвечает на запрос контроллера МС DATA0, в котором утеряны 8 бит поля Data. После обнаружения «неучтённых» бит они отображаются в двоичном исчислении для NRZ-кода или в виде четверичных символов для манчестерского кода. Анализируя содержание таких последовательностей, можно определить и причины их появления, а затем – устранить программные ошибки.

Случай несовпадения кодовых скоростей

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

Предположим, что передатчик и приёмник цифрового сигнала настроены на разные скорости vout и vin, соответствующие битовым интервалам τout = 1/vout и τin = 1/vin. Будем считать, что после окончания интервала времени бездействия приёмник синхронизируется в середине временнóго интервала τin первого бита с истиной длительностью τout. Соответственно, смещение точки синхронизации при передаче первого бита составит 0,5|τin – τout|. Такие смещения будут наблюдаться при передаче каждого бита. Если пакет достаточно длинный, то по мере смещения точки синхронизации возникнет ситуация, когда в некотором битовом интервале окажутся две точки синхронизации, что приведёт к битовой ошибке. Поскольку точка синхронизации, как ожидается, расположена в середине битового интервала, то предельное количество бит Nmax, которое может быть передано в машинном слове без возникновения ошибки в отсутствие дополнительных мер по обеспечению синхронизации, определяется выражением:

где функция floor(*) отбрасывает целую часть аргумента и округляет его в меньшую сторону. Формула (1) позволяет рассчитать минимальное число бит, которое будет передано в МС при несовпадении битовых скоростей. Речь идёт именно о минимальном значении, поскольку в алгоритмах работы как средств измерений, так и приёмников цифровых сигналов могут применяться дополнительные меры по правильному определению битовых интервалов.

Опция R&S RTE-K50 позволяет правильно декодировать МС большей длины, чем рассчитанная по формуле (1). Согласно (1), при vout = 965 Кбит/с и vin = 1000 Кбит/с МС DATA0 должно декодироваться без ошибок и их появление возможно при меньшей скорости. Экспериментально были получены существенно бо¢льшие допустимые значения отклонения битовых скоростей (см. рис. 10 и 11). Для NRZ-кода правильное декодирование осуществляется при битовой скорости приёма до 929 Кбит/с (см. рис. 10а), а при более низкой скорости опция декодирует пакет DATA0 с ошибками, первая из которых появляется в поле PP. Результатом недопустимо большого расхождения в значениях битовых скоростей является неправильная идентификация типа МС с появлением «лишних» бит (см. рис. 10б). Аналогичные результаты были получены и для манчестерского кодирования, но правильное декодирование сохраняется до значения битовой скорости 901 Кбит/с.

Представленные примеры охватывают все важные для практики аспекты отладки пользовательских протоколов. Как видно из полученных результатов, опция R&S RTE-K50 позволяет проводить анализ МС с высоким уровнем автоматизации.

Заключение

Декодирование цифровых сигналов в манчестерском и NRZ-коде, имеющих пользовательские (нестандартизированные) характеристики, должно осуществляться с использованием программных опций, в значительной степени упрощающих отладку цифровых устройств. Непериодический характер таких сигналов диктует потребность в особых условиях запуска развёртки для захвата и обработки битовых последовательностей, а уникальный лексикон пользовательских протоколов обуславливает необходимость тщательного его описания для поиска МС конкретного типа.

Функциональные возможности опции R&S RTE-K50 охватывают, как было продемонстрировано, типовые задачи, возникающие при отладке цифровых устройств с пользовательскими протоколами. Однако этим её возможности не ограничиваются. Если протокол сложен и обмен данными идёт между многими устройствами по единой шине, как это было в рассмотренном примере, а лексикон включает десятки типов МС, то такая ситуация усложнит поиск необходимого МС в захваченной их совокупности. Для решения подобных проблем у опции имеются более сложные настройки запуска – по значениям битовых последовательностей в составе МС. Их использование позволяет выделить в потоке необходимое МС автоматически без длительного поиска.

Таким образом, опция R&S RTE-K50 является универсальным инструментом для глубокого анализа цифровых сигналов и имеет высокий потенциал практического применения.

Литература

  1. R&S®RTЕ Digital Oscilloscope. User Manual. V.13 (FW 3.70).

Комментарии
Рекомендуем

  Подписывайтесь на наш канал в Telegram и читайте новости раньше всех! Подписаться