Calibración del oscilador de un microcontrolador

0

Me gustaría hacer una sincronización precisa de los eventos que desencadenan interrupciones de hardware en un microcontrolador. Soy consciente de los problemas de estabilidad asociados con los osciladores de microcontroladores y creo que una estabilidad de 30 ppm (o menor) en un oscilador de 50 MHz (o mayor) será lo suficientemente buena para mi proyecto. Pero un oscilador puede ser muy estable y, sin embargo, ser inexacto como cronometrador, ya que la frecuencia del oscilador puede no ser lo que uno cree que es. Así que mi pregunta es: ¿cómo se hace para calibrar el oscilador externo de una placa de microcontrolador?

¡Gracias!

    
pregunta D_J_S

4 respuestas

2

Si está dispuesto a realizar la medición durante un período de tiempo (una medianoche a la siguiente), la frecuencia de la red eléctrica de EE. UU. se mantiene a exactamente 60 Hz durante un período de 24 horas como se explica aquí . La frecuencia variará durante el día, pero se recorta al final del día para que se produzcan exactamente 5,184,000 (60 * 60 * 60 * 24) ciclos de una medianoche a la siguiente.

Para contar esto, necesitará un detector de cruce por cero. Hay muchos de esos circuitos en la web, aquí hay uno bastante simple:

Cuente la cantidad de ciclos que su reloj está apagando en 24 horas (quizás después de pasar por un divisor), y luego compare esos conteos con los conteos de las líneas de energía.

Ejecuta esto la primera vez y te dará la frecuencia. Ejecútalo otro día y te dará la deriva.

    
respondido por el tcrosley
1

Permítame ampliar un poco la excelente respuesta de tcrosley de ayer. Vamos a definir primero cómo precisa que desea ser. Dice 30 ppm, lo que significa una deriva más precisa que dos segundos (exactamente 2.592 segundos) cada 24 horas.

Podría seguir la idea de tcrosley de bloquear la red eléctrica. Y con él, podría hacer un ajuste continuo del dispositivo si está continuamente conectado a la red.

Hay un par de otras alternativas. Podrías usar el tiempo del GPS. Hay un excelente artículo "La ciencia del cronometraje", que es la Nota de aplicación 1289 de Hewlett-Packard y, por googlear rápido, está disponible, por ejemplo, aquí . ¿Sabía que Hewlett-Packard comenzó haciendo osciladores y contadores de frecuencia?

Utilizar el reloj atómico proporcionado por el GPS puede ser más fácil de lo que cree. Es posible que su computadora ya use el protocolo NTP para mantener su tiempo sincronizado con UTC. Si no, puede instalar un cliente NTP en su computadora. Los servidores NTP generalmente obtienen su tiempo de los relojes atómicos GPS y, en cualquier caso, la precisión es mucho mejor que 2 segundos por día. Por lo tanto, calibrar (verificar) la velocidad del oscilador del microcontrolador puede ser tan simple como enviar el "tiempo" del microcontrolador periódicamente a una PC y escribir una pequeña aplicación de PC para mostrar la hora y compararla con la hora corregida NTP de la PC.

    
respondido por el PkP
0

La forma más estándar de caracterizar y calibrar osciladores de fabricación propia es usar instrumentos de calibración adecuados, como contadores de frecuencia con una base de tiempo estable (por ejemplo, reloj de rubidio). Un ejemplo de herramienta asequible es Stanford Research SR625 Frequency Counter . La herramienta tiene una precisión de 0.1ppb (parte por billón), si calculé esto correctamente. El precio es de solo $ 7k, pero se puede alquilar por mucho menos.

    
respondido por el Ale..chenski
-1

U puede usar DFLL (bucle de frecuencia digital bloqueada) con reloj RTC o cualquier cristal barato externo con menos ppm, dado como entrada al DFLL, para calibrar el microcontrolador. Desde mi experiencia personal, la serie ATXMega de Atmel le daría una variedad de controladores con un oscilador interno confiable.

También hay un PLL dentro de algunos microcontroladores. U puede conectar un reloj preciso de un segundo (un reloj RTC) y multiplicarlo con un factor de 1-31, de modo que para obtener un reloj del sistema preciso

Atmel XMega:

  1. Circuito DFLL incorporado.
  2. Circuito PLL incorporado.
  3. Oscilador interno de 2 MHz calibrado de fábrica.
  4. Oscilador RTC interno de 32.768 KHz calibrado en fábrica.
  5. Oscilador calibrado y sintonizable en tiempo de ejecución a 32MHz

Para calibrar la fuente del reloj, consulte esta hoja de datos. Puede obtener algunas ideas haciendo clic en aquí

    
respondido por el gzix

Lea otras preguntas en las etiquetas