HSI y MSI - Aplicaciones de dos OSC RC internos en el microcontrolador

3

En un microcontrolador ST que estoy usando hay dos OSC que se pueden enrutar exactamente al mismo hardware y me pregunto cuándo usarías cada uno.

Enlace a la documentación de la pieza STM32L496ZG

Extracto de la hoja de datos sobre los dos OSC's -

  

Oscilador interno RC de alta velocidad de -16 MHz (HSI16), ajustable por software, que puede suministrar un PLL

     

- Oscilador RC interno de varias velocidades
     (MSI), recortable por software, capaz de generar 12 frecuencias desde      100 kHz a 48 MHz. Cuando una fuente de reloj de 32.768 kHz está disponible en el      sistema (LSE), la frecuencia MSI se puede recortar automáticamente      Hardware para alcanzar una precisión superior a ± 0.25%. En este modo el MSI      puede alimentar el dispositivo USB, ahorrando la necesidad de una alta velocidad externa      cristal (HSE). El MSI puede suministrar un PLL.

En la nota de aplicación de ST AN4555 se explica

  

reloj HSI16

     

La señal de reloj HSI16 se genera desde un oscilador RC interno de 16 MHz.   El oscilador HSI16 RC tiene la ventaja de proporcionar una fuente de reloj a bajo costo (sin   componentes externos). También tiene un tiempo de arranque más rápido que el oscilador de cristal HSE.   Sin embargo, incluso con la calibración, la frecuencia es menos precisa que un cristal externo.   Oscilador o resonador cerámico.   La señal HSI16 también se puede utilizar como fuente de respaldo (reloj auxiliar) si el cristal HSE   el oscilador falla Consulte la sección del manual de referencia: Sistema de seguridad del reloj (CSS).

     

3.3 reloj MSI
  La señal de reloj MSI se genera desde un oscilador RC interno. Su rango de frecuencia puede ser   ajustado por software utilizando los bits MSIRANGE [3: 0] en el registro de control del reloj   (RCC_CR). Hay doce rangos de frecuencia disponibles: 100 kHz, 200 kHz, 400 kHz, 800 kHz,   1 MHz, 2 MHz, 4 MHz (valor predeterminado), 8 MHz, 16 MHz, 24 MHz, 32 MHz y 48 MHz.   El oscilador MSI RC tiene la ventaja de proporcionar un bajo costo (sin componentes externos)   Fuente de reloj de baja potencia. Además, cuando está recortado por el oscilador externo de 32.768 kHz   (LSE), el MSI puede proporcionar al dispositivo USB un reloj muy preciso que elimina la necesidad de   un cristal externo de alta velocidad (HSE).

Mi problema

He estado sacándome el pelo cuando STLINK LPUART estaba agregando un cero extra en el medio de cada byte que envié a la PC desde el microcontrolador. Lo puse a tiempo y me di cuenta de que había asignado HSI como el reloj LPUART. Cuando asigné MSI el error desapareció. Supongo que tendré que recortar el HSI ya que debe ser calibrado.

Pero esto me hizo preguntarme, ya que puedo usar el MSI para casi cualquier cosa, ¿por qué incluyen ambos relojes en el único chip?

    

1 respuesta

1

HSI es mucho más preciso, pero menos flexible.

Al observar los valores resaltados en la hoja de datos, la frecuencia MSI se vuelve extremadamente poco confiable en los extremos inferiores de la temperatura y el rango de voltaje de suministro, mientras que HSI apenas notaría que V DD caiga de 3.6V a 1.8 V.

Por lo tanto, es bastante sorprendente que estuviera teniendo problemas con HSI como fuente de reloj. Agregar un poco en el medio significaría un 20% de desviación del reloj. Esa es una magnitud peor que la precisión teórica del peor caso del HSI. Debe haber algún otro problema que sigue al acecho.

También vale la pena señalar que HSI16 puede ejecutarse en los modos STOP, pero MSI no puede.

    
respondido por el berendi

Lea otras preguntas en las etiquetas