Explicación del Serial de Alta Velocidad

Visión General

El serial de alta velocidad es una tecnología que está creciendo cada vez más con el objeto de reducir el tamaño e incrementar la velocidad de comunicación de datos. Este documento tiene la intención de informar a ingenieros sobre los conceptos fundamentales de los enlaces de comunicación serial de alta velocidad.

 

Contenido

La Necesidad del Serial de Alta Velocidad

Los consumidores continuamente están demandando mejor rendimiento, en un tamaño más pequeño, con requerimientos de menor consumo de energía. En un mundo de macro datos, hemos visto un cambio drástico en los buses de comunicación digital avanzando de buses paralelos a seriales, desde principios del año 2000.  La transición de buses paralelos a seriales de alta velocidad ha dado lugar a dispositivos más pequeños, transferencia de datos más alta y menores requerimientos energéticos, lo cual ha hecho posible muchas de las tecnologías como SATA, USB o PCI Express que hoy en día los consumidores aprovechan.

 

Figura 1. Desde principios del año 2000, los estándares comunes de comunicación 
en paralelo comenzaron a cambiar a estándares seriales.

Ventajas

Existe una limitación física en el reloj de los buses paralelos alrededor de 1 GHz a 2 GHz.  Esto se debe a un desfase causado por líneas individuales de reloj y datos que causan errores de bits a altas velocidades.  Los buses de alta velocidad envían datos codificados que contienen tanto datos como información de sincronización en una sola señal diferencial, permitiendo a los ingenieros superar las limitantes de velocidad que se presentan en los buses paralelos.  Hoy en día, es común ver enlaces seriales de alta velocidad con líneas de datos ejecutándose a 10 Gbps.  Además, múltiples líneas de enlaces seriales pueden unirse para formar enlaces de comunicación con transferencias de datos más altas.

Presentar los datos en serie a velocidades más altas permite reducir la cantidad de pines en los circuitos integrados (ICs), lo cual ayuda a reducir el tamaño.  Además, ya que las líneas seriales pueden operar a una velocidad de reloj mucho más alta, también alcanzamos un mejor rendimiento de datos de lo que era posible con buses paralelos.

Figura 2. Esta tabla muestra estándares de buses conocidos y sus respectivos números de líneas en comparación con sus velocidades.  Los estándares seriales pueden transmitir a velocidades de línea mucho más altas que los paralelos, dando como resultado rendimiento más alto.

 

Desventajas

Mientras la reducción en la cantidad de pines puede reducir las complejidades del diseño, los requerimientos de velocidades más rápidas, traen consigo más retos en el diseño.  Con diseños que alcanzan frecuencias de RF, se deben tomar en cuenta consideraciones similares a RF para lograr una integridad adecuada de la señal. Para disminuir estos problemas de integridad de la señal, los enlaces seriales de alta velocidad implementan técnicas como codificación, pre-análisis y ecualización.

 

Capas de Enlaces Seriales de Alta Velocidad

Para que una conexión serial funcione, cada terminal debe estar de acuerdo para operar dentro de parámetros específicos.  Estos parámetros pueden ser extraídos para múltiples capas funcionales.  

Figura 3.  Pueden existir capas adicionales encima de la capa física y capa enlace de datos.  Estas capas varían por protocolo y aplicación y son personalizadas más comúnmente.

 

La capa más baja es la capa física, la cual es responsable de una transmisión exitosa y de recuperación de los 0s y los 1s.  Encima de esta, la capa enlace de datos es responsable de mapear los bits a datos significativos, junto con funciones para permitir que la capa física pueda transmitir y recibir exitosamente.  Finalmente, las capas superiores encima de la capa física y la capa enlace de datos pueden proporcionar contexto adicional con características como corrección de error, empaquetado o información de enrutado de datos.

 

Capa Física

La capa física es responsable de garantizar la compatibilidad eléctrica entre dispositivos y presentar de forma sincronizada los bits registrados a la capa enlace de datos.

 

Interfaz Eléctrica

Diferentes protocolos seriales de alta velocidad definirán los diferentes requerimientos para la interfaz eléctrica del transmisor y del receptor.  Esto garantiza la compatibilidad eléctrica al conectar el dispositivo transmisor y el receptor.  La señal eléctrica para enlaces seriales de alta velocidad es diferencial para alcanzar tiempos de subida y de bajada extremadamente rápidos que son necesarios para comunicar a velocidades arriba de 1 Gbps, disminuir emisiones electromagnéticas y mejorar inmunidad de ruido al rechazar ruido de modo común. Además, los voltajes pico-a-pico rara vez llegan arriba de 1V a estas velocidades y los estándares eléctricos generalmente son LVDS (Señal Diferencial de Bajo Voltaje), ECL (Lógica de Emisores Acoplados) o CML (Lógica de Modo de Corriente).  

 

Recuperación de Datos y Reloj (CDR)

Otra característica importante de la capa física para enlaces seriales de alta velocidad es la recuperación de datos y reloj (CDR)  CDR es la habilidad del dispositivo de recepción de cronometrar la transferencia de datos entrantes sin la necesidad de una señal de reloj actual.  Esto es realizado con la ayuda de la capa enlace de datos garantizando transiciones de bits a través de codificación, permitiendo a un circuito de lazo de seguimiento de fase (PLL) e interpolador de fase (PI) recrear el reloj transmisor y usarlo para capturar el flujo de datos entrante con mínimo error de temporización.

Figura 4.  Ya que la codificación en la capa enlace de datos garantiza que habrá transiciones frecuentes entre 0 y 1, los circuitos CDR pueden PLL a la transferencia de bits entrantes y muestrear de forma síncrona los bits de datos codificados.

 

Consideraciones para la Integridad de la Señal

Al transmitir datos con bits cambiando a velocidades arriba de 5 GHz, se presentan retos de diseño analógico similares.  Ya que las velocidades de transmisión ahora están en rangos de frecuencia típicos de diseños de RF, aparecerán problemas de integridad de la señal que se volverán un reto.  Es importante que se usen PCBs, conectores y cables de alta calidad para establecer una comunicación con éxito a estas altas velocidades de datos.  También, es importante para los diseñadores de PCB comprender la teoría al realizar diseños para transmisiones seriales de alta velocidad y así, evitar apagones, desfase de impedancia, desfase de longitud de traza y uso de técnicas adecuadas para disminuir distorsiones de la señal.  

 

Ecualización

La ecualización es el proceso de contrarrestar el comportamiento eléctrico del canal en un esfuerzo para incrementar la respuesta de frecuencia de los canales.  Esto puede ocurrir ya sea del lado del transmisor o del receptor del enlace de comunicación para mejorar el margen del enlace, pero el término ecualización generalmente es usado al hacer referencia al receptor.  Cuando la señal serial de alta velocidad viaja por las trazas de la PCB, a través de conectores y cables y hacia el receptor, la atenuación no afecta todos los componentes de frecuencia de la señal por igual y causa distorsión de la señal. La configuración de la ecualización en los transceptores multi-gigabit (MGTs) puede agregar ganancia o atenuación a diferentes frecuencias de la señal antes de ser muestreada para mejorar el margen del enlace y la señal.  Muchos MGTs tienen auto-ecualización que puede detectar automáticamente y actualizar continuamente los ecualizadores a su configuración ideal.   

 

Pre-Énfasis

El pre-énfasis es el término típico usado para referirse a la ecualización de lado del transmisor de un enlace serial de alta velocidad.  Se utiliza principalmente para superar los retos analógicos similares a los que presenta la interferencia entre símbolos (ISI).  A rápidas velocidades de línea, los bits de datos comienzan a afectarse uno a otro al transmitirse.  Por ejemplo, si existen tres 1 transmitidos sucesivamente, seguidos por un solo 0, es difícil para el 0 ser impulsado rápidamente porque la línea ha creado una polarización positiva.

 

   

Figura 5. Degradación de la señal debido a la interferencia entre símbolos (ISI).   Esto es causado por la falta de transiciones de bits pues hace que la línea cree una tendencia, dificultando la rápida transición al bit opuesto.

 

Existen dos maneras de superar la ISI.  Conociendo que solamente el primer bit tiene problemas después de una transición de bajo a alto o alto a bajo, podemos amplificar solamente el primer bit después de una transición. Esto podría resultar en una señal que se muestra en la figura 6.

 

Figura 6. El pre-énfasis está diseñado para exagerar el primer bit después de una transición de una señal.  Esto ayuda a disminuir los problemas como la interferencia entre símbolos (ISI).

 

Un enfoque más común para obtener una forma de onda similar a la que se muestra en la figura 6 es atenuar los bits después de la primera transición, en lugar de amplificar el primero.  Los filtros de paso alto logran esto, ya que los bits en transición (frecuencia más alta) son menos atenuados que los bits que no están en transición.

 

Capa de Enlace de Datos

La capa enlace de datos es responsable de la manipulación de datos para mejorar la integridad de la señal, garantizar una comunicación exitosa y mapear los bits físicos a los datos.  Las funciones para habilitar esto son los esquemas de codificación y control de caracteres para alineamiento, corrección de reloj y unión de canales.   

 

Esquemas de Codificación

El objetivo de codificar es garantizar transiciones frecuentes de bits para lograr una Recuperación de Datos y Reloj (CDR) exitosa, así como garantizar un equilibrio de DC para los datos.  Para garantizar una CDR exitosa, el esquema de codificación necesita asegurar que la señal de datos tendrá suficiente transiciones para que el circuito CDR permanezca bloqueado en fase con el flujo de datos.  Si el PLL dentro del circuito CDR no puede mantenerse bloqueado por falta de transiciones, el receptor no puede garantizar sincronización sincrónica de bits de datos y ocurrirán errores de bits o falla de enlace. CDR se logra al asegurar la transmisión de símbolos con transiciones frecuentes de bits, lo cual resulta en bits superpuestos que se añaden a los datos.
El equilibrio de DC también es importante para mantener funcionando un enlace serial.  Si la cantidad de equilibrio de DC no es regulada, las señales podrían alejarse de los niveles lógicos altos y bajos ideales y pueden ocurrir errores de bits.  El equilibrio de DC está garantizado al equilibrar la cantidad estadística de 1 y 0 en los símbolos que son transmitidos.  En una señal DC equilibrada, el número de 0 y 1 transmitidos en el tiempo son estáticamente igual en el tiempo.   

 

Codificación 8b/10b

Un esquema común de codificación es 8b/10b.  Por cada ocho bits de datos, son añadidos dos bits adicionales para codificación.  Estos dos bits adicionales proporcionan cuatro veces más representaciones de bits (símbolos) que está disponibles con solamente ocho bits de datos.  Con varias opciones de símbolo a elegir a partir de ahora, el estándar 8b/10b elije los símbolos predefinidos con la mayoría de transiciones y el mejor equilibrio de DC para mapear a palabras de datos específicas y símbolos de control.  Almacena estos símbolos en tablas de consulta que son usadas para codificar y decodificar los datos.
Cuando una palabra de datos de 8 bits está lista para ser codificada, el codificador separa la palabra de datos en cinco bits y tres bits y realiza codificación 5b/6b y 3b/4b por separado en la palabra de datos.  Los 5 bits menos significativos son enviados a la tabla 5b/6b y los 3 bits más significativos a la tabla 3b/4b. 

 

Palabra de Datos 3b

Símbolo Codificado 4b

 

Palabra de Datos 5b

Símbolo Codificado 6b

000

0100 o 1011

 

00000

100111 o 011000

001

1001

 

00001

011101 o 100010

010

0101

 

00010

101101 o 010010

011

0011 o 1100

 

00011

110001

100

0010 o 1101

 

00100

110101 o 001010

101

1010

 

00101

101001

110

0110

 

00110

011001

111

0001 o 1110

 

00111

111000 o 000111

 

 

 

01000

111001 o 000101

 

 

 

01001

100101

 

 

 

01010

010101

 

 

 

01011

110100

 

 

 

01100

001101

 

 

 

01101

101100

 

 

 

01110

011100

 

 

 

01111

010111 o 101000

 

 

 

10000

011011 o 100100

 

 

 

10001

100011

 

 

 

10010

010011

 

 

 

10011

110010

 

 

 

10100

001011

 

 

 

10101

101010

 

 

 

10110

011010

 

 

 

10111

111010 o 000101

 

 

 

11000

110011 o 001100

 

 

 

11001

100110

 

 

 

11010

010110

 

 

 

11011

110110 o 001001

 

 

 

11100

001110

 

 

 

11101

101110 o 010001

 

 

 

11110

011110 o 100001

 

 

 

11111

101011 o 010100

Tabla 1.  Las palabras de datos 8b son codificadas al enviar 3 MSBs a una tabla 3b/4b y 5 LSBs a una tabla 5b/6b.  Luego son combinadas en base a la desigualdad de ejecución actual para formar un símbolo 10b con transiciones frecuentes para circuitos CDR.

 

En una situación ideal, todos los símbolos deberían tener un número igual de ceros y unos para mantener equilibrio de DC.  No hay suficientes símbolos en 5b/6b y 3b/4b para que eso suceda, por lo que se implementaron reglas para tomar decisiones basadas en un concepto conocido como "desigualdad de ejecución". La desigualdad de ejecución es la diferencia acumulada entre el número de 1 que han sido transmitidos y el número de 0. Debido a que no hay suficientes símbolos con un número igual de unos y ceros para representar 8 bits, algunas palabras de datos son representadas con 2 símbolos: un símbolo con más 0s que 1s y un símbolo con más 1s que 0s. Por ejemplo, el símbolo desde la tabla 3b/4b de 1101, también pueden ser representado como 0010.  Al escoger la versión del símbolo a usar, el codificador siempre está tratando de equilibrar la desigualdad de ejecución.  La desigualdad de un símbolo 8b/10b completo siempre es 0, +2 o -2.  La siguiente tabla muestra el proceso de decidir cuál símbolo debe ser usado.

 

Reglas para desigualdad de Ejecución

RD Anterior

Opciones de Desigualdad del Símbolo

Desigualdad Elegida

Siguiente RD

-1

0

0

-1

-1

+2, -2

+2

+1

+1

0

0

+1

+1

+2,-2

-2

-1


Tabla 2. Esta tabla muestra las reglas para desigualdad de ejecución, lo cual determina cuál versión de la palabra código es usada para garantizar el equilibrio de DC.

 

La palabra de datos 10010001 será codificada para demostrar las reglas.  Los 3 bits más significativos (100) son enviados a la tabla 3b/4b y los 5 bits menos significativos (10001) son enviados a la tabla 5b/6b. Si esta es la primera palabra que se envía en la línea, el codificador asume una desigualdad de -1; por lo tanto, este ejemplo asumirá que la desigualdad de ejecución es -1.  No hay elección para la porción 5b/6b y la 3b/4b decidirá si la desigualdad es +2 o -2.  Debido a que la desigualdad de ejecución es -1, el código 3b/4b con desigualdad +2 (1101) es elegida.  Cuando los códigos 3b/4b y 5b/6b son combinados, el símbolo total codificado es 1101100011. Después de que este símbolo es transmitido, la desigualdad de ejecución ahora es +1 = -1 + 2.  

 

Codificación 64b/66b

La 64b/66b sigue un enfoque diferente que el 8b/10b para lograr cosas similares. En lugar de tablas de código, utiliza aleatorización.  La aleatorización requiere un circuito de hardware que brindará una alta probabilidad de múltiples ceros y unos espaciados casi uniformemente.  La aleatorización permite que los datos codificados aparezcan al azar con transiciones frecuentes, pero aún puede ser descifrada del lado del receptor.

Figura 7.  Un circuito de aleatorización hace que los datos de salida parezcan para ser elegidos al azar y equilibrados en DC, pero aun así es capaz de ser descifrado en el receptor.  La aleatorización es un método alternativo al de codificar datos con una tabla de consulta.

 

Los primeros dos de los 66 bits son considerados el preámbulo y esto proporciona información sobre los 64 bits restantes.   

 

Preámbulo (primeros dos bits)

64 bits restantes

00

No usados, podrían considerarse un error

01

Datos

10

tipo 8 bits, datos y/o control de 56 bits

11

No usados, podrían considerarse un error


Tabla 3.  Los primeros dos bits de un símbolo 64b/66b son considerados un preámbulo.  El preámbulo proporciona información al decodificador sobre los 64 bits que siguen del preámbulo.  El anterior significado Preámbulo aplica a 10 Gigabit Ethernet.

 

La ventaja principal del 64b/66b comparado con el 8b/10b es la reducción de sobrecarga.  Solamente hay un poco más del 3% de datos adicionales para 64b/66b comparado con el 20% de sobrecarga para el 8b/10b.  Un sacrificio del 64b/66b es que no hay relación con el equilibrio de DC como lo hay con el 8b/10b.  Mientras que los circuitos de aleatorización han probado ser muy buenos en parecer al azar y tener un desequilibrio de DC insignificante, no está forzado como en el 8b/10b.

 

64b/67b

Ciertos componentes electrónicos son muy sensibles al desfase de DC a través del tiempo y por lo tanto podría no ser atractivo para los diseñadores elegir el esquema de codificación 64b/66b porque el desfase de DC no está forzado.  En estas situaciones, los ingenieros estaban detenidos con la sobrecarga más alta (20%) del esquema 8b/10b.  El 64b/67b añade un bit adicional de sobrecarga, lo cual permite que el esquema de codificación limite la desigualdad de ejecución a ±96.
El transmisor monitorea la desigualdad de ejecución y calcula la nueva desigualad de palabras de código aleatorias.  Si la nueva palabra de código va a reducir el número de desigualdad, transmite ese símbolo.  Si la nueva palabra de código va a incrementar el número de desigualdad, el codificador voltea los 64 bits cifrados (no hay necesidad de voltear el preámbulo pues su desigualdad es cero).  El bit adicional se denomina como el bit de inversión e informa al decodificador sobre si necesita invertir los datos o no.  Esto permite que los electrónicos chip a chip que son sensibles al desfase de DC se beneficien con un esquema de codificación de baja sobrecarga que también muestra un desfase de DC forzado.

 

128b/130b

PCIe 1.0 y 2.0 usan 8b/10b mientras que PCIe 3.0 y 4.0 han hecho el cambio a 128b/130b con la intención de tener transferencia de datos más alta con una velocidad de línea alcanzable.  El 128b/130b puede interpretarse como 64b/66b con una doble carga y a solamente dos bits de preámbulo.  La siguiente tabla muestra las especificaciones para PCIe.

 

Versión PCIe

Codificación

Velocidad de Línea

Rendimiento (x16)

1.0

8b/10b

2.5 Gbps

4 GB/s

2.0

8b/10b

5 Gbps

8 GB/s

3.0

128b/130b

8 Gbps

15,8 GB/s

4.0

128b/130b

16 Gbps

31,5 GB/s


Tabla 4.  Especificaciones de las cuatro generaciones de PCI Express.  PCIe 3.0 y 4.0 cambiaron a 128b/130b para ser capaces de incrementar su rendimiento y mantener a su vez sus tasas de línea en velocidades manejables.

 

Símbolos de Control (Caracteres-K)

Los Símbolos de Control, también conocidos como caracteres k al referirse a la codificación 8b/10b, son una función importante de los enlaces seriales de alta velocidad.  Existen símbolos que se pueden diferenciar de los datos, permitiendo al receptor usarlos para diferentes responsabilidades de control, como alineación del límite de byte antes de la decodificación, técnicas de corrección de reloj y unión de canales para tener coherencia de los datos en múltiples líneas.  

 

Alineación y Detección de Coma

Para que la decodificación funcione correctamente, el receptor necesita conocer los límites de palabras correctos de los datos codificados. El receptor escanea los datos entrantes para el carácter de control, también conocido como una coma cuando es usada para alineación en el 8b/10b, la cual define el límite de los datos codificados.  Una vez que el receptor ha identificado el carácter de alineación, tendrá un concepto de límites de palabra de los datos codificados, permitiendo que los datos codificados sean enviados a la lógica de decodificación.

 

Caracteres de Corrección de Reloj

Se requiere corrección de reloj cada vez que el reloj de transmisión no está bloqueado a la misma fuente que el reloj de recepción.  Aunque tienen la misma frecuencia nominal, se desfasarán lentamente entre ellos debido a pequeñas cantidades de imperfecciones de frecuencia del reloj.  Tener un FIFO (búfer de memoria First-In-First-Out), algunas veces conocidos como un búfer elástico, le permite al receptor determinar diferencias menores de sincronización entre transmisor y receptor e implementa corrección de reloj.

Figura 8.  El búfer elástico RX, le permite al receptor determinar diferencias menores de sincronización entre transmisor y receptor e implementa corrección de reloj.  Transfiere datos para prevenir errores debido a relojes desbloqueados desfasándose uno de otro y permite la comunicación entre dos dispositivos sin compartir un reloj de referencia.

 

La lógica de corrección de reloj es responsable para garantizar que el búfer elástico nunca se desborde o escaseé.  Si el reloj de transmisión se está ejecutando ligeramente más rápido de como el reloj de recepción está leyendo desde el búfer elástico, puede ocurrir el desbordamiento sin técnicas de corrección de reloj.  Si el reloj de transmisión se está ejecutando ligeramente más lento que la lógica de lectura en el receptor, puede ocurrir un underflow o escasez si no hay una corrección de reloj.

Es elegido un carácter de control como un carácter de corrección de reloj. El transmisor debe estar enviando este carácter de corrección de reloj entrelazado periódicamente con datos reales y la frecuencia de ese carácter de corrección de reloj que ha sido enviado dependerá de las necesidades de corrección de reloj del diseño del hardware y de la aplicación.  Si la lógica de corrección de reloj en el receptor detecta que el búfer elástico en el receptor va a escasear, la lógica de corrección del receptor puede insertar caracteres de corrección de reloj adicionales para garantizar que no ocurra el underflow del búfer. Si la lógica de corrección de reloj detecta que el búfer elástico se está llenando y está listo para desbordarse, la lógica puede descartar las secuencias de corrección de reloj que están en el búfer para que haya más espacio para datos.

 

Unión de Canales

Si la velocidad de línea y el esquema de codificación no pueden brindar la transferencia de datos requerida en una sola línea serial, se pueden utilizar múltiples líneas.  Como ejemplo, los estándares HDMI usan 3 líneas de datos seriales para alcanzar su ancho de banda de datos completa.  Al enviar datos entre múltiples líneas, los retrasos de propagación causarán que los datos lleguen en diferentes tiempos a cada línea de recepción en el receptor.  Dependiendo de la aplicación, podría ser necesario alinear los datos en todas las líneas en el receptor, un proceso conocido como unión de canales.  El búfer elástico en cada línea de recepción en el receptor que es usado para la corrección de reloj, también es utilizado para la funcionalidad de unión de canales.

Para lograr unión de canales, se debe elegir y reservar un carácter de control especial para la unión de canales.  El enlace serial tendrá una línea maestra y el resto son considerados esclavos.  El maestro y todos los esclavos envían el carácter de unión de canales al mismo tiempo desde los transmisores.  Cuando el receptor maestro ve la secuencia de unión de canales en cierta ubicación del búfer elástico, se les pide a todos los esclavos encontrar su secuencia de unión y los apuntadores de lectura de todos los búfers elásticos son ajustados para el desfase de la ubicación de la secuencia de unión de canales.  Debido a que cada línea de datos tiene su propio desfase para su propio búfer elástico, el receptor puede leer desde diferentes ubicaciones de cada búfer elástico, resultando en lectura de datos alineados.

 

Figura 9.  La unión de canales cambiará los apuntadores de lectura del búfer elástico en cada línea de recepción para permitir que el receptor lea datos síncronos en múltiples líneas de datos.

 

Caracteres Inactivos

Otro caso de uso importante para los caracteres de control es el carácter inactivo.  Para que la recuperación de datos y reloj permanezcan bloqueados en fase, el transmisor siempre debe estar enviando bits.  Cuando no hay datos que enviar, se debe enviar un carácter inactivo.  Este es otro carácter de control determinado por el protocolo y el receptor sabe que el carácter no tiene datos verdaderos.

 

Capas Superiores Adicionales

Hay capas superiores adicionales que se colocan encima de la capa enlace de datos que permiten a los ingenieros adaptar la comunicación a sus necesidades específicas.  Algunos protocolos tienen estándares específicos para características de la capa superior, mientras que otros protocolos dejan eso en manos del diseñador.  Algunas de las características comunes pueden incluir verificación/corrección de error, información del encabezado para comunicación basada en paquete o incluso información del estado del enlace.

Las capas arriba de la capa enlace de datos y la capa física son las capas personalizadas con mayor frecuencia para las necesidades específicas de la aplicación, permitiendo a los ingenieros beneficiarse de las implementaciones existentes en las capas estándares físicas y enlace de datos.  
Algunos ejemplos de las características comunes de la capa superior son detección y corrección de error a través de comprobación de redundancia cíclica (CRC) y corrección de errores hacia adelante (FEC).  Como una ventaja de eficiencia en la transferencia de datos, los esquemas pueden ser utilizados para detectar o corregir errores.  CRC implementa reglas para conocer si existen errores de bits en la transmisión, pero no corrige el error.  La aplicación puede decidir si soporta solicitud de datos.  FEC, por el contrario, tiene información adicional de corrección de error en los datos transmitidos que pueden permitir al receptor recuperarse de una cantidad limitada de errores de bits.  Esto es útil para canales ruidosos o velocidades de comunicación tan altas que los errores de bits debidos a la integridad de la señal son más comunes.  Incluir FEC es una decisión de diseño que intercambia la eficiencia de la tasa de datos por requerimientos de integridad de señal.  

 

Conclusiones

Existen muchos retos en múltiples capas del enlace serial de alta velocidad para llegar a una comunicación exitosa.  Tener conocimiento de los diferentes conceptos en cada nivel ayuda a implementar y probar diferentes capas.  Para que cualquier capa funcione, las capas debajo de ella necesitan estar funcionando correctamente.   Hay muchas especificaciones definidas para las capas físicas y de enlace de datos y usar una de las implementaciones estándares permite que los ingenieros no tengan que determinar los detalles de bajo nivel ellos mismos.  Otro beneficio de usar una capa estándar física y de enlace de datos, es que generalmente hay IP disponible que implementa todos estos detalles de bajo nivel.  Un gran ejemplo de esto es el Protocolo Xilinx Aurora, un IP gratuito que implementa un protocolo de capa enlace de datos para comunicación serial punto a punto.  Esto permite brindar al usuario abstenerse de los pequeños detalles como corrección de reloj, unión de canales, carácter inactivo, codificación/decodificación, etc., permitiendo a los ingenieros enfocarse en sus capas superiores específicas de la aplicación.  

Con los beneficios de menor tamaño y potencia, combinado con mayor rendimiento, los enlaces seriales de alta velocidad se están volviendo populares rápidamente.  La industria continuamente está realizando mejoras a los fundamentos del serial de alta velocidad, permitiendo velocidades de línea cada vez más rápidas y dando lugar al mundo de los grandes datos.