Un serializador / deserializador ( SerDes pronunciado sir-deez o sir-dez) es un par de bloques funcionales comúnmente usados en comunicaciones de alta velocidad para compensar entradas / salidas limitadas. Estos bloques convierten datos entre datos en serie e interfaces paralelas en cada dirección. El término "SerDes" se refiere genéricamente a interfaces utilizadas en diversas tecnologías y aplicaciones. El uso principal de SerDes es proporcionar transmisión de datos a través de una sola línea o un par diferencial para minimizar el número de pines de E / S e interconexiones.
Función genérica
La función básica de SerDes se compone de dos bloques funcionales: el bloque Parallel In Serial Out (PISO) (también conocido como convertidor paralelo a serie) y el bloque Serial In Parallel Out (SIPO) (también conocido como convertidor serie a paralelo). Hay 4 arquitecturas SerDes diferentes: (1) SerDes de reloj paralelo, (2) SerDes de reloj integrado, (3) SerDes de 8b / 10b, (4) SerDes de bits intercalados.
El bloque PISO (entrada en paralelo, salida en serie) normalmente tiene una entrada de reloj paralelo, un conjunto de líneas de entrada de datos y pestillos de datos de entrada. Puede utilizar un bucle de bloqueo de fase (PLL) interno o externo para multiplicar el reloj paralelo entrante hasta la frecuencia en serie. La forma más simple del PISO tiene un registro de desplazamiento único que recibe los datos en paralelo una vez por reloj paralelo y los desplaza a la frecuencia de reloj en serie más alta. Las implementaciones también pueden hacer uso de un registro de doble búfer para evitar la metaestabilidad al transferir datos entre dominios de reloj.
El bloque SIPO (entrada en serie, salida en paralelo) normalmente tiene una salida de reloj de recepción, un conjunto de líneas de salida de datos y pestillos de datos de salida. Es posible que el reloj de recepción se haya recuperado de los datos mediante la técnica de recuperación del reloj en serie . Sin embargo, los SerDes que no transmiten un reloj utilizan un reloj de referencia para bloquear el PLL en la frecuencia Tx correcta, evitando las bajas frecuencias armónicas presentes en el flujo de datos . El bloque SIPO luego divide el reloj entrante a la frecuencia paralela. Las implementaciones suelen tener dos registros conectados como un búfer doble. Un registro se usa para sincronizar el flujo en serie y el otro se usa para almacenar los datos para el lado paralelo más lento.
Algunos tipos de SerDes incluyen bloques de codificación / decodificación. El propósito de esta codificación / decodificación es típicamente colocar al menos límites estadísticos en la velocidad de las transiciones de la señal para permitir una recuperación de reloj más fácil en el receptor, para proporcionar entramado y para proporcionar un equilibrio de CC .
Reloj paralelo SerDes
El reloj paralelo SerDes se utiliza normalmente para serializar una entrada de bus paralelo junto con la dirección de datos y las señales de control. El flujo serializado se envía junto con un reloj de referencia. La tolerancia a la fluctuación del reloj en el serializador es de 5 a 10 ps rms.
Reloj integrado SerDes
Un reloj integrado SerDes serializa los datos y el reloj en un solo flujo. Primero se transmite un ciclo de señal de reloj, seguido del flujo de bits de datos; esto crea un flanco ascendente periódico al comienzo del flujo de bits de datos. Como el reloj está integrado explícitamente y se puede recuperar del flujo de bits, la tolerancia a la fluctuación del reloj del serializador (transmisor) se relaja a 80-120 ps rms, mientras que la disparidad del reloj de referencia en el deserializador puede ser de ± 50000 ppm (es decir, 5%) .
SerDes 8b / 10b
8b / 10b SerDes mapea cada byte de datos a un código de 10 bits antes de serializar los datos. El deserializador usa el reloj de referencia para monitorear el reloj recuperado del flujo de bits. A medida que la información del reloj se sintetiza en el flujo de bits de datos, en lugar de incrustarla explícitamente, la tolerancia a la fluctuación del reloj del serializador (transmisor) es de 5 a 10 ps rms y la disparidad del reloj de referencia en el deserializador es de ± 100 ppm.
Un esquema de codificación común utilizado con SerDes es la codificación 8b / 10b . Esto es compatible con el equilibrio de CC, proporciona encuadre y garantiza transiciones frecuentes. Las transiciones garantizadas permiten que un receptor extraiga el reloj integrado. Los códigos de control permiten el encuadre, normalmente al comienzo de un paquete. Las interfaces del lado paralelo 8b / 10b SerDes típicas tienen una línea de reloj, una línea de control y 8 líneas de datos.
Dichos bloques de codificador serializador más 8b / 10b y deserializador más decodificador se definen en la especificación Gigabit Ethernet .
Otro esquema de codificación común utilizado con SerDes es la codificación 64b / 66b . Este esquema proporciona estadísticamente el equilibrio DC y las transiciones mediante el uso de un codificador. El encuadre se entrega a través de las transiciones deterministas de los bits de encuadre agregados.
Dichos bloques de codificador serializador más 64b / 66b y deserializador más decodificador se definen en la especificación de 10 Gigabit Ethernet . El lado de transmisión comprende un codificador 64b / 66b, un codificador y una caja de cambios que convierte la señal 66b en una interfaz de 16 bits. Luego, otro serializador convierte esta interfaz de 16 bits en una señal completamente en serie.
SerDes intercalados de bits
SerDes intercalado de bits multiplexa varios flujos de datos seriales más lentos en flujos seriales más rápidos, y el receptor demultiplexa los flujos de bits más rápidos de nuevo a flujos más lentos.
Estandarización de SerDes
El Optical Internetworking Forum (OIF) ha publicado los Acuerdos de Interoperabilidad (IAs) de Common Electrical I / O (CEI), que han definido cinco generaciones de la interfaz eléctrica de SerDes, a 3.125, 6, 10, 28 y 56 Gb / s. La OIF ha anunciado nuevos proyectos a 112 Gb / s. La OIF también publicó tres generaciones anteriores de interfaces eléctricas. Estos IA se han adoptado o adaptado o han influido en las interfaces eléctricas de alta velocidad definidas por IEEE 802.3 , Infiniband , RapidIO , Fibre Channel y muchos otros organismos.
Ver también
- Registro de cambios: se utiliza para crear un SerDes
- Subcapa de codificación física
- Lista 8b / 10b de protocolos comunes que utilizan SerDes codificados 8b / 10b
- Interfaz SerDes Framer
- Transceptor multigigabit