SerDes

09.10.2021

Сериализатор/Десериализатор (SerDes) — пара функциональных блоков, обычно используемых в высокоскоростной связи, для преобразования данных между последовательным и параллельным интерфейсами в обоих направлениях. Термин «SerDes» относится к обобщённым интерфейсам, используемым в различных технологиях и приложениях. Основное использование SerDes — обеспечение высокоскоростной передачи данных по одиночной линии или по дифференциальной паре для уменьшения количества контактов ввода/вывода микросхемы и межсоединений между компонентами.

Общая функция

Основная структура SerDes разделяется на два функциональных блока: блок параллельно-последовательного преобразователя (PISO, Parallel In Serial Out) и блок последовательно-параллельного преобразователя (SIPO, Serial In Parallel Out). Есть 4 различных архитектуры SerDes: (1) SerDes с параллельным тактированием, (2) SerDes с внутренним тактированием, (3) 8b/10b SerDes (или более сложные коды), (4) SerDes с чередованием битов.

Блок параллельно-последовательного преобразователя PISO обычно имеет параллельный тактовый вход, набор входных линий данных, и вход фиксации данных. Он может использовать внутреннюю или внешнюю фазовую автоподстройку частоты (ФАПЧ) для умножения входящего параллельного тактового сигнала до частоты тактового сигнала последовательного выхода. Простейшая форма PISO имеет только сдвиговый регистр, который принимает параллельные данные с параллельным тактированием, и выдвигает его с более высокой последовательной тактовой частотой. Реализации могут также использовать двойную буферизацию регистра, чтобы избежать метастабильности при передаче данных между частями с разной тактовой частотой.

SIPO, блок последовательно-параллельного преобразователя, обычно имеют выход входящей тактовой частоты, набор выходных линий данных и выходные защелки данных. Приёмный тактовый сигнал могут быть восстановлены из данных по методу восстановления тактового сигнала. Однако SerDes, которые не передают тактовые сигналы, используют образцовые такты для синхронизации ФАПЧ с необходимой частой TX, во избежание низкочастотных гармоник, присутствующих в потоке данных. Блок SIPO понижает входящую тактовую частоту для параллельного выхода. Реализации, как правило, имеют два регистра, подключенных как двойной буфер. Один регистр используется для тактирования последовательного потока, а другой используется для хранения данных более медленной, параллельной стороны.

Некоторые типы SerDes включают блок кодирования/декодирования. Целью такого кодирования и декодирования является, как правило, изменение статистических свойств передаваемого сигнала для облегчения восстановления тактового сигнала в приёмнике и обеспечения синхронизации фреймов. Также кодирование может обеспечивать баланс по постоянному току.

SerDes с параллельным тактированием

SerDes с параллельным тактированием обычно используются для сериализации параллельной входной шины вместе с адресными и управляющими сигналами. Сериализованный поток посылается вместе с тактовым сигналом. Джиттер тактового сигнала порядка 5-10 ps среднеквадратично.

SerDes со встроенным тактированием

SerDes с внутренним тактированием сериализует данные и тактирование в единый поток. Сначала передаётся один цикл тактового сигнала, а затем битовый поток данных; это создает периодический нарастающий фронт в начале битового потока данных. Поскольку такты внедрены и могут быть извлечены из битового потока, допуск по джиттеру сериализатора (передатчика) 80—120 пс среднеквадратично, в то время как эталонные часы неравенство в десериализатор может быть ±50 000 промилле (то есть 5 %).

8В/10В SerDes

SerDes типа 8b/10b перед сериализацией данных транслирует каждый байт данных в 10-битовый код. Десериализатор использует опорную частоту, чтобы контролировать восстановленные такты из битового потока. Поскольку тактовая информация обобщается в поток битов данных, а не явно встраивается в него, среднеквадратичное значение джиттера сериализатора (передатчик) находится в пределах 5—10 пс, а диспаритет опорной частоты в десериализаторе порядка ±100 ppm.

Стандартная схема кодирования, используемая в SerDes, это кодирование 8b/10b. Это поддерживает баланс постоянного напряжения, обеспечивает кадрирование, и гарантирует частые переходы. Гарантированные переходы позволяют приёмнику извлекать встроенные такты. Управляющие коды позволяют кадрирование, как правило, на начало пакета. Типичный интерфейс параллельной стороны SerDes 8b/10b имеют одну линию тактирования, одну линию управления и 8 линий данных.

Такой сериализатор вместе с энкодером 8b/10b и блок десериализатора-плюс-декодера определены в спецификации Gigabit Ethernet.

Еще одной стандартной схемой кодирования, используемой с SerDes, является 64b/66b кодирование. Эта схема обеспечивает статистически баланс постоянного тока и переходы с помощью скремблера. Кадрирование доставляется через детерминированные переходы в добавленных обрамляющих битах.

Такие блоки сериализатор-плюс-64b/66b энкодер и десериализатор-плюс-дешифратор определяются в спецификации 10-Гигабитного Ethernet. В передающей части содержит энкодер 64b/66b, шифратор и коробка передач, которая преобразует 66б сигнала в 16-битный интерфейс. Другой сериализатор затем преобразует этот 16-битный интерфейс в последовательный сигнал.

SerDes с чередованием битов

SerDes с чередованием битов мультиплексирует несколько медленных последовательных потоков данных в более быстрые последовательные потоки, и приёмник демультиплексирует быстрее битовые потоки обратно в медленные потоки.

Стандартизация SerDes

Форум по межсетевому оптическому взаимодействию (англ. Optical Internetworking Forum, OIF) опубликовал Соглашения по взаимодействию (англ. Interoperability Agreements, IAs) для Общих электрических систем ввода-вывода (англ. Common Electrical I/O), в рамках которых были определены 5 поколений электрических интерфейсов SerDes, работающих на скоростях 3.125, 6, 10, 28 и 56 Гбит/с. ФПМО также анонсировал новые проекты, функционирующие на скорости 112 Гбит/с. Кроме того, были опубликованы описания трёх предыдущих поколений электрических интерфейсов. Данные соглашения были в разной мере либо адаптированы, либо приняты, либо оказали влияние на электрические интерфейсы, определённые стандартами IEEE 802.3, InfiniBand, Serial RapidIO, Fibre Channel и множеством других документов.