Controlando la fuente de reloj externa con FPGA: se necesita una señal limpia

Estoy trabajando con un ADC que requiere una fuente de reloj no continua. Mi reloj FPGA es bastante ruidoso, por lo que preferiría usar un oscilador externo para sacar los bits del ADC. El reloj debería funcionar durante 300 ns y luego desactivarse durante 200 ns. Dado que estos son tiempos muy pequeños, no creo que pueda activar o desactivar el reloj con el pin de activación debido a los tiempos de retraso (> 100 ns).

Si uso el oscilador como entrada a mi FPGA y controlo la salida internamente, ¿la señal sería mucho más limpia que simplemente usar el reloj de la FPGA?

EDITAR: no incluí el número de pieza en la publicación original: LTC2324

¿Tu ADC funciona con un reloj no uniforme? Muchos no funcionan bien con cambios repentinos en la entrada del reloj. Suponiendo que el suyo lo haga, agregue una puerta AND entre su fuente de reloj y la entrada ADC y utilícela para habilitar/deshabilitar el reloj.
No estoy seguro de por qué dice que el reloj FPGA es ruidoso. Parece que necesita un reloj lento de 2 MHz, puede reenviar ese reloj limpiamente fuera de FPGA (usando ODDR si Xilinx).
La entrada del reloj es solo para registrar los bits convertidos, por lo que si le da un reloj uniforme, estaría leyendo basura durante la conversión. Aquí está la hoja de datos: analog.com/media/en/technical-documentation/data-sheets/…
@MituRaj, 500ns no es el período del reloj, sino el "período del sobre", que determina cuándo el reloj está funcionando y deshabilitado. El reloj será de 110 MHz.
@hucklord: sería muy útil poner el número de pieza y el enlace de la hoja de datos en su pregunta original. Además, ¿dónde debemos buscar en la hoja de datos sobre la advertencia del reloj uniforme?
Puede adjuntar la hoja de datos a la pregunta. Por cierto, parece una interfaz SPI sincronizada con la fuente. Puede generar el SCLK de 2 MHz desde FPGA solo cuando necesite leer las muestras.
@ErikR buen punto, lo agregué ahora. Es una hoja de datos furtiva que no establece explícitamente que el reloj no debe ser uniforme. La Figura 21 tiene los diagramas de tiempo relevantes para mí (modo SDR). La razón por la que estoy seguro sobre el cronometraje no uniforme es porque alguien ha preguntado antes que yo: ez.analog.com/data_converters/precision_adcs/f/qa/98034/…
@MituRaj: el FPGA definitivamente controlará la entrada SCK (110 MHz, por cierto) al ADC, pero mi pregunta es si debe generar la señal por sí mismo o simplemente habilitar/deshabilitar la señal de un oscilador externo.
Nunca se debe usar un reloj generado a partir de un FPGA para sincronizar un ADC de alta velocidad/alta precisión.

Respuestas (1)

Hay DOS relojes que son importantes para ese dispositivo, CNV (específicamente el flanco descendente) y sclk.

Sclk está cerrado y normalmente funciona a 55 o 110 MHz, pero no es particularmente sensible a la fluctuación de fase, por lo que un pin FPGA con capacidad de reloj o incluso un registro ODDR con las entradas conectadas adecuadamente debería estar bien allí.

CNV es el de 2 MHz que importa porque el flanco descendente cambia de muestra a espera en la etapa de entrada del ADC. Si observa la hoja de datos, sugieren deslizar un tipo D externo para sincronizar esto con la entrada de reloj FPGA principal, básicamente quiere baja fluctuación en el borde descendente aquí.

La medida en que la fluctuación es importante aquí depende ALTAMENTE del rango de frecuencia de la entrada.

¡Gracias! Estoy siguiendo ese circuito de ejemplo para la entrada CNV, y creo que usaré un reloj externo para todo. El FPGA controlará el reloj, pero no confío en que genere una señal limpia de 110 MHz por sí mismo, incluso si el jitter de SCK no es tan crítico como CNV.
El jitter de SCLK es completamente irrelevante siempre que se mantenga dentro de las especificaciones de frecuencia.