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

Отладка и контроль каналов SpaceWire

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

Введение

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

На рисунке 1 показан стек протоколов стандарта SpaceWire. Большинство осциллографов не позволяет получить декодированные данные SpaceWire – можно измерить лишь время нарастания, длительность импульсов, время распространения и т.п. Поэтому, если проблема присутствует не только на физическом уровне, отладка становится более сложной задачей. В этой статье представлены возможности осциллографов Rohde & Schwarz серий RTE, RTO и RTP, которые позволяют не только охватить физический уровень, но и извлекать из сигналов SpaceWire глазковые диаграммы, декодировать данные SpaceWire, а также осуществлять запуск по определённым символам SpaceWire.

Запуск и декодирование сигналов SpaceWire

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

Стандарт SpaceWire не обладает легко идентифицируемой структурой пакета, т.к. пакеты не разделены равными интервалами и не отмечены определёнными шаблонами данных. Декодер стандарта SpaceWire от компании Rohde & Schwarz выравнивает пакеты на основании битов проверки чётности, используя алгоритм исключения. Для того чтобы этот алгоритм работал, необходимо в начале окна сбора получить не менее 110 бит достоверных данных. После выравнивания декодер может идентифицировать все типы пакетов стандарта SpaceWire и представить их пользователю.

Графическое представление

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

Представление в виде таблицы результатов

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

Функции поиска

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

Функции запуска

Для поиска интересующей пользователя области в потоке данных, например появления определённого редкого события (это могут быть ошибки или просто начало и конец передачи), может оказаться полезной функция запуска на основе декодированных данных. Используя базовый запуск по фронту, функция запуска для стандарта SpaceWire обнаруживает любую активность на шине, декодирует данные и затем ищет в них заданные события. Процедура повторяется до тех пор, пока не будет найдено хотя бы одно из них. Найденное событие отображается на маркере запуска. На рисунке 2 показан пример запуска по символу EOP, который отмечает конец пакета.

Используемые для запуска символы SpaceWire:

  • управляющие символы – FCT, EEP, EOP или ANY;
  • символы данных – любые значения («равно», «не равно» или диапазон);
  • NULL-код;
  • TIME-код – любое значение («равно», «не равно» или диапазон);
  • ошибки чётности или ошибки ESCAPE.

Рассинхронизация сигналов стробирования и данных стандарта SpaceWire

Успешная работа канала SpaceWire на высоких скоростях передачи данных во многом зависит от рассинхронизации (задержки) между парами дифференциальных сигналов данных и сигналов стробирования во всей сети. Это связано с тем, что протокол SpaceWire для корректного декодирования использует минимальное время между двумя любыми фронтами сигналов данных и стробирования. Чтобы обеспечить корректное декодирование, стандарт SpaceWire устанавливает, что задержка должна быть минимизирована по всему тракту от передатчика до приёмника, включающему в себя:

  • формирование/распространение КМОП-сигналов данных и стробирования (логические цепи источника);
  • LVDS-драйвер;
  • дорожки печатной платы между LVDS-драйвером и разъёмом SpaceWire;
  • кабель и разъёмы SpaceWire;
  • дорожки печатной платы между разъёмом SpaceWire и LVDS-приёмником;
  • LVDS-приёмник;
  • распространение и обработку КМОП-сигналов логическими цепями адресата.

Приложение 1 стандарта SpaceWire версии 1 [1] описывает проведение некоторых изолированных измерений, например только драйвера, только приёмника, только кабеля и т.д. Такой подход возможен, если имеется доступ ко всем отдельным компонентам. Метод, предлагаемый в данной статье, заключается в измерении всего канала (драйвер, разъёмы, кабели, приёмник) для получения суммы задержек сигналов данных / стробирования в канале.

Для реализации данного метода использовались 9 различных устройств, между которыми была измерена задержка для 41 межточечного канала. Для соединения двух устройств SpaceWire использовались различные наборы кабелей (1 м, 1+1 м, 1+2 м). Ниже приводится сравнение двух методов автоматического измерения задержки SKEW между сигналами данных и стробирования стандарта SpaceWire:

  1. Метод с использованием встроенных функций измерения осциллографа SETUP и HOLD.
  2. Метод с формированием расчётного сигнала MATH, представляющего собой функцию исключающего «ИЛИ» сигналов данных DATA и стробирования STROBE, с последующим измерением длительности высокого состояния HIGH PULSE расчётного сигнала.

Как показано на рисунке 3, функция измерения SETUP/HOLD использует любой фронт тактового сигнала (Either) [2].

В этом случае осциллограф измеряет время между любым перепадом тактового сигнала (Clock) и любым перепадом сигнала данных (Data). Функция SETUP предполагает, что сначала изменяются данные, а HOLD представляет собой тактовый сигнал. При этом неважно, назначается ли сигнал данных стандарта SpaceWire тактовому сигналу или сигналу данных осциллографа. В обоих случаях будет измерено время между любым фронтом сигнала STROBE и любым фронтом сигнала DATA и наоборот.

При использовании функции MATH XOR для сигналов DATA и STROBE можно измерить высокий или низкий импульс, который также указывает на расстояние между фронтами сигналов DATA и STROBE. В обоих случаях (SETUP/HOLD и MATH XOR) был включён набор статистики измерений, что позволяет определить максимальное значение за указанный период времени или число событий. В данном случае измерения проводились на основе данных, полученных из 11 454 событий. На рисунке 4 показаны результаты измерений для функций SETUP и HOLD (каналы 1 и 2) и положительного импульса для функции MATH XOR (каналы 3 и 4).

Как видно из рисунка 5, каналы 1 и 2 получают сигналы от драйвера приёмо-передатчика T6, а каналы 3 и 4 – от драйвера приёмо-передатчика T1. Между ними расположен кабель SpaceWire длиной 1 м. В данном примере оба измерения были проведены со стороны T6. В таблице 1 представлены результаты измерений SETUP/HOLD и MATH XOR для коммуникационной пары T6/T1, изображённой на рисунке 5.

Измеренное значение задержки составляет порядка 0,5 нс для каналов 1 и 2 и порядка 0,7 нс для каналов 3 и 4. Разница между значениями, полученными методами SETUP/HOLD и MATH XOR составила 0,15 нс для каналов 1 и 2 и 0,28 нс для каналов 3 и 4.

В таблице 2 приведены результаты сравнения двух методов, полученные на 41 межточечном канале. В таблице показана разница в значениях задержек, измеренных методами SETUP/HOLD и MATH/XOR. При проведении измерений использовались 9 устройств, все каналы работали на частоте 200 Мбит/с. Измерения проводились на стороне приёмника с различными наборами кабелей (1 м, 1+1 м, 1+2 м).

Для измерений во всех каналах максимальная разница между двумя методами составила 0,4 нс для кабеля SpaceWire длиной 1 м и 0,65 нс для кабеля длиной 3 м. С учётом полосы пропускания пробников такой разницей можно пренебречь. Таким образом, можно заключить, что оба метода показывают одинаковые результаты измерения задержки между сигналами DATA и STROBE в канале SpaceWire.

Глазковые диаграммы для стандарта SpaceWire

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

  • использовалась функция измерения глазковых диаграмм осциллографа (с автоматическими настройками);
  • измерялись высота (мВ), ширина (нс) и Q-фактор глазковой диаграммы;
  • по возможности использовалась скорость передачи 200 Мбит/с; одно устройство (T4) было ограничено скоростью 100 Мбит/с, а другое – 40 Мбит/с;
  • измерения проводились как без кабеля (вблизи драйвера и приёмника), так и с различными наборами кабелей (1 м, 1+1 м, 1+2 м).

На рисунке 6 показаны глазковые диаграммы сигналов SpaceWire между двумя LVDS-передатчиками T1 при использовании кабеля SpaceWire длиной 3 м.


В таблице 3 представлены измеренные параметры глазковой диаграммы для трёх различных конфигураций.

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

Связь между активностью в канале SpaceWire и значениями тока

Иногда бывает полезно выявить соответствие сигналов и сообщений потребляемой мощности. При проведении этих исследований использовался многоканальный пробник мощности R&S RT-ZVC02 для измерения тока в двух точках. Данный пробник позволяет параллельно проводить 2 измерения тока и 2 измерения напряжения с помощью 4 дифференциальных аналоговых пробников.

На рисунке 7 показан разрыв соединения SpaceWire, т.е. состояние exchange of silence конечного автомата протокола. Помимо двух сигналов SpaceWire для двух устройств, также показаны два измерения тока, что даёт в сумме 6 сигналов. В приведённом ниже примере ток Z1.I1 падает с 34,6 до 31,4 мА, а ток Z1.I2 – с 11,1 до 7,9 мА.

С помощью функции масштабирования можно в деталях наблюдать 4 осциллограммы. Также имеется возможность включить функцию декодирования канала SpaceWire с обеих сторон для проверки всего обмена символами во время инициализации канала, как показано на рисунке 8. Это ещё один пример эффективного использования функции декодирования сигналов SpaceWire.

После того как обе стороны перейдут в состояние выполнения Run, скорость передачи переключается с 10 на 200 Мбит/с.

Заключение

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

В статье описаны два метода измерения рассинхронизации (задержки) между сигналами данных и стробирования протокола SpaceWire и проведено сравнение этих методов, показавшее их эквивалентность. Глазковые диаграммы извлекаются из сигналов данных и стробирования протокола SpaceWire и отображают совместное влияние задержек и джиттера. Было проведено исследование влияния длины кабеля на измерение задержек и глазковые диаграммы, а также описана процедура выявления соответствия между декодированными сообщениями, аналоговыми сигналами SpaceWire и потреблением мощности.

Можно заключить, что осциллограф R&S подходит для проведения отладки на нижних уровнях стека протоколов стандарта SpaceWire во всех представленных сценариях применения.

Литература

  1. SpaceWire Standard Revision Draft F1 Issue 1.7.
  2. Руководство по эксплуатации цифрового осциллографа R&S RTO.

Комментарии
Рекомендуем
Электронные датчики и радары  в системе беспроводной связи ОТА, LOP и E-peas электроника

Электронные датчики и радары в системе беспроводной связи ОТА, LOP и E-peas

В будущем разработчиков РЭА ожидает эра «одноразовых» устройств: «установил и забыл» – надёжные, устойчивые к внешним воздействиям среды, но не предназначенные для ремонта. Одна из важных решаемых задач – сочетание сбора энергии из среды, её преобразование в электрическую и применение датчиков и микроконтроллеров с крайне низким энергопотреблением. В сочетании с технологиями E-peas (Electronic portable energy autonomous systems – автономные портативные электронные системы), LOP (с низким энергопотреблением) и решениями NXP возникают перспективы датчиков положения, давления и измерения сопутствующих величин от OEM-производителей. С аппаратными настройками и масштабируемостью производительности РЭА в формате процессоров S32R с исключением ошибок в передаче данных аналогового и смешанного сигнала беспроводным способом на небольшие расстояния. В статье представлены примеры системных решений для организации и управления питания датчиков РЭА, задействованных в беспроводной передаче данных, сетевых технологиях и транспортной технике с беспроводной сетью ОТА (Over-the-air – по воздуху).
15.04.2024 СЭ №4/2024 589 0

ООО «ПРОСОФТ» 7724020910 2SDnjdbfYK3
ООО «ПРОСОФТ» 7724020910 2SDnjdbfYK3