Esta página es la quinta de una serie de páginas dedicada al transceptor multigigabit (MGT). Después de repasar un buen número de temas (y de enumerar algunos protocolos para FPGAs), ha llegado el momento de ver cómo convierte el PMA los datos en una señal eléctrica, y viceversa.
Introducción
El PMA incluye las partes del MGT que tienen que ver con el canal físico. En particular, el serializador y el deserializador forman parte del PMA. Es decir, la conversión de los bits del canal físico en una palabra paralela, y al revés, ocurre dentro del PMA.
El PMA es también la parte que convierte los bits en tensiones eléctricas. Del mismo modo, es la parte que recibe las tensiones eléctricas procedentes del MGT del otro extremo y las convierte en bits.
Otro papel importante del PMA es compensar la distorsión de la señal de tensión que se produce cuando esa señal viaja entre los dos MGT:
- El transmisor puede distorsionar intencionadamente la señal analógica que genera para la transmisión. Esa distorsión del transmisor intenta hacer lo contrario de lo que el canal físico hace con la señal. A menudo se denomina preénfasis (pre-emphasis).
- El ecualizador (equalizer) del receptor puede manipular la señal analógica entrante para mitigar la distorsión causada por el canal físico.
Esta página presenta estas funcionalidades. El PMA se encarga también de otras tareas que solo son pertinentes cuando el flujo de datos está desactivado. Esos temas se tratan en la página siguiente.
Este es el diagrama de bloques de un MGT típico, que se muestra aquí de nuevo para indicar la posición del PMA dentro del conjunto (este diagrama es el mismo que en la página anterior).
De forma parecida a la página anterior, utilizaré las expresiones Tx PMA y Tx PCS para las partes del MGT que transmiten datos, y las expresiones Rx PMA y Rx PCS para las que los reciben.
Es importante señalar que, en la gran mayoría de los casos de uso, no hay necesidad de entender nada sobre el canal físico, cómo distorsiona la señal o cómo se corrige esa distorsión. Por lo general, lo único que hace falta saber es que conviene activar el ecualizador.
Dicho esto, conviene ser consciente de que el PMA es, en gran medida, un componente analógico. El MGT suele tener pines de alimentación separados en el encapsulado de la FPGA. Algunos de estos pines alimentan el PMA. A menudo se exige que la tensión en esos pines esté más limpia de lo habitual. No cumplir estos requisitos puede degradar notablemente el funcionamiento del MGT.
Para las explicaciones de esta página, imaginaremos un enlace de comunicación a 5 Gb/s. Es la velocidad de datos utilizada por protocolos como SuperSpeed USB Gen 1 y PCIe 2.0. Supondremos también que la palabra paralela entre el PMA y el PCS tiene 32 bits de ancho. Empezaré con una descripción simplificada del canal físico, omitiendo algunos detalles que se tratan más adelante en esta página.
Transmisión de datos
El Tx PMA convierte la palabra paralela en una señal eléctrica transmitiendo la palabra empezando por el bit menos significativo (LSB). En consecuencia, si el bit 0 es un ‘1’, el Tx PMA ajusta sus pines de salida para que la tensión entre D+ y D- sea, por ejemplo, de 500 mV. Si ese bit es un ‘0’, la tensión será de -500 mV (negativa).
El Tx PMA espera 0,2 ns y hace lo mismo con el bit 1 de la palabra paralela. Es decir, la tensión entre D+ y D- será de 500 mV o -500 mV, según el bit 1. De este modo, cada uno de los bits de la palabra paralela se representa en los pines de salida durante 0,2 ns. Después de 6,4 ns, la palabra paralela completa se ha transmitido por los cables. El Tx PMA recibe una nueva palabra paralela del Tx PCS y comienza a transmitir su valor de la misma manera.
La transferencia de la palabra paralela del Tx PCS al Tx PMA está sincronizada con un reloj (a menudo llamado XCLK). En este ejemplo, el periodo de ese reloj es de 6,4 ns, de modo que su frecuencia es de 156,25 MHz. No es sorprendente: 156,25 × 32 = 5000.
Lo que he descrito aquí es el lado transmisor de un SERDES. El tiempo asignado a cada bit de la salida de este SERDES es de 0,2 ns, lo que da una velocidad de datos de 5 Gb/s.
En este ejemplo, la tensión entre los dos pines de salida diferenciales era de 500 mV. Ese valor está dentro del rango permitido para PCIe y SuperSpeed USB. Observa que las especificaciones de los protocolos, así como las hojas de datos de los MGT, suelen indicar esta tensión como tensión diferencial pico a pico. Es la diferencia entre la tensión diferencial más baja y la más alta, es decir, la diferencia entre -500 mV y 500 mV en este ejemplo. Para este ejemplo, la tensión diferencial pico a pico es, por tanto, de 1000 mV. Ese es el número que suele aparecer en las especificaciones y hojas de datos.
Pero cuando la señal llega al receptor, ya ha cambiado. La imagen siguiente muestra un ejemplo de la forma de onda de la señal analógica:
La salida del transmisor (la tensión entre D+ y D-) se muestra en rojo. La forma de onda azul es un ejemplo de cómo puede llegar esa señal al receptor. Este ejemplo muestra una simulación de un filtro paso bajo simple con un ancho de banda de 2,5 GHz.
A lo largo de esta página utilizaré este ejemplo con una velocidad de datos de 5 Gb/s y una tensión diferencial de 500 mV. Por supuesto, son posibles otros valores: un MGT de FPGA permite controlar las velocidades de transmisión de datos y las tensiones de salida.
El diagrama de ojo
Las formas de onda de la imagen anterior demuestran que la señal que llega al receptor es distinta de la que genera el transmisor. El diagrama de ojo (eye diagram) es una representación gráfica de la señal que llega al receptor. Esta gráfica se crea dibujando varias formas de onda sobre los mismos ejes. Cada una de esas formas de onda es el resultado de una combinación aleatoria de bits transmitidos. De este modo, las formas de onda superpuestas representan todas las formas posibles de la señal entrante.
Este es el diagrama de ojo para el mismo escenario que la imagen anterior:
Esta imagen explica por qué se llama "diagrama de ojo". La zona verde del centro tiene forma de ojo.
La línea roja muestra el momento óptimo para medir la tensión con el fin de decidir si el bit transmitido es un ‘0’ o un ‘1’. Es en este momento cuando la diferencia de tensión es mayor, así que es donde mejor se soporta el ruido. Observa que el momento elegido está ligeramente después de cero. Compáralo con la imagen anterior: el bit que se detecta en este instante lleva ya transmitiéndose durante 0,2 ns, y la detección se produce aún un poco más tarde.
El diagrama de ojo se utiliza habitualmente para evaluar la calidad de la señal que llega al receptor. Esta gráfica se crea a menudo en simulaciones del medio físico que transporta la señal. También es posible obtener un diagrama de ojo a partir de mediciones de una señal real con ayuda de un osciloscopio o de equipos de medición más especializados.
Recepción de datos
El Rx PMA convierte una señal eléctrica en una palabra paralela: el Rx PMA mide la tensión entre sus dos pines de entrada (D+ y D-) una vez cada 0,2 ns. Si la tensión es positiva, asigna un ‘1’ al bit 0 de la palabra paralela. En caso contrario, asigna un ‘0’. El Rx PMA continúa asignando valores a los demás bits de la palabra paralela, del bit 1 al bit 31. Cuando la palabra paralela está completa, la entrega al Rx PCS. Así pues, el Rx PMA es la imagen especular del Tx PMA.
Pero ¿cómo sabe el Rx PMA exactamente cuándo medir la tensión en sus pines de entrada? Eso debe ocurrir una vez dentro de cada periodo de 0,2 ns, pero ¿en qué momento exacto de ese periodo? ¿Cómo sabe el Rx PMA cuál es el momento óptimo que se mostraba como línea roja en el diagrama de ojo?
Para complicar las cosas aún más, el Rx PMA a menudo no tiene acceso al reloj de referencia del que depende el Tx PMA. Por tanto, la percepción del receptor de cuánto dura 0,2 ns no es exactamente la misma que la del transmisor. Además, la frecuencia de ese reloj de referencia cambia aleatoriamente todo el tiempo debido a la fluctuación de fase (jitter). Y para los protocolos que requieren modulación de reloj por espectro ensanchado (SSC, del inglés Spread Spectrum Clocking), la frecuencia de ese reloj varía deliberadamente de forma continua siguiendo un patrón predefinido.
La solución a este problema es la recuperación de reloj y datos (CDR, del inglés Clock Data Recovery). Es un mecanismo dentro del Rx PMA que encuentra el momento óptimo para el muestreo (sampling) de la tensión en los pines de entrada. La CDR genera un reloj de muestreo que se adapta al flujo de datos entrante. Ese reloj se divide por 32 (en este ejemplo) para generar el reloj de la interfaz con el Rx PCS.
La CDR es sensible a las transiciones entre ‘0’ y ‘1’ en la señal analógica entrante. Más concretamente, la CDR detecta cuándo cambia la tensión entre los dos pines diferenciales de positiva a negativa o al revés. Esto permite a la CDR adaptar la frecuencia del reloj de muestreo que genera al reloj utilizado por el transmisor.
Para funcionar correctamente, la CDR necesita un reloj de referencia propio. La frecuencia de ese reloj debe ser aproximadamente la misma que la del reloj del transmisor. Sin embargo, ese reloj de referencia solo se utiliza para la sincronización inicial con el flujo de datos. Después de esa sincronización inicial, la CDR sigue la frecuencia del transmisor con ayuda de un PLL. Este mecanismo adaptativo cambia continuamente y de forma sutil la frecuencia del reloj de muestreo para crear una réplica del reloj del transmisor. Además, la CDR se esfuerza por desplazar el momento de muestreo hasta el punto óptimo dentro de cada periodo de 0,2 ns. En otras palabras, la CDR intenta garantizar que el muestreo de la señal se produzca en la línea roja del diagrama de ojo mostrado antes.
La CDR desempeña un papel crucial en la obtención de un enlace de comunicación fiable. Por ejemplo, si el transmisor utiliza un reloj de referencia de baja calidad con un nivel alto de fluctuación de fase, esto añade aleatoriedad a la duración de cada bit. Si la CDR del receptor no es capaz de adaptarse a esa aleatoriedad con la rapidez suficiente, el muestreo se producirá en posiciones no óptimas. Como consecuencia, aumenta la probabilidad de errores. También es posible que la CDR pierda por completo la sincronización, lo que provoca una pérdida temporal del enlace de comunicación. Situaciones de este tipo se confunden a menudo con problemas de integridad de la señal en los cables de datos, cuando en realidad se deben a un reloj de baja calidad.
En un MGT de FPGA, el comportamiento de la CDR depende de varios parámetros configurables. Por desgracia, el significado de estos parámetros suele ser complicado y no está documentado. Las herramientas de FPGA eligen automáticamente los valores de estos parámetros basándose en la configuración del MGT. Esto depende en particular de la velocidad de datos. Si se selecciona un protocolo conocido concreto, los parámetros de la CDR se eligen en consecuencia. A veces merece la pena probar distintos ajustes para obtener un enlace más estable, sobre todo si en la conexión entre los dos MGT hay cables y conectores de baja calidad.
Inversión de polaridad
Tanto el Rx PMA como el Tx PMA permiten invertir la polaridad del canal físico. Es decir, transmitir un ‘0’ en lugar de un ‘1’ y viceversa, o recibir un ‘1’ cuando normalmente se recibiría un ‘0’, y viceversa.
En otras palabras, si los cables D+ y D- están intercambiados, el MGT puede compensarlo. Es una funcionalidad trivial pero muy importante, que a menudo simplifica el diseño de la PCB.
Distorsión de la señal
En un mundo perfecto, la señal de tensión del MGT transmisor llegaría al MGT receptor sin cambio alguno. En la realidad, la señal sufre varios cambios hasta llegar a su destino. El problema más notable es el efecto de filtrado del camino de la señal: cada vez que el Tx PMA transmite un ‘0’ después de un ‘1’, se produce una transición brusca de tensión positiva a negativa. Lo contrario ocurre, por supuesto, en una transición de ‘0’ a ‘1’. Ese cambio brusco de tensión se distorsiona en el medio físico que transporta la señal. Los cables y las pistas de la PCB se comportan como un filtro paso bajo.
Esta imagen muestra el mismo ejemplo de formas de onda de antes, pero con la simulación de un canal físico más difícil:
La forma de onda azul muestra cómo la tensión que llega al receptor "recuerda" los valores de algunos bits transmitidos anteriormente. Recuerda que el receptor debe decidir entre un ‘0’ y un ‘1’ según si la tensión es negativa o positiva. Por tanto, los valores de bits anteriores interfieren en la decisión del receptor. Que el valor de un bit interfiera en la decisión sobre otro bit se denomina interferencia entre símbolos (ISI, del inglés Inter-Symbol Interference).
El diagrama de ojo para la misma simulación del canal físico:
Este diagrama de ojo muestra que todavía es posible distinguir entre un ‘0’ y un ‘1’, pero el margen es mucho menor. En otras palabras, hace falta mucho menos ruido para provocar un error.
Además del efecto que se simula en el diagrama de ojo anterior, la señal se distorsiona también de otras maneras:
- La señal pierde energía a medida que viaja hacia el receptor, de modo que la tensión entre los cables diferenciales es menor que la transmitida.
- A la señal se le añaden reflexiones a medida que viaja del transmisor al receptor. Este efecto es parecido a un eco acústico, y se produce sobre todo cuando la señal atraviesa un conector u otro tipo de discontinuidad brusca del medio conductor.
- A la señal se le añade ruido procedente de diversas fuentes externas. Normalmente este no es un factor dominante en la comunicación entre MGT, porque los efectos de la distorsión suelen ser más significativos. Pero ese ruido puede ser importante con un cable largo y mal aislado.
Veremos ahora dos mecanismos para mitigar la distorsión de la señal causada por el canal físico: el ecualizador, que forma parte del receptor, y el preénfasis, que forma parte del transmisor.
Ecualizador
El ecualizador manipula la señal analógica que llega al MGT. La finalidad de esta unidad es mitigar los efectos de la distorsión de la señal causada por el canal físico. Con ello, el ecualizador reduce la probabilidad de error de bit del canal y permite una velocidad de datos mayor. El ecualizador es siempre el primer paso de la cadena de procesamiento del Rx PMA.
Básicamente se utilizan dos tipos de ecualizador. Un MGT puede soportar ambos:
- LPM (Low Power Mode, es decir, modo de bajo consumo). Este ecualizador suele consistir en un filtro paso alto que compensa la tendencia del canal físico a atenuar la parte alta del espectro de la señal analógica. Algunos MGT adaptan este filtro automáticamente a la señal recibida. En MGT menos avanzados, la lógica de aplicación debe elegir un filtro entre varias posibilidades.
- DFE (Decision Feedback Equalizer, es decir, ecualizador por realimentación de decisiones), explicado en detalle más abajo.
Recuerda del ejemplo anterior que el Rx PMA mide la tensión entre sus dos pines de entrada (D+ y D-) una vez cada 0,2 ns. Según si esa tensión es negativa o positiva, el Rx PMA detecta un ‘0’ o un ‘1’. Cuando se utiliza un ecualizador, el Rx PMA se basa en la salida del ecualizador.
Si se utiliza un DFE, se supone que el transmisor garantiza que los bits transmitidos son estadísticamente independientes entre sí. ¿Y si el canal físico no distorsiona la señal? En ese caso, las tensiones que utiliza el Rx PMA para decidir entre un ‘0’ y un ‘1’ son también estadísticamente independientes entre sí. En otras palabras, cada vez que el Rx PMA examina su señal analógica de entrada, no debería haber ninguna relación estadística con las señales anteriores ni con las futuras.
Pero en la realidad, el canal físico distorsiona la señal que transporta el flujo de datos. Por tanto, existe una relación estadística entre las tensiones que representan un ‘0’ o un ‘1’: el efecto de filtro paso bajo emborrona la señal de tensión, y las reflexiones (los "ecos") también reducen la calidad de la señal. El nivel de tensión de cada bit se desborda sobre los bits vecinos. Como se ha dicho antes, este efecto se denomina interferencia entre símbolos (ISI). Si el receptor no hace nada para mitigar el efecto de la ISI, esa interferencia mutua entre bits equivale a añadir ruido al canal.
El DFE funciona de forma parecida a un cancelador de eco: consiste en un filtro que se ajusta a sí mismo para eliminar cualquier correlación entre las muestras que representan un ‘0’ o un ‘1’. Más concretamente, elimina la correlación entre los bits detectados (el ‘0’ o el ‘1’) y las señales analógicas correspondientes a los bits vecinos. En otras palabras, si el DFE ha logrado su objetivo, no hay correlación estadística entre la señal analógica que se usa para decidir el valor de un bit y los valores de otros bits. En ese caso, la ISI se reduce a cero, lo que significa que el efecto de emborronamiento del canal y las reflexiones no tienen impacto en la calidad de la transmisión.
Observa que, si existe una correlación estadística entre los bits que se transmiten por el canal, el DFE intentará eliminar esa correlación. Como resultado, el DFE ajustará el filtro analógico de una manera que no se corresponde con la distorsión que el canal físico produce en la señal analógica. Por tanto, el DFE distorsionará la señal en lugar de repararla. Esta es la razón por la que siempre se exige un codificador de aleatorización (scrambler) cuando el DFE está activado.
Si no hay manera de garantizar que los bits transmitidos no estén correlacionados entre sí, puede ser adecuado el ecualizador LPM. La hoja de datos del MGT suele indicar si el ecualizador LPM puede utilizarse sin codificador de aleatorización.
No todos los MGT tienen un DFE, pero casi todos tienen algún tipo de ecualizador LPM. La información de las hojas de datos suele ser incompleta en cuanto al tipo de ecualizador que soporta el MGT y a cómo funciona. Si la hoja de datos no dice nada sobre el tipo de ecualizador, lo más probable es que sea un LPM.
Aunque el DFE es un tipo de ecualizador más sofisticado, no siempre funciona mejor que el LPM, incluso cuando los bits no están correlacionados entre sí. En particular, cuando la calidad del canal físico es relativamente alta, el LPM puede funcionar mejor que el DFE.
Preénfasis
Puede resultar útil manipular la señal de salida del transmisor de manera que mejore la señal que llega al receptor. Este método se denomina preénfasis, y es especialmente útil si la distorsión de la señal es tan severa que el receptor no puede sincronizarse en absoluto con el flujo de datos. Hay varias variantes de este método, y cada MGT tiene su propio conjunto de posibilidades.
En la mayoría de las situaciones, el canal físico se comporta como un filtro paso bajo. El transmisor puede compensar de forma proactiva parte de la distorsión del canal dando una forma determinada a su señal de salida. El mecanismo más simple es el énfasis post-cursor (post-cursor emphasis): como el canal físico reacciona lentamente a los cambios en la salida del transmisor, este compensa aplicando una tensión mayor cuando el bit cambia. O más exactamente, el transmisor reduce la tensión cuando el bit no cambia.
Para demostrar este mecanismo, recuerda que en el ejemplo anterior la salida del transmisor era de -500 mV o 500 mV (para un ‘0’ o un ‘1’).
Con el énfasis post-cursor, si la salida cambia de ‘0’ a ‘1’, la salida del transmisor será de 500 mV, igual que antes. Pero si el siguiente bit vuelve a ser ‘1’, la tensión de salida será menor, por ejemplo 400 mV. Lo mismo ocurre con las transiciones de ‘1’ a ‘0’. En ese caso, la tensión de salida será de -500 mV. Pero si el siguiente bit vuelve a ser ‘0’, la tensión será de -400 mV.
Esta imagen muestra la misma simulación que la última imagen con formas de onda, pero con énfasis post-cursor aplicado:
La forma de onda roja muestra cómo funciona el énfasis post-cursor: la tensión de salida recibe un pequeño impulso cada vez que el bit cambia, y vuelve a una tensión menor en caso contrario. A este método se le suele llamar deénfasis (de-emphasis), porque el transmisor reduce la tensión de los bits repetidos, de modo que esos bits están "menos enfatizados".
Si comparamos la forma de onda azul con la imagen anterior, resulta evidente que la oscilación de esta tensión es menor. Puede no parecer un gran avance, pero la diferencia se aprecia mejor en el diagrama de ojo:
Esto es claramente mejor, pero no basta: en un escenario como este todavía se necesita un ecualizador.
Observa que el énfasis post-cursor puede describirse como un filtro FIR sencillo. Denotemos las tensiones de salida del transmisor sin énfasis como x(n), donde n es el número del bit que se transmite. Cada x(n) puede valer -500 mV o 500 mV. La salida del transmisor con énfasis post-cursor puede escribirse entonces así:
y(n) = 0,9 x(n) - 0,1 x(n-1)
Esta es una expresión sencilla de un filtro FIR que favorece las señales de alta frecuencia. Puede verse como una compensación del comportamiento del canal físico como filtro paso bajo.
La parte "post-cursor" de la expresión "énfasis post-cursor" se debe a que el filtro FIR correspondiente puede escribirse como:
y(n) = (1-a) x(n) - a x(n-1)
En esta expresión, a suele elegirse como un número positivo.
Este filtro FIR viene a decir: el valor de y(n) depende sobre todo de x(n), pero si x(n-1) tenía el mismo valor, y(n) está un poco más cerca de cero. La manipulación de y(n) depende del bit anterior.
Por tanto, la palabra "cursor" se refiere al bit que se está transmitiendo actualmente. La palabra "post" se refiere a que este filtro depende del bit transmitido anteriormente, es decir, del bit posterior al "cursor".
Es posible generalizar la idea de un filtro FIR que favorezca las señales de alta frecuencia. En particular, en los MGT suele implementarse este filtro FIR:
y(n) = apre x(n+1) + a0 x(n) - apost x(n-1)
En esta expresión, apost se refiere al énfasis post-cursor que ya se ha presentado. apre representa la dependencia del bit anterior al "cursor", es decir, el énfasis pre-cursor (pre-cursor emphasis), a veces también llamado preshoot. No debe confundirse con el término preénfasis, que abarca toda la gama de manipulaciones de la señal de salida del transmisor que pueden representarse con un filtro FIR.
Cada MGT ofrece distintas posibilidades para dar forma a la señal transmitida. El énfasis post-cursor suele estar disponible porque varios protocolos lo exigen. En cuanto a las demás variantes, depende del MGT.
El inconveniente evidente del preénfasis es que el resultado de los ajustes del transmisor solo lo ve el receptor. Recuerda que el ecualizador puede ajustarse de forma continua para lograr una recepción óptima. Pero en general, el mecanismo de preénfasis no sabe con qué calidad se recibe la señal al otro lado. Esto puede resolverlo el protocolo. Por ejemplo, el protocolo DisplayPort especifica un mecanismo que permite al lado receptor enviar solicitudes al transmisor. Así, el receptor controla el nivel de tensión del transmisor y el nivel de énfasis post-cursor.
El preénfasis también es útil cuando se conoce de antemano el canal físico, por ejemplo cuando dos FPGA están conectadas entre sí en una misma placa (PCB). No obstante, puede ser buena idea utilizar el preénfasis incluso cuando se desconocen los parámetros del canal, en particular con velocidades de datos altas (8 Gb/s o más).
Observa que el preénfasis y el ecualizador no son sustitutos el uno del otro, aunque ambos sean filtros que mejoran la calidad de la señal y reducen los errores. El ecualizador suele ser la herramienta más potente de las dos. El papel del preénfasis debería ser ayudar al ecualizador o garantizar que la calidad de la señal sea suficiente para que el receptor pueda sincronizarse con el transmisor.
El preénfasis no se utiliza en absoluto en muchas aplicaciones. Esta herramienta es útil en particular cuando la distancia entre los dos MGT es larga, y sobre todo cuando la señal viaja por una placa de circuito impreso. Cuando la distancia es razonablemente corta y el receptor está equipado con un buen ecualizador, no suele haber razón para manipular la señal de salida del transmisor.
Escaneo estadístico del ojo
A menudo se desea evaluar la calidad del canal aunque todos los datos lleguen sin errores. En particular, resulta interesante saber hasta qué punto está el canal de empezar a producir errores. ¿Es robusto el canal, o empezarán los errores ante el menor cambio en el medio físico?
Recuerda también de la página anterior que cuando el canal se utiliza para transmitir datos útiles, no es posible hacer al mismo tiempo una prueba de BER. Por tanto, es difícil evaluar la calidad del canal mientras está en uso (salvo en algunos protocolos que notifican todos los errores, por ejemplo xillyp2p).
La forma habitual de evaluar la calidad de un enlace es medir el diagrama de ojo en el receptor. Esto puede hacerse cuando la señal llega a través de un cable y un conector: existe equipo de medición para ello (bastante caro). Sin embargo, cuando la señal viaja por una placa de circuito impreso y llega a un chip (en particular una FPGA), normalmente no hay ningún sitio de donde tomar la señal. Utilizar una sonda para tocar una pista de la PCB cambiará drásticamente la forma de la señal, de modo que la medición no valdrá para nada.
La solución elegante a este problema es el escaneo estadístico del ojo (statistical eye scan). Es decir, el propio Rx PMA mide el diagrama de ojo de la señal. Este método tiene varias ventajas:
- La señal se mide exactamente en el punto donde el Rx PMA decide si el bit es un ‘0’ o un ‘1’.
- La medición no altera la señal.
- La medición incluye la corrección del ecualizador. Por tanto, ayuda a elegir qué ecualizador utilizar y a ajustar sus parámetros finamente.
- Si la CDR no es capaz de hacer frente a la fluctuación de fase (jitter) del reloj del transmisor, esto se ve en la medición.
- La medición no interfiere con el funcionamiento normal del Rx PMA. Por tanto, es posible probar el canal mientras se utiliza para transportar datos reales.
Solo hay un inconveniente con este método: su resultado no es realmente un diagrama de ojo. Pero el resultado es casi igual de útil.
Recuerda que el Rx PMA decide si la señal recibida es un ‘0’ o un ‘1’ según si la tensión diferencial de la señal entrante es negativa o positiva. La CDR se encarga de tomar esa decisión en el momento óptimo.
Para el escaneo estadístico del ojo, hay una unidad adicional que toma la decisión sobre el ‘0’ o el ‘1’. Sin embargo, esta segunda unidad toma su decisión un poco antes o un poco después que la primera. Ese desplazamiento temporal se controla ajustando los registros del MGT (esto puede hacerse mientras el MGT está funcionando).
Otra diferencia entre las dos unidades es cómo deciden si la señal es un ‘0’ o un ‘1’: como ya se ha dicho, la primera unidad compara la tensión de la señal con cero. La segunda unidad puede comparar con una serie de otros umbrales de tensión. Por ejemplo, si el umbral de tensión se selecciona como 100 mV, la segunda unidad decide que es un ‘1’ si la señal recibida está por encima de 100 mV. En caso contrario, decide que es un ‘0’.
Así pues, la segunda unidad hace exactamente lo mismo que la primera, pero con un desplazamiento tanto en el tiempo como en la tensión. La lógica interna del MGT compara automáticamente un número especificado de decisiones y cuenta el número de veces que las decisiones fueron distintas. En otras palabras, esa lógica cuenta cuántas veces la decisión del Rx PMA sobre el bit habría sido distinta si se hubiera desplazado el momento de muestreo y se hubiera cambiado la tensión de umbral.
Si nunca hay ninguna diferencia entre las decisiones de las dos unidades, significa que la posición de la segunda unidad (dada en tiempo y tensión) está dentro de la zona que se marcó en verde en los diagramas de ojo anteriores. Esta situación se reconoce porque el contador da un resultado de cero después de un periodo de medición significativo. A medida que la posición de la segunda unidad se acerca a los bordes de la zona verde, el resultado del contador va aumentando.
El escaneo estadístico del ojo se obtiene repitiendo esta comparación entre las dos unidades con una gama de desplazamientos de tiempo y umbrales de tensión. Esto lo hace la lógica de aplicación, o bien ajustando los registros del MGT a través de JTAG. El proceso se parece a un programa informático que ejecuta un bucle for para la gama de desplazamientos temporales dentro de otro bucle for para la gama de umbrales de tensión. El tiempo que tarda esta operación depende de la precisión de la medición.
Este es un ejemplo de escaneo estadístico del ojo (tomado de otra página), obtenido con una FPGA Artix-7. La zona verde del centro se corresponde con la zona verde de los diagramas de ojo anteriores. El resultado medido es cuantitativamente distinto de todas las imágenes mostradas antes, porque en los ejemplos anteriores solo se simulaba un tipo de distorsión de la señal.
Se tarda alrededor de un minuto en obtener una imagen como esta. Pero es posible hacerse una buena idea de la calidad del canal con una imagen más tosca que puede obtenerse en menos de un segundo.
Normalmente no hace falta diseñar nada para obtener un escaneo estadístico del ojo. En particular, este proceso puede llevarse a cabo con Vivado con ayuda de la conexión JTAG. Por desgracia, no todos los MGT tienen capacidad para hacer un escaneo estadístico del ojo.
Con esto concluye la quinta página de esta serie sobre los MGT. La página siguiente continúa tratando el PMA y sus capacidades cuando el flujo de datos normal está desactivado.







