10Mhz GPSDO I (spanish)

Utilizando un receptor GPS con salida de 10KHZ es sencillo crear un PLL que nos permita “disciplinar” un oscilador de 10Mhz. Esta es una manera fácil y barata de disfrutar en casa de una señal patrón de gran precisión, impensable antes de la era GPS. La constante de tiempo del PLL nos permite jugar con su estabilidad y el ruido de fase viene determinado principalmente por la calidad del oscilador que elijamos.
Mi implementación está basada en retales de allí y de aquí, mi aportación es la introducción de un divisor 1:1000 implementado en un PIC 12F675 así como un PIC 16F88 para la monitorización de varios parámetros del sistema. Todo va montado en una placa del mismo tamaño que el receptor GPS que utilizo, un Rockwell Jupiter. La placa está diseñada en AutoCAD y realizada de forma casera pintando con un plotter directamente sobre el cobre.

El Divisor

El PIC 16F675 utiliza como señal de reloj los 10Mhz del oscilador y se encarga de generar una salida de 10kHz que varía según el reloj de entrada. En otras implementaciones, esto se hace con varios integrados contadores 74HC390, lo que aumenta el tamaño y el consumo del sistema. El PIC tiene más salidas de las necesarias, por lo que podemos programarlo para obtener otras señales interesantes. En mi caso, he implementado en una de las salidas otra señal de 90KHz desfasada 90º con respecto a la principal, con el fin de experimentar con detectores de enganche basados en esta técnica (gracias Ignacio, EB4APL). Es también interesante disponer de una salida de 1KHZ que podremos utilizar, por ejemplo, para ajustar la base de tiempos de nuestro osciloscopio. Aquí podemos ver una captura de las dos salidas de 10KHz, desfasadas 90ª:

Están disponibles para descargar tanto el código fuente en C del divisor como el fichero .HEX listo para grabar el PIC.

EL PIC DE CONTROL

El PIC 16F88 realiza varias funciones, que repite de forma constante:

  • Monitorización de los mensajes NMEA del GPS
  • Monitorización de la señal de temperatura del oscilador
  • Monitorización de la señal de control del oscilador (EFC)
  • Control de los LEDS que nos informan sobre parámetros importantes
  • Transmisión de mensajes serie con información sobre la información del PLL

Disponemos de LEDs que nos proporcionan la siguiente información:

  • LED de alimentación (muy obvio)
  • LED de temperatura del OCXO
  • LED de adquisición de señal GPS
  • LED de número de satélites en uso (útil para situar la antena GPS)
  • LED de PLL enganchado

Merece especial atención el mecanismo de detección de enganche del PLL, basada en detectar cuando la señal EFC que gobierna el OCXO deja de oscilar y se estabiliza. Viendo el código fuente puede uno hacerse una idea de cómo funciona.

Están disponibles para descargar tanto el código fuente en C del PIC de control como el fichero .HEX listo para grabar el PIC .

El circuito también dispone de un simple conversor de TTL a RS232 que mediante un jumper nos permite seleccionar si queremos disponer de la señal NMEA o de los mensajes del PIC mediante puerto serie. El conversor se reduce a un FET y una resistencia y podemos verlo en la parte inferior del esquema.

EL CIRCUITO

En el esquema está omitido un condensador de 100nF para el integrado 74HC86, que alberga las puertas XOR que implementan el detector de fase, y que de paso se utiliza como buffer. Pincha en la imagen para abrir una más grande.

LA PLACA

La placa de circuito impreso sufrió diferentes modificaciones después de haber pasado por el ácido, por lo que no dispongo de un positivo válido que poder compartir. Por otro lado, utilicé los componentes que yo tenía a mano y que probablemente sean difíciles de conseguir ahora (me viene a la mente el zócalo para el GPS

Mucha suerte con el vuestro.