Cómo agregar una cantidad controlada de fluctuación de fase a una señal

12

Antecedentes

Estoy desarrollando un reloj digital y un circuito de recuperación de datos y ahora estoy entrando en la fase de evaluación, centrándome en probar los límites del diseño y en encontrar posibles fortalezas y debilidades. Una métrica importante de este diseño particular es la tolerancia al jitter en la señal de entrada asíncrona. Para evaluar esta métrica, tengo en mente una configuración de prueba como la siguiente.

esquemático

simular este circuito : esquema creado con CircuitLab

Problema

Para garantizar que los resultados de las pruebas sean significativos, es conveniente que el jitter tenga estas características:

  • Aleatorio o seudoaleatorio
  • distribución gaussiana
  • La desviación estándar del ruido está parametrizada y puede ser barrida (CONTROL DE JITTER arriba)

Esto no parece una cosa fácil de lograr. ¿Hay una forma relativamente simple de inyectar una cantidad controlada de fluctuación en una configuración de prueba?


Lo que tengo hasta ahora

Lo he pensado un poco e investigado y tengo dos formas potenciales de implementar esto en hardware.

  1. Si el reloj de transmisión del circuito de prueba es significativamente más alto que el DUT, entonces la salida se puede sobremuestrear. Luego, se pueden agregar o eliminar muestras adicionales de la salida para inyectar una cantidad discreta de jitter. Esta inquietud no será perfectamente gaussiana debido al ruido de cuantización. Pero si la tasa de sobremuestreo del circuito de prueba de los datos de transmisión es lo suficientemente alta, esta preocupación puede mitigarse.
  2. La configuración de prueba de Kubicek et al. (abajo) usa una transmisión óptica con un atenuador variable para lograr el efecto deseado. No es del todo obvio para mí por qué esto lograría lo anterior, pero un analizador de espectro debería poder determinar si funciona según lo previsto.

ingrese la descripción de la imagen aquí

Entiendo que mi pregunta omite muchos detalles sobre el diseño y la configuración de la prueba. Esto es intencional ya que quiero mantener esto lo más conceptual y general posible. Quiero evitar que esto se convierta en una publicación de diseño específico a favor de crear una publicación de valor de referencia permanente.

Travisbartley
fuente

Respuestas:

3

Una respuesta obvia es usar un generador de señal digital para agregar una cantidad controlada de ruido a la entrada de control de un VCO.

Tenga en cuenta que esta señal de ruido representará un error de frecuencia instantáneo, en lugar del error de fase que normalmente asocia con la fluctuación de fase, por lo tanto, integre / diferencie adecuadamente.

Muestra un circuito separado que agrega jitter a una señal limpia proveniente de un generador de prueba. El VCO podría ser parte de un PLL en ese circuito separado. El PLL mantendrá la frecuencia de salida promedio igual que la frecuencia de entrada, pero tendrá un efecto mínimo en la fluctuación de fase agregada siempre que su bucle de retroalimentación tenga una ganancia mínima en la frecuencia de fluctuación de fase.

Si tiene la intención de generar más de una fracción de un intervalo de unidad de fluctuación de pico a pico, necesitará un almacén elástico (FIFO) de algún tipo para contener los datos de prueba. En primer lugar, podría ser más fácil usar el reloj nervioso para generar los datos.

Dave Tweed
fuente
Ya veo ya veo. Creo que usar un NCO + DAC en lugar de un VCO podría ser más fácil para mí. El NCO + DAC podría conducir el reloj del transmisor del circuito de prueba como usted dijo. El circuito de prueba generaría valores de fluctuación de fase pseudoaleatoria que luego se utilizarían para calcular la entrada de NCO. Su sugerencia parece mucho más razonable que el foto-atenuador loco de Kubicek.
travisbartley
3

La configuración de prueba de Kubicek et al. utiliza una transmisión óptica con un atenuador variable para lograr el efecto deseado. No es nada obvio para mí por qué esto lograría lo anterior

Su pregunta implícita es, "¿qué está pasando en la Fig. 5 para crear una fluctuación aleatoria controlada?

Primero, tenga en cuenta que cada receptor óptico introduce ruido a la señal recibida. Este ruido se modela con bastante precisión como ruido de corriente aleatorio gaussiano. La etapa del amplificador de trans-impedancia (TIA) del receptor convierte naturalmente el ruido actual en ruido de voltaje. La salida de fotodiodo / TIA es una señal analógica proporcional a la señal de entrada óptica, más el ruido adicional del que acabamos de hablar.

Lo que está oculto en el dibujo es un amplificador limitador para obtener niveles lógicos digitales de la salida TIA. Supongo que esto está sucediendo en el búfer de despliegue en el circuito dibujado. Cuando aplica un amplificador limitador a una entrada ruidosa, el ruido se convertirá en jitter, ya que existe una variación en el momento en que los bordes ascendente y descendente cruzan el umbral de decisión. Esta variación de tiempo es fluctuación de fase, y es proporcional al ruido en la entrada e inversamente proporcional a la pendiente de los bordes (dV / dt).

A medida que aumenta la atenuación óptica, reduce dV / dt, pero no reduce el ruido, por lo que aumenta la fluctuación de fase.

Sobre la solución VCO

No es probable que el uso de FM en su fuente de sincronización (como sugiere la respuesta de Dave) produzca ruido aleatorio gaussiano como solicitó en su pregunta. Ciertamente, no es un ruido aleatorio que no está correlacionado de borde a borde (jitter aleatorio o "RJ"), que parece ser lo que busca y lo que obtendrá del circuito de Kubicek.

Este es un buen método para obtener la fluctuación de fase sinusoidal barrida en frecuencia (SJ), que es otra especificación por la que debe preocuparse al caracterizar un CDR. De hecho, es mucho más común en mi experiencia especificar CDR por su tolerancia al jitter sinusoidal de frecuencia única que por su tolerancia al jitter aleatorio gaussiano no correlacionado.

El fotón
fuente
Gracias por las explicaciones, son útiles. ¿Qué es exactamente el jitter sinusoidal de frecuencia única y por qué es más común que el jitter aleatorio gaussiano? ¿La fluctuación de fase aleatoria gaussiana no modela con precisión la fluctuación de fase en sistemas reales?
travisbartley
2

Una cosa que puede hacer es implementar una versión del circuito de retardo que se usa en las DLL. Esto es típicamente una cadena de inversor hambrienta actual. Debe degenerar el suministro de corriente de los rieles en el dispositivo y el suministro de corriente fuera del dispositivo (por simetría de subida / caída) y tener un inversor de reconstrucción (sin el hambre actual) en la salida.

Esto también emularía la fuente más común de Jitter en las fuentes (colapso parcial del riel y la modulación en la salida a través de la G_m de los transistores.

esquemático

simular este circuito : esquema creado con CircuitLab

Las fuentes de corriente controladas por voltaje pueden ser simplemente transistores PMOS y NMOS, pero en una placa tiene otras opciones. Puede cambiar el número de etapas para aumentar el control del voltaje de retardo.

Para contradecirme, también puede controlar el suministro superior siempre que mantenga el número de etapas de retraso en un número par (al ser inversores, alternativamente retrasarán el borde ascendente y luego el descendente). Entonces necesitaría tener dos inversores de reconstrucción en la salida.

esquemático

simular este circuito

Sin embargo, hay una forma aún más simple, si solo desea inyectar ruido en los bordes.

esquemático

simular este circuito

marcador de posición
fuente
Me gusta esto por la simplicidad. Todo lo que se necesita es una larga cadena de inversores, una fuente de alimentación variable y un búfer / inversor de distribución con suministro fijo. ¿Hay alguna ventaja de usar VCCS en su lugar? Soy consciente de la fluctuación de fase en los osciladores de anillo, y puedo pensar en esto como un oscilador de anillo de bucle abierto. Las condiciones que causan jitter en un oscilador de anillo son las mismas que causan jitter aquí.
travisbartley
Simplemente lo dibujé como Vccs porque eso es lo que está disponible. En una DLL real que es simplemente un PMOS en la parte superior y NMOS en la parte inferior con un generador de sesgo apropiado. Pero su pregunta me recordó una posibilidad, se agregará a la respuesta.
marcador de posición