Ю.Н. Музелин
кандидат техничеких наук
Д.А. Рынков
Т.Н. Юрьев
ОАО «ВНИИРА»
ПЕРЕДАЧА ЦИФРОВЫХ СИГНАЛОВ В РЕАЛЬНОМ ВРЕМЕНИ ПО
ВОЛОКОННО-ОПТИЧЕСКОМУ КАНАЛУ.
В докладе рассмотрены вопросы передачи и приема в масштабе реального времени многоканальных цифровых сигналов по волоконно-оптическому каналу. Рассмотрены методы и средства мультиплексирования сигналов частотой до 50 МГц, передачи по волоконно-оптической линии связи (ВОЛС) на частотах до 2,5 ГГц и их обратное демультиплексирование. Предложены технические средства для реализации. Описаны характеристики опытного образца аппаратуры.
Введение
В современных радиолокаторах существует проблема передачи данных с приемного устройства в системы первичной обработки сигналов, особенно в тех случаях, когда модуль фазированной антенной решетки (ФАР) является самостоятельным малогабаритным устройством и находится в обтекателе летательного аппарата (ЛА) ограниченного объема, а система первичной обработки сигналов вынесена в фюзеляж ЛА и соединена с модулем ФАР через вращающееся сочленение. В таком случае простым выходом может оказаться передача сигнальных линий существующих интерфейсов по оптоволокну.
В данной статье рассмотрено решение задачи по передаче сигналов нескольких интерфейсов через волоконно-оптический канал. В исходном интерфейсе имеются как синхронные последовательные кадрированные каналы («frame», «data», «clock») частотой 50 МГц в уровнях LVDS, так и сигналы типа «разовая команда» TTL-уровня, а также двунаправленные полудуплексные линии стандарта RS-485. Задача устройства преобразования среды передачи
данных состоит в том, чтобы мультиплексировать цифровые линии в последовательные данные ВОЛС, затем произвести обратную операцию — демультиплексирование данных. Необходимо обеспечить реальное время передачи сигналов, т.е. минимизировать постоянную и переменную составляющую задержки демультиплексированных данных относительно мультиплексированных. В конкретном случае допустимая постоянная составляющая задержки равна 500 не, а переменная — 10 не. Повторный запрос на передачу данных в случае их искажения не предусмотрен. Поэтому, даже редко случающееся искажение передаваемой информации недопустимо.
Теоретические соображения
При передаче высокоскоростных сигналов важным условием является сбалансированное количество логических нулей и единиц. Соответственно, необходимо выбрать механизм кодирования данных: скремблирование или изменение данных с помощью кодирующих таблиц[1].
Мультиплексирование и последующее демультиплексирование сигнала осуществляется
на однотипных, но все же разных устройствах, поэтому тактовые частоты, генерируемые в этих устройствах, неизбежно будут различаться. Особенно в условиях разницы температур между обтекателем и фюзеляжем. Следовательно, необходимо либо выделять отдельнуютактирующую линию, либо выбрать механизм синхронизации двух устройств.
Входные сигналы должны считываться устройством с частотой, превышающей их собственную частоту более чем в 2 раза. Для сохранениявсехкачеств синхронного интерфейса нельзя просто считывать такты и данные — различие фазовых задержек в линиях приведет к потере данных. Поэтому, в соответствии с протоколом, необходимо считывать данные строго по фронту тактового сигнала.
Реализация мультиплексирования полудуплексного режима линий RS-485 требует определенного механизма переключения направления передачи данных.
Практическая реализация
Главным элементом, необходимым для реализации проекта, была выбрана программируемая логическая интегральная схема (ПЛИС) фирмы Xilinx семейства Virtex5. Эти ПЛИС предоставляют широкие возможности для реализации высокоскоростных последовательных интерфейсов. Входящие в их состав модули Rocket 10 GTX позволяют передавать данные на скоростях до 6.5 Гбит/с [3], используя стандартные интерфейсы (Ethernet, SATA, PCI-Е и т.д.), либо интерфейсы собственной разработки. Микросхемы Virtex5 содержат до 48 дифференциальных высокоскоростных приемопередатчиков^]. Кдостоинствам данной ПЛИС также следует отнести наличие в своем составе механизмов кодирования 8b/10b и 64b/66b. Имеющийся эластичный буфер позволяет реализовать коррекцию тактов (Clock correction), необходимую для устранения разности частот задающих генераторов на передающей и приемной сторонах, а также осуществить связывание каналов (Channel bounding) - устранить разницу задержки распространения сигнала в различных каналах [3].
Применение кодека 64b/66b создает меньшую избыточность (3% вместо 25% у 8b/10b), однако этот алгоритм более сложный, выравнивание
данных занимает более длительное время, а также возможен незначительный дисбаланс логических уровней. Поэтому в приемопередатчиках используется кодирование 8b/10b. В таком случае при работе на частоте 1,25 ГГц мы получаем скорость 1 Гбит/с. Избыточность передаваемой информации компенсируется возможностью простого и быстрого выравнивания данных на приемной стороне и коррекции тактов. Для этого требуется с некоторой периодичностью посылать специальные символы (т.н. запятые) и символы коррекции тактов. Выбирать эти символы следует из набора доступных для 8b/10b управляющих символов (К-символов).
Структура проекта представлена на рисунке 1.
Данные на вход приемопередатчиков поступают по 8-битной шине (для варианта со скоростью 2,5 Гбит/с — 16 бит) с частотой 125 МГц. Так как необходимо вставлять в поток считываемых данных управляющие символы, мы должны выполнять дискретизацию входного сигнала с частотой меньше 125 МГц. Была выбрана частота 120 МГц, так как это позволяет на один блок из 24 отсчетов передать один управляющий символ. Это (поочередно) либо символ запятой, либо символ коррекции тактов. Кроме того, используя доступные в Virtex5 блоки ФАПЧ (PLL), легко получить синфазные тактовые сигналы частотой 120 и 125 МГц.
Для компенсации разницы частот считывания и передачи используется выходной буфер типа FIFO. Так как разница частот невелика, FIFO не должно быть глубоким — 16 слов достаточно. Считывание данных из FIFO происходит быстрее, чем запись, следовательно, необходимо предварительно накопить несколько слов в памяти, прежде чем разрешить их считывание и передачу.
По одной линии данных можно поочередно передавать отсчеты с двух (либо четырех и т.д.) цифровых входов. Таким образом, частота дискретизации уменьшится в два (четыре) раза, что повлечет за собой уменьшение максимальной частоты сигналов до 25 МГц (12,5 МГц).
На приемной стороне нельзя использовать FIFO для исключения управляющих символов, так как символы коррекции тактов могут либо дублироваться, либо пропускаться (в этом заключается принцип коррекции тактов). Поэтому сигналы просто восстанавливаются с частотой
LVDS.TTL
FIFO синхронного кадрированного интерфейса
RS-4 85
FIFO
120МГц
/
125 МГц
K-символ ы
Универсальный асинхронный при е мо передатчик ( ÜART)
Управление направлением передачи RS-485
LVDS, TTL
D
Q <
Œ
->
8b/10h кодирование
1.25 Гбит
GTX Rocket I/O
8b/10b декодирование
IT
1.25 Гбит
Определение
К-символов.
выравнивание
Рис. 1. Структура проекта ПЛИС.
125 МГц, а во время передачи К-символа остаются неизменными.
Чтобы минимизировать задержку передачи, данные синхронного кадрированного последовательного интерфейса необходимо передавать сразу по мере получения. Для этого используется однобитное FIFO глубиной 16 бит. При наличии принятых данных в FIFO, на соответствующих линиях 120 МГц шины выставляются данные, а линия тактов сбрасывается в низкий уровень. При следующем фронте 120 МГц тактов сигнал «clock» синхронного интерфейса устанавливается в состояние логической единицы. При этом происходит подсчет количества переданных бит, и после передачи 32 бит сигнал «frame» сбрасывается. При этом все сигналы соответствуют синхронному кадрированному последовательному протоколу, с той разницей, что сигнал «clock» представляет собой не меандр — длительность высокого и низкого уровня различна, и составляет (на выходе приемной стороны) 8 или 16 наносекунд.
Для линий RS-485 используется универсальный асинхронный приемопередатчик
(UART). Данные передаются как «разовые команды», но при этом происходит анализ первого байта сообщения на передающей и приемной стороне. В соответствии с протоколом обмена, по первому байту сообщения однозначно определяется время переключения направления передачи. После выполнения запроса передатчик переключается на прием либо до окончания ответного пакета, либо до превышения допустимого времени ожидания.
Тактирование приемопередатчиков выполняется от опорного генератора частотой 100 МГц, подключенного к выделенным линиям модуля GTX. Частоты 120 и 125 МГц (а также 240 и 250 МГц для встроенного логического анализатора) синтезируются с помощью двух модулей ФАПЧ, синхронизированных от опорного тактового сигнала GTX. От сигнала частотой 120 МГц тактируется блок синхронного кадрированного интерфейса и входная память типа FIFO.
Память FIFO для сопряжения шин 120 и 125 МГц выполнена на аппаратном модуле, входящем в состав Virtex5. Память FIFO, входящая в блок
Таблица 1
Характеристики блока передачи и приема цифровых сигналов
Частота ВОЛС, ГГц Частота цифровых линий, МГц Частота дискретизации, МГц Количество цифровых линий Постоянная задержка*, не Переменная задержка, не
1,25 50 120 8 550 8,3
25 60 16 16,7
12,5 30 32 33,3
2,5 50 120 16 330 8,3
25 60 32 16,7
12,5 30 64 33,3
*Указанные задержки означают суммарное время прохождения от входных 1УГТЬ (1УОБ, Я8-485) выводов на одном устройстве выходных выводов на втором устройстве.
кадрнрованного синхронного интерфейса, реализована на распределенной однобитной памяти с использованием соответствующего примитива.
Мультиплексор данных и управляющих символовдляприемопередатчикаСГХ выполнен с помощью счетчика, который каждое 25-е и 50-е слово данных наполняет управляющим символом, а остальные считывает из FIFO. Полученные результаты Разработка блока передачи и приема цифровых сигналов на ПЛИС Xilinx Virtex5 заняла четыре месяца. В результате было получено гибкое решение, воплощенное в реальной аппаратуре:
Дальнейшее развитие проекта возможно и подразумевает введение в протокол механизма связывания каналов. Эта функция, как уже отмечалось выше, поддерживается GTX Rocket
10 и позволяет связывать каналы, выравнивая время передачи данных по нескольким ВОЛС с удержанием взаимного фазового разбега в требуемых пределах. Для связывания каналов необходимо кроме передачи символов запятой и коррекции тактов передавать символ связывания каналов. В таком случае цикл работы счетчика мультиплексирования данных и К-символов увеличивается до 75: каждый 25-й, 50-й и 75-й символы являются управляющими.
Заключение
Используя современную элементную базу, удалось в короткие сроки реализовать передачу цифровых сигналов отработанного интерфейса обмена данными через волоконно-оптический канал. При этом решение получилось гибким, позволяющим быстро переконфигурировать входы и выходы на различные комбинации интерфейсов.
СПИСОК ЛИТЕРАТУРЫ
1. High-Speed Serial I/O Made Simple. A Designer's 2. Vertex-5 Family Overview. Datasheet, (www.xilinx. Guide with FPGA Application - Abhijit Athavale, Carl ^^viSx-S FPGA Rocket IO GTX Transceiver. User Christensen. 2005. Guide_ (www.xilinx.com) 2009r.