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

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

В статье описываются методы отладки и контроля каналов связи стандарта 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.

Комментарии
Рекомендуем
Конструктивные особенности элементов РЭА, SSA и спутниковой навигации в космосе электроника

Конструктивные особенности элементов РЭА, SSA и спутниковой навигации в космосе

Космос и околоземная орбита специфичны, и к устройствам предъявляются особые требования по надёжности, управляемости и безопасности летательных аппаратов. Применение РЭА в космосе уже много лет является сферой приложения конструкторских идей разработчиков. Более того, ведущие мировые державы соревнуются в совершенствовании технологий и стараются использовать конкурентные преимущества. Впечатляют новейшие разработки в области солнечных батарей, различных модификаций эпитаксиальных структур, материаловедения, а также защищённых электронных модулей и дискретных компонентов. В статье рассматриваются особенности РЭА для космоса, инновационные решения сборки солнечных панелей и батарей (SSA) и проблемные вопросы обеспечения надёжности и безопасности РЭА в условиях повышенной солнечной активности, радиации, необходимости отвода тепла и механической стойкости конструкций в условиях невесомости.
21.11.2024 СЭ №9/2024 129 0
Разветвитель RS-485 с «Power over Ethernet» электроника

Разветвитель RS-485 с «Power over Ethernet»

Основное достоинство RS-485 заключается в повышенной помехоустойчивости при условии использования линии типа «шина», поскольку наведённая помеха компенсируется в витом кабеле. Однако на практике требуются «древовидные» и «звёздные» структуры линий, что вызывает проблему помехоустойчивости для интерфейса RS-485.  Общее решение для перехода к разным структурам линий состоит в том, что принято использовать разветвитель или повторитель RS-485 [1].  Предлагаемая конструкция выполняет разветвление RS-485, используя питание по кабелю по принципу «Power over Ethernet», в отличие от наиболее известных промышленных изделий. Разветвитель позволяет обеспечить помехоустойчивость при переходе от шинной структуры линии к древовидной структуре при расширении системы сбора данных термометрии.
21.11.2024 СЭ №9/2024 158 0

«ИнСАТ» ИНН 7734682230 erid = 2SDnjdsVbdM
«ИнСАТ» ИНН 7734682230 erid = 2SDnjeV5JPd