Contador para reloj de 20 GHz

6

Estoy diseñando una aplicación de tiempo crítico donde necesito resolución de tiempo en el orden de 100 picosegundos.

Estoy considerando hacer un oscilador de anillo de 20 GHz y un reloj de oscilador de anillo.

¿Hay IC para ello o puedo implementarlo utilizando CoolRunner II CPLD u otro FPGA?

Observé su hoja de datos, y la frecuencia máxima para el reloj del sistema es aproximadamente 256 MHz y el reloj externo es 145 MHz. Hoja de datos

¿Debo buscar un dispositivo más rápido o hay alguna otra forma de construirlo?

    
pregunta Steve

5 respuestas

12

Hace 15 años diseñé un digitalizador de dos parámetros (energía y tiempo) para medir el tiempo de vuelo. Para este sistema utilicé una fuente de corriente constante en una tapa mantenida en reinicio por un JFET. Al recibir el disparador (lógica rápida NIM, cambio de nivel mantenido en el régimen analógico (en lugar de saturado), se abrió el JFET, y pude alcanzar una resolución de 50ps al digitalizar la rampa lineal e interpolar desde un ADC de 62.5MSPS un FPGA. El circuito era bastante simple y combinaba perfectamente las simulaciones.

    
respondido por el mike ingle
6

Hace mucho tiempo, como experimento mental, 'diseñé' un FPGA de captura de tiempo.

Tenía un oscilador en anillo, convencional aparte del hecho de que tenía 41 inversores. El período era, por lo tanto, mucho más bajo que el retraso de cualquier puerta. El proceso FPGA tuvo retrasos de compuerta individuales en los 10s de pS donde el enrutamiento era local y el abanico de salidas bajo, pero solo podía manejar relojes del sistema en el orden de 100s de MHz, debido a multiplexación, enrutamiento y demoras de carga entre los bloques.

El proceso de captura de tiempo luego usó 41 latches D, cada uno capturando la transición de entrada, pero, por supuesto, cronometrado en diferentes fases del ciclo del contador de anillo. Las salidas de los latches D podrían interpretarse como un 'código de termómetro', interpolando la transición de entrada a la precisión del subciclo, con una resolución en los 10 s de pS. Otros 41 pestillos D capturaron un reloj de referencia.

Hay dos dificultades principales con tal estructura. La primera es obtener las herramientas de síntesis para colocar el contador de anillos y líneas a los pestillos D de una manera de alta velocidad. Esta parte probablemente sería mejor manejada por la colocación manual directa. Es posible que necesite un tipo específico de FPGA pequeño de alta velocidad, tal vez uno sin multiplicadores y núcleos de procesador. El segundo es el manejo libre de carreras de la superposición entre el código del termómetro y un contador convencional cronometrado por la referencia de frecuencia más baja, pero se puede hacer, cuidando los problemas de metastabilidad.

No lo perseguí porque encontré una mejor manera de resolver el problema, pero fue divertido.

    
respondido por el Neil_UK
5

El tejido FPGA, como señalan otras respuestas, no se puede sincronizar a la velocidad que necesita.

Sin embargo, algunos FPGA también tienen interfaces seriales de alta velocidad en el rango de 5Gb / sa 10Gb / s, diseñados para SATA, PCIe y otros protocolos de comunicación de alta velocidad.

Probablemente hay formas de aprovechar estas mediciones de tiempo de alta resolución (100ps pero quizás no 50ps).

Lo siento, no puedo ser más específico sobre los detalles.

    
respondido por el Brian Drummond
4

Un reloj de 2 GHz tiene un período de 500 ps. Entonces, si necesita una resolución de 100 ps, entonces diría que necesita al menos 10 GHz.

2 GHz y más está fuera de la liga de cualquier FPGA por lo que sé. Ahora estás en territorio de RF, que es solo analógico :-)

Texas Instruments y Analógico los dispositivos crean IC de generador de reloj que pueden generar relojes de hasta varios GHz que pueden ajustarse a sus necesidades.

    
respondido por el Bimpelrekkie
4

Como alguien ya señaló, hay IC dedicados para ese propósito.

Si desea hacerlo por su cuenta, un posible enfoque sería utilizar las llamadas líneas de retardo de Vernier.

Tienes dos líneas de retardo (cadenas de búferes) donde una cadena usa búferes más rápidos que el otro. La resolución de su medición es igual a la diferencia de los retrasos de los elementos en la cadena rápida y "lenta".

Para medir la demora, envía el impulso de inicio a través de la cadena lenta y el impulso de parada a través de la cadena rápida. El pulso de parada viaja más rápido y finalmente alcanzará el pulso de inicio. El número de búferes requeridos será una medida para el retraso.

Mi enfoque está en el diseño de circuitos integrados, por lo que no estoy seguro de que esto pueda hacerse con un FPGA. Sin embargo, la literatura sugiere que es posible.

    
respondido por el Mario

Lea otras preguntas en las etiquetas