Мультигигабитные последовательные интерфейсы
Потребность в высокоскоростном последовательном интерфейсе
Потребители постоянно нуждаются в устройствах со все более высокой производительностью, меньшим размером и с еще меньшим энергопотреблением. В мире Big Data с начала 2000-х гг. происходило радикальное изменение принципа работы шин обмена данными (рис. 1). Этот переход от параллельных шин к высокоскоростным последовательным позволил разработать устройства с гораздо меньшими размерами, более высокой скоростью передачи данных и с меньшими требованиями к питанию. Это дало возможность внедрить много различных технологий, которыми теперь пользуются потребители, – таких как SATA, USB и PCI Express.
Преимущества
На тактовую частоту параллельных шин существует физическое ограничение, находящееся в промежутке от 1 до 2 ГГц. Причина этому — задержки, возникающие в отдельных линиях тактирования и данных, которые вызывают ошибки передачи на более высоких скоростях. В высокоскоростных последовательных шинах по одной линии происходит передача кодированных пакетов, которые содержат как данные, так и информацию о тактировании, что позволяет инженерам обойти ограничений скорости передачи. Сегодня повсеместно используются высокоскоростные последовательные соединения с передачей данных на скорости 10 Гбит/с. Кроме того, можно соединить параллельно несколько последовательных линий связи для создания канала с еще более высокой пропускной способностью.
Передача данных по последовательному каналу на высокой скорости позволяет уменьшить количество выводов интегральных схем и, как следствие, размеры устройства. Более того, поскольку по сравнению с параллельными шинами последовательные линии связи могут работать с гораздо более высокой тактовой частотой, это дает им возможность достичь лучшей пропускной способности. На рис. 2 приведены широко известные стандарты шин передачи данных с разбивкой по количеству линий передачи и тактовой частоте одной линии.
Недостатки
Несмотря на то, что меньшее количество выводов упрощает конструкцию изделия, более высокая скорость работы создает проблемы для разработчиков. Поскольку частоты передачи достигают ВЧ-диапазона, для требуемой целостности сигнала должны применяться такие же методы, как при работе с ВЧ-сигналом. Поэтому в высокоскоростных последовательных линиях связи используются такие технологии, как кодирование, предыскажение и частотная коррекция.
Функциональные уровни высокоскоростных последовательных соединений
Для успешной работы последовательного соединения обе его стороны должны работать в рамках определенных условий. Эти условия можно обозначить как функциональные уровни.
Самый нижний уровень — физический. Он отвечает за успешную передачу и распознавание сигналов логического нуля и единицы. Выше него находится канальный уровень (data link), отвечающий за преобразование потока бит в значимые данные и функции, которые позволяют физическому уровню производить успешный обмен информацией. Наконец, уровни выше физического и канального могут предоставлять дополнительные сервисы, такие как коррекция ошибок, пакетная передача или маршрутизация (рис. 3). Они определяются протоколом и сферой применения и, как правило, чаще всего подвергаются модификации или настройке.
Физический уровень
Физический уровень отвечает за электрическую совместимость устройств и передачу синхронизированных бит на канальный уровень. В его рамках разработчикам необходимо согласовать электрические параметры передатчиков и приемников.
Электрический интерфейс
Различные высокоскоростные последовательные протоколы передачи данных накладывают свои ограничения на электрические параметры передатчика и приемника, от которых зависит их совместимость. Для достижения большой скорости нарастания и спадания фронтов в высокоскоростных последовательных линиях связи используются дифференциальные сигналы, что необходимо для связи на скоростях выше 1 Гб/с, минимизации электромагнитного излучения и повышения помехоустойчивости путем нейтрализации синфазных помех. Пиковое напряжение на этих скоростях редко превосходит 1 В, и электрическим стандартом обычно являются низковольтная дифференциальная передача сигналов (LVDS), эмиттерно-связанная логика (ECL) или токовая логика (CML).
Восстановление данных и сигналов тактирования
Другой важной функцией физического уровня в высокоскоростных последовательных линиях связи является восстановление данных и сигналов тактирования, или CDR (Clock Data and Recovery). CDR (рис. 4) — это возможность принимающего устройства тактировать входящий поток данных без наличия отдельного сигнала тактирования. Она реализуется с помощью канального уровня при условии частых битовых переходов 0–1 при кодировании. Это позволяет цепям фазовой автоподстройки частоты (PLL) и фазового интерполятора (PI) восстановить сигнал тактирования передатчика и использовать его для обработки входящего потока данных с минимальной ошибкой синхронизации.
Частотная коррекция
Частотной коррекцией называют процесс противодействия электрическим свойствам канала с целью улучшения его частотной характеристики. Это может производиться на принимающей или передающей стороне канала связи для увеличения его энергетического запаса, но обычно термин «частотная коррекция» используется при описании приемника. При прохождении высокоскоростного сигнала от передатчика к приемнику через цепи печатной платы, коннекторы и кабели происходит его затухание, которое неравномерно затрагивает компоненты его спектра, вызывая искажения. Частотная коррекция в мультигигабитных приемопередатчиках (MGT) позволяет производить усиление или ослабление различных частот в спектре сигнала до его оцифровки для улучшения энергетического запаса сигнала или канала. Многие MGT оснащены автокорректорами, которые могут автоматически определять и постоянно поддерживать настройки схемы корректора близкими к идеальным.
Предыскажение
«Предыскажение» — это термин, которым обычно называют частотную коррекцию со стороны передатчика высокоскоростной последовательной линии передачи данных. Оно применяется для борьбы с аналоговыми искажениями, такими как межсимвольная интерференция (inter-symbol interference, ISI). На высокой скорости работы линии биты данных начинают влиять друг на друга при передаче.
Ухудшение качества сигнала по причине ISI происходит из-за смещения, которое возникает в линии при недостаточной частоте переключений сигнала с 0 на 1 (рис. 5). Из-за этого следующее переключение на противоположное значение после ряда одинаковых бит происходит медленнее.
Канальный уровень
Канальный уровень (data link layer) отвечает за обработку сигнала с целью улучшения его целостности, обеспечения успешной передачи данных и преобразования набора бит в данные. Методики достижения этого включают в себя схемы кодирования и применение управляющих команд для синхронизации, коррекции тактирования и связывания каналов.
Схемы кодирования
С помощью кодирования обеспечивается наличие в сигнале частых изменений значения с 0 на 1 для успешного восстановления данных и сигналов тактирования (CDR), а также для поддержания электрического баланса сигнала по постоянной составляющей (DC balance). Для успешного CDR схема кодирования должна гарантировать, что в передаваемом сигнале будет достаточно переходов 0–1 для того, чтобы блок CDR оставался синхронизированным по фазе с потоком данных. Если алгоритм фазовой автоподстройки частоты в блоке CDR не сможет сохранить синхронизацию из-за недостатка переходов 0–1, принимающая сторона не сможет обеспечить синхронное тактирование битов данных и будут происходить потери бит или иные ошибки соединения. CDR осуществляется за счет постоянной передачи символов с частой сменой бит 0–1–0–1…, что достигается добавлением к данным служебных бит.
Электрический баланс сигнала также важен для поддержания работы последовательного канала связи. Если не производить его регулировку, сигнал может сместиться относительно идеальных значений высокого и низкого логического уровня, что вызовет потерю бит. Электрический баланс достигается регулировкой среднего количества передаваемых нулей и единиц, число которых в единицу времени в сбалансированном сигнале одинаково. Несколько общих примеров схем кодирования: 8b/10b, 64b/66b и 128b/130b.
Связывание каналов
Если скорость работы линии связи и схема кодирования не способны обеспечить необходимую пропускную способность при помощи одного последовательного канала передачи, можно работать с несколькими каналами. К примеру, стандарт HDMI использует три линии последовательной связи для достижения общей пропускной способности. При отправке данных по нескольким каналам из-за задержек передачи пакеты в разных каналах будут прибывать в приемник в разное время. В некоторых областях применения может понадобиться синхронизация данных, полученных по разным каналам приемника. Эта процедура известна как связывание каналов. Каждый из каналов приемника оснащен буфером данных, который используется как для коррекции тактирования сигнала, так и для связывания каналов. Оно изменяет положение указателей считывания в буфере данных каждого канала приема, для того чтобы приемник мог считать синхронизированные данные со всех каналов (рис. 6).
Для связывания каналов применяется специальный зарезервированный контрольный символ или их последовательность. Линия последовательной связи имеет один ведущий канал, а остальные каналы считаются ведомыми. Контрольная последовательность для связывания каналов отправляется передатчиком одновременно по ведущему и всем ведомым каналам. При ее обнаружении приемником ведущего канала в определенном месте буфера данных на все приемники ведомых каналов передается команда на поиск этой последовательности в их буферах и указатели считывания во всех буферах устанавливаются на ее позицию. Поскольку каждый канал приема имеет свое смещение для буфера данных, приемник способен считывать информацию из нужного места в каждом из буферов, получая в результате синхронизированные данные.
Символы ожидания
Символ ожидания является важным управляющим элементом. Передатчик должен непрерывно передавать сигнал приемнику для того, чтобы блок восстановления тактирования и данных оставался синхронизированным по фазе. Если полезные данные для отправки отсутствуют, необходимо посылать символы ожидания. Это управляющие символы, определяемые протоколом, и приемник не распознает их как значащие данные.
Верхние уровни
Дополнительные верхние уровни находятся над уровнем канала данных и позволяют инженерам настроить канал связи под конкретную задачу. В некоторых протоколах описаны специальные стандарты для функционала верхних уровней, в других они могут быть определены разработчиком. Широко используемый функционал включает поиск и коррекцию ошибок, данные о заголовках для пакетной передачи и даже информацию о статусе соединения.
Уровни выше стандартных (канального и физического) обычно настраиваются под требования конкретной задачи, позволяя инженерам извлечь выгоду из существующей реализации стандартных уровней. Примерами распространенных функций верхнего уровня являются обнаружение и коррекция ошибок при помощи циклического контроля четности с избыточностью — CRC (cyclic redundancy checking) и упреждающей коррекции ошибок, или FEC (forward error correction). Компромиссным решением при передаче данных являются различные комбинации алгоритмов для обнаружения и коррекции ошибок. CRC содержит в себе методику поиска потерянных бит в принятых данных, но с его помощью нельзя исправить найденную ошибку. Единственный способ — запросить данные повторно. При этом FEC содержит в передаваемых данных дополнительную информацию, с помощью которой на принимающей стороне можно исправить небольшое количество ошибок.
Перспективы высокоскоростной последовательной связи
Высокоскоростная последовательная связь является фундаментальным прорывом в принципах работы цифровых интерфейсов, позволяющим существенно увеличить пропускную способность. Меньшие размер и потребляемая мощность, наряду с большей производительностью, ведут к быстрому росту популярности высокоскоростных последовательных интерфейсов. Принципы их работы постоянно совершенствуются, и разработчики предлагают все более высокие скорости передачи данных, что позволяет использовать их в мире Big Data. Примером недавних успехов является переход к многоуровневой передаче сигнала, такой как импульсно-амплитудные модуляции PAM-4 и PAM-8, которые обеспечивают передачу данных на большей скорости при той же полосе пропускания канала. Из-за возрастающих требований к скорости многим инженерам приходится ускорять разработки и тестирование новых интерфейсов.
Компания National Instruments следует тенденциям рынка высокоскоростной последовательной связи, поэтому теперь высокоскоростные последовательные приемопередатчики присутствуют во многих предлагаемых NI решениях для различных задач: от функционального цифрового тестирования до автономных обработчиков и ВЧ-тестирования при помощи векторного трансивера второго поколения (VST). Универсальный мультигигабитный последовательный порт реализован с помощью подключения цифровых линий к открытой ПЛИС для гибкого задания протокола порта, а также предоставления готовых IP-реализаций протоколов Xilinx Aurora, RapidIO, JESD204B, CPRI, 10 Gigabit Ethernet и др. Сегодня такой порт не только доступен в виде отдельного прибора формата PXI Express, но также интегрируется в радиоизмерительные приборы, такие как NI VST, и во встраиваемые измерительные решения, такие как контроллер для NI FlexRIO.