Convertir un bucle de frecuencia bloqueada en un bucle de fase bloqueada

1

Quiero usar un módulo GPS (con una salida PPS) para generar finalmente una señal de temporización de 5 kHz que está alineada en fase con el borde positivo de PPS.

PPS-------MSP430-----DAC-------10MHz VCO-------Divider--------5kHz
             /\                            |
             |(count pulses in             |
             |between PPS edges            |
             |inside MCU)                  |       
             -------------------------------

Hasta ahora, puedo generar una señal estable de 10MHz (VCO de 10MHz conectada a un Launchpad MSP430 para control), y luego divido esta señal de 10MHz a 5kHz utilizando varios chips 74LS90.

  • Esto genera una señal de temporización de 5 kHz muy estable, pero el borde positivo de la señal de 5 kHz, en el pulso del período, NO está alineado con el borde positivo del PPS.

  • ¿Cómo puedo ajustar la fase para que los bordes de 5kHz y PPS estén alineados?

---- EDITAR ¡Gracias por tus comentarios! Nuestro presupuesto de error de tiempo es de 1 microsegundo, por lo que 100 nanosec sería excelente.

Tenía la impresión de que, SI utilizamos un oscilador de 10MHz y lo controlamos a 10MHz con el bucle, y LUEGO dividimos el resultado a 5kHz, entonces "por defecto" el 5kHz sería muy preciso (controlar un 10MHz oscilador a 1 Hz, es 100 nanoseg de precisión de tiempo). Si controlé la salida de 5 kHz y me desconecto por 1 Hz, entonces me desconecto por 200 microsegundos (un error de tiempo mucho mayor). ¿Estoy en lo correcto en mi pensamiento?

    
pregunta rt54321

1 respuesta

1

Prácticamente, cada MCU que se haya hecho incluye al menos un módulo de temporizador / contador, por lo que es un poco tonto usar una cadena de contador externa.

Simplemente conecte la salida VCXO a la entrada del módulo del temporizador (o mejor aún, use el VCXO como el reloj principal de la MCU), y programelo para generar su salida de 5 kHz.

En el firmware, muestrea el valor del contador cada vez que recibe una intterupt del pulso de referencia del GPS. Si el contador tiene un valor bajo (suponiendo que está contando hacia arriba, no hacia abajo), significa que se está ejecutando demasiado rápido y que necesita reducirlo. Si tiene un valor alto (es decir, cerca de 2000), significa que se está ejecutando demasiado lento y debe acelerarse. Ajuste la salida DAC en consecuencia.

Eventualmente, los eventos de reinversión del contador se sincronizarán con los pulsos de referencia del GPS.

    
respondido por el Dave Tweed

Lea otras preguntas en las etiquetas