Мультигигабитный трансивер - Multi-gigabit transceiver

А мультигигабитный трансивер (MGT) это СерДес способен работать со скоростью последовательной передачи данных выше 1 Гбит / с. MGT все чаще используются для передачи данных, поскольку они могут работать на больших расстояниях, использовать меньше проводов и, следовательно, иметь более низкие затраты, чем параллельные интерфейсы с эквивалентной пропускной способностью данных.

Функции

Как и другие СерДес, основная функция MGT - передавать параллельные данные в виде потока последовательных битов и преобразовывать полученные последовательные биты в параллельные данные. Самым основным показателем производительности MGT является его последовательная битовая скорость или линейная скорость, которая представляет собой количество последовательных битов, которые он может передавать или принимать в секунду. Хотя строгого правила нет, MGT обычно могут работать со скоростью линии 1 Гбит / с или более. MGT стали «магистралями данных» для систем обработки данных, которые требуют большого количества входных / исходящих необработанных данных (например, обработка видео) Приложения). Они становятся очень распространенными на FPGA - такие программируемые логические устройства особенно хорошо подходят для параллельных алгоритмов обработки данных.

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

ТехнологииФункция
Дифференциальная сигнализацияMGT используют дифференциальную сигнализацию для передачи и приема последовательных данных. Дифференциальная сигнализация позволяет более быстрое переключение, поскольку изменение уровня сигнала, необходимое для переключения с 1 на 0 или с 0 на 1, уменьшается вдвое. Кроме того, если перекос между двумя линиями каждого дифференциальная пара сведены к минимуму, дифференциальные сигналы имеют повышенную устойчивость к Электромагнитные помехи (EMI), Перекрестные помехи, и шум.
Логика текущего режима MOS (MCML)MCML относится к логике текущего режима, реализованной с использованием MOSFET вместо биполярных транзисторов. MCML использует дифференциальные усилители для управления и приема данных на высоких скоростях с использованием низких напряжений.
АкцентНа высоких скоростях линии передачи последовательных данных имеют тенденцию вести себя как фильтры нижних частот. Это приводит к тому, что высокочастотные компоненты последовательных данных теряют мощность быстрее, чем низкочастотные компоненты, искажая сигнал и вызывая Межсимвольная интерференция (ISI). Один из способов решить эту проблему - использовать Превышение или Deemphasis формировать передаваемый сигнал для компенсации ожидаемых потерь.
Получите выравниваниеАльтернативой акценту является выравнивание, при котором высокочастотные части спектра принимаемого сигнала усиливаются больше, чем низкочастотные, чтобы компенсировать низкочастотное поведение линии.
Согласование оконечного сопротивленияПри высоких скоростях линии провода, используемые для передачи последовательных данных, обладают многими свойствами Линии передачи. Одним из важных свойств является то, что сигналы в линии могут искажаться, если импеданс MGT на передатчике и приемнике не соответствует импедансу линии. Чтобы противостоять этому, MGT обычно проектируются таким образом, чтобы согласовать полное сопротивление проводов, которые их соединяют, как можно ближе. Обычно используемое значение импеданса составляет 100 Ом (дифференциальное, примерно эквивалентно несимметричному импедансу 50 Ом для каждого провода).
Цепи фазовой автоподстройки частоты (ФАПЧ)Чтобы сериализовать данные на высоких скоростях, тактовая частота последовательного интерфейса должна быть точно кратной тактовой частоте параллельных данных. Большинство MGT используют PLL для умножения опорных тактовых импульсов, работающих с желаемой параллельной скоростью, на требуемую последовательную скорость.
Восстановление данных часов (CDR)Когда получены последовательные данные, MGT должен использовать те же последовательные часы, которые сериализовали данные, чтобы десериализовать их. При высоких скоростях линии обеспечение последовательного тактового сигнала отдельным проводом очень непрактично, потому что даже малейшая разница в длине между линией данных и линией тактовых импульсов может вызвать значительный перекос тактовой частоты. Вместо этого MGT восстанавливают тактовый сигнал напрямую из данных, используя переходы в данных для регулировки скорости своих локальных последовательных часов, чтобы она была привязана к скорости, используемой другим MGT. Системы, использующие CDR, могут работать на гораздо больших расстояниях с более высокими скоростями, чем их аналоги без CDR.
Кодирование / декодированиеШаблон данных, передаваемых последовательно между MGT, может повлиять на их производительность.
  • Если в данных слишком мало переходов, принимающий MGT не сможет использовать CDR.
  • Если данные слишком повторяющиеся, при высоких частотах линии будут создавать сильные поля и вызывать EMI.
  • Если в данных слишком много единиц, чем нулей, или наоборот, Связь по переменному току MGT испытают Джиттер, зависящий от данных вызвано зарядкой и разрядкой емкостей в линии.

Большинство протоколов связи для MGT используют систему кодирования данных, чтобы избежать этих проблем.

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

Некоторые популярные кодировки:

  • 8B / 10B: каждый октет данных отображается в 10-битную последовательность
  • 64B / 66B: данные группируются в наборы по 64 бита, скремблируются, а затем имеют префикс в виде 2-битного заголовка
  • 64B / 67B: как 64B / 66B, но вместо него используется 3-битный заголовок. Дополнительный бит указывает, инвертированы ли 64 бита или нет, чтобы позволить MGT гарантировать, что количество переданных нулей и единиц примерно сбалансировано.
  • SONET / SDH: не кодировка, а группа связанных стандартов, которые группируют данные в блоки фиксированного размера, скремблируют их и добавляют кадр, который включает в себя символ выравнивания
Обнаружение ошибокДля большинства систем требуется определенная форма обнаружения ошибок. Наиболее распространенные формы обнаружения ошибок в MGT:
  • Обнаружение ошибок на основе кодирования: большинство кодировок определяют набор допустимых символов и допустимые последовательности символов. MGT могут обнаруживать ошибки, ища данные, которые недопустимы в используемой кодировке.
  • Циклический контроль избыточности (CRC): Для использования CRC данные разбиваются на кадры (или пакеты ), и к каждому кадру применяется функция CRC. Результат функции добавляется к кадру при его передаче - приемник может повторно вычислить ту же функцию для данных, которые он получает, и сравнить его с результатом передатчика, чтобы определить, находятся ли данные в кадре (или результат CRC передатчика ) был поврежден во время передачи.
ВыравниваниеКогда MGT принимает последовательные данные, ему необходимо определить границы байтов данных, прежде чем он сможет представить данные как параллельные биты. Эту функцию обычно выполняет блок выравнивания. Точный метод, используемый для выравнивания, зависит от типа кодировки, используемой для данных:
  • Выравнивание запятых (8B / 10B): приемник ищет во входящем последовательном потоке запятые (управляющие символы 8B / 10B, которые не могут быть созданы путем объединения других символов). Когда он находит запятую, выравнивает границу запятой с границей байта, чтобы все последующие данные были выровнены.
  • Блочная синхронизация (64B / 66B и 64B / 67B): приемник ищет во входящем потоке данных 2-битный (или 3-битный, в случае 64B / 67B) заголовок для каждого 64-битного блока.
  • Выравнивание A1 / A2 (SONET / SDH): кадры SONET включают заголовок и скремблированную полезную нагрузку. MGT, получающие данные SONET, ищут повторное совпадение с символами выравнивания в заголовке (называемыми A1 и A2) для определения границ байта.
Коррекция часовВсегда есть небольшая разница частот (обычно ~ +/- 100промилле ) между источниками опорных тактовых импульсов, даже если они номинально имеют одинаковую частоту. В результате в системах, где каждый MGT использует свои собственные опорные часы, каждый MGT использует немного отличающуюся частоту для своего канала передачи данных (TX) и канала передачи данных приема (RX).

Многие протоколы упрощают синхронизацию с помощью коррекции часов. При коррекции часов каждый MGT включает асинхронный ФИФО. Данные RX записываются в FIFO с использованием последовательных часов из CDR и считываются из FIFO с использованием параллельных часов из остальной системы (локальные часы), обычно те же параллельные часы, которые использовались для TX.

Поскольку часы CDR и локальные часы не совсем одинаковы, FIFO в конечном итоге будет переполнен или опустошен, если он не будет исправлен. Чтобы разрешить исправление, каждый MGT периодически передает один или несколько специальных символов, которые получатель может удалить или воспроизвести в FIFO по мере необходимости. Удаляя символы, когда FIFO слишком заполнен, и реплицируя символы, когда FIFO слишком пуст, получатель может предотвратить переполнение / недостаточное заполнение. Эти специальные символы обычно известны как SKIP.

Связывание каналовМногие протоколы объединяют несколько соединений MGT для создания единого канала с более высокой пропускной способностью (например, XAUI, PCI Express ). Если каждое из последовательных соединений не имеет точно одинаковой длины, перекос между дорожками может привести к тому, что данные, передаваемые в одно и то же время, будут поступать в разное время.

Связывание каналов позволяет MGT компенсировать перекос между множественными соединениями. Все MGT одновременно передают символ связывания канала (или последовательность символов). Когда последовательность получена, принимающие MGT могут определить перекос между ними, а затем скорректировать задержку FIFO в своих каналах данных приема для компенсации.

Электрический режим ожидания / внеполосная сигнализацияНекоторые протоколы используют отсутствие перепада напряжения выше указанного порогового значения для отправки сообщений. Например, PCI Express использует сигналы электрического простоя, чтобы указать, когда конечные точки должны переходить в режимы низкого энергопотребления и выходить из них. Так же, Последовательный ATA использует сигналы COM для управления питанием. Для поддержки этих функций MGT должны включать схемы, способные генерировать и обнаруживать сигналы электрического простоя / OOB на последовательных линиях.

Целостность сигнала и джиттер

Целостность сигнала имеет решающее значение для MGT из-за их высоких линейных скоростей. Качество данной высокоскоростной связи характеризуется Коэффициент битовых ошибок (BER) соединения (отношение битов, полученных с ошибкой, к общему количеству полученных битов), и дрожь.

BER и джиттер - это функции всего соединения MGT, включая сами MGT, их последовательные линии, их опорные часы, их источники питания и цифровые системы, которые создают и потребляют их параллельные данные. В результате MGT часто измеряются тем, насколько малый джиттер они передают (передача джиттера / генерация джиттера), и сколько джиттера они могут выдержать до того, как их BER станет слишком высоким (допуск джиттера). Эти измерения обычно проводятся с использованием БЕРТ, и проанализированы с помощью Глазковая диаграмма.

Прочие соображения

Некоторые другие показатели для MGT включают:

  • Максимальная длина цикла до потери блокировки CDR
  • Потребляемая мощность
  • Гибкость (например, несколько скоростей линии, несколько кодировок)
  • Дифференциальное качание (максимальный дифференциальный сигнал, который может передавать MGT)
  • Чувствительность приемника (минимальный дифференциальный сигнал, который MGT может обнаружить)
  • Коэффициент подавления синфазного сигнала

Протоколы, использующие MGT

MGT используются при реализации следующих последовательных протоколов:

внешние ссылки

использованная литература