stm32L0 - ¿Puedo usar el reloj LSE para el tick 1ms y usar HSI para el systick?

0

Estoy usando STM32L051, nuestra tarea tiene dos requisitos para la administración del reloj:

  1. Debe ejecutarse a una frecuencia de 16Mhz o superior (por lo tanto, usamos MSI / HSI para Systick) para un procesamiento rápido de tareas.
  2. Necesita una fuente de reloj de mayor precisión (50ppm 32khz LSE está bien; y nuestra placa tiene un cristal externo de 20ppm 32khz) para limitar la desviación del reloj a aproximadamente 100 ms por 30 minutos.

¿Cómo puedo configurar el sistema de reloj para usar tanto el MSI / HSI (para Systick) como el cristal de 32 kHz externo (para una menor desviación del reloj)?

He buscado en la hoja de datos y busqué mucho en Google, pero no encontré una solución. No estoy familiarizado con el desarrollo de MCU. Por favor, envíenme a la sección de la hoja de datos (hay varias palabras clave que están bien) o la API de Cortex-driver para una investigación adicional, ¡gracias!

    
pregunta jtuki

1 respuesta

0

Por supuesto, puedes usar dos fuentes de reloj. Lea el Manual de referencia (RM0377, enlace ), sección Restablecer y los controles del reloj .

El núcleo y los periféricos funcionarán con HSI, multiplicado por PLL (si desea trabajar en frecuencia, no es igual a 16MHz), y el RTC se sincronizará con el cristal de baja velocidad.

Además, si no necesita las funciones de ahorro de energía, puede usar solo un cristal de alta velocidad (8 MHz, por ejemplo) y el reloj de alimentación a través del PLL al núcleo y del prescaler, a RTC. Puede encontrar detalles en ref.manual, figura 'Árbol del reloj (dispositivos STM32F03x y STM32F05x)'.

PS, puedes usar la interrupción de activación de RTC en lugar del temporizador de systick. Esto proporcionará mediciones más precisas del período.

    
respondido por el Alexey Esaulenko

Lea otras preguntas en las etiquetas