¿Cómo verificar la frecuencia del reloj MSP430?

3

Estoy trabajando en un proyecto en el que se usa un MSP430 para proporcionar el tiempo para algunas cosas donde el tiempo preciso es importante (puede estar apagado en un 10%, pero no en 2x). Esto es impulsado por el temporizador A0 que se ejecuta desde la fuente del reloj SMCLK en este caso. Me gustaría una función de autoprueba mediante la cual puedo comprobar que el reloj MSP430 no está demasiado lejos de las especificaciones (se supone que es de 25MHz). En particular, me preocupan los modos de falla (aunque poco probable) que reducen el reloj de alta velocidad del MSP430 a un valor realmente bajo (kHz), aunque el chip sigue funcionando: eso sería catastrófico en la medida en que el resto del hardware es preocupado. Hay un reloj de 32kHz de un cristal en este tablero.

(1) ¿Existe una función de biblioteca (msp430ware, etc.) para verificar que los relojes estén bien?

(2) ¿Puedo usar el reloj de 32 kHz para verificar el reloj de alta velocidad? ¿Cuál es la mejor manera de hacerlo?

(3) ¿Qué características de integridad del reloj hay en el MSP430?

¡Gracias!

    
pregunta Alex I

2 respuestas

2
  

(2) ¿Puedo usar el reloj de 32 kHz para verificar el reloj de alta velocidad? ¿Cuál es la mejor manera de hacerlo?

Use dos temporizadores: uno a 32kHz, uno a alta velocidad. Compare la diferencia y verifique que esté en un estado de ira válido.

    
respondido por el Turbo J
2

(2) Use dos temporizadores, uno de cada fuente de reloj, y cuente la cantidad de tics del reloj de alta velocidad entre dos tics de 32 kHz. Si el valor está fuera de rango, ajuste el DCO adecuadamente.

En los chips con el módulo UCS, el FLL puede hacer esto automáticamente sin necesidad de recursos adicionales como temporizadores. Puede configurar el FLL con la función driverlib UCS_clockSignalInit(UCS_FLLREF,...) .

(1), (3) Las fuentes de reloj internas (VLO, REFO, DCO, o lo que sea que tenga su chip) no pueden fallar realmente. Su único problema es que pueden no ser muy precisos.

Las fuentes de reloj externas se monitorean y tienen bits de error e interrupciones. Si un cristal externo falla, tienes que manejar esto de alguna manera. (El UCS cambia automáticamente a una fuente de reloj interna si falla un cristal, pero debe indicar si esto es apropiado para su aplicación. En su caso, si el cristal de 32 kHz se reemplaza por REFO, el reloj aún está en el 10% límites.)

    
respondido por el CL.

Lea otras preguntas en las etiquetas