加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
  • 资料介绍
  • 资料预览
  • 相关推荐
申请入驻 产业图谱

AN5676 如何在 STM32U5 系列上校准内部 RC 振荡器

3小时前
34
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

AN5676 如何在 STM32U5 系列上校准内部 RC 振荡器

642.41 KB

STM32U5 系列微控制器内嵌两个可选为系统时钟源的内部 RC 振荡器。它们是 HSI16(高速内部)和 MSI(多速内部)振荡器,其可驱动两个独立的输出:MSIS(用于系统时钟)和 MSIK(用于某些外设作为内核时钟)。HSI16 振荡器的典型频率为 16MHz。MSI 振荡器为多速低功耗时钟源。

STM32U5 系列微控制器(称为 STM32U5 器件)具有三个辅助内部时钟源:

  • LSI:32kHz(内部低速)
  • HSI48:48MHz(内部高速),可直接用于 USB、RNG(真随机数发生器)和 SDMMC(SD/SDIO MMC 卡主机接口)。
  • SHSI:48MHz(+抖动)内部安全 RC 振荡器,专用于为 SAES 外设提供时钟

工作温度对 RC 振荡器的精度有影响。在 30°C 时,HSI16 精度为±0.5%,MSI 精度为±0.6%,HSI48 精度为±4%。但在–40°C 至125°C 的温度范围内,精度会降低。为补偿温度对内部 RC 振荡器精度的影响,STM32U5 器件内置一些功能用于校准 HSI16、MSI 和 HSI48 振荡器及测量 LSI 振荡器频率。

当系统中有 32.768kHz 的 LSE(低速外部)时钟源可用时,MSI 振荡器的频率可通过硬件自动微调,从而达到优于±0.25%的精度。这种使用 LSE 进行的自动硬件校准被称为 PLL(锁相环)模式。本应用笔记尚未对 PLL 模式进行介绍,仅侧重于用户微调。

本文档还详细介绍了如何校准 HSI16、MSI 和 HSI48 内部 RC 振荡器,方法如下:

  • 基于找到具有最小误差的频率的方法
  • 基于找到最大允许频率误差的方法
  • 制定一个预先测量值的表然后在其中搜索相应变化的方法

LSI 振荡器的测量是通过将振荡器连接到定时器输入捕获来实现的。

本应用笔记随附的 X-CUBE-RC-CALIB 扩展包包含执行这些内部振荡器校准的源代码,以及运行示例所需的所有嵌入式软件模块。

STM32U5 器件具有下列时钟源可用于驱动系统时钟:

  • HSI16:16 MHz 高速内部 RC 振荡器时钟
  • HSE:4 至 50 MHz 高速外部振荡器时钟
  • MSI(MSIS):100 kHz 到 48 MHz 多速内部 RC 振荡器时钟
  • PLL:1 MHz 到 160 MHz 锁相环(PLL),由 HSI16、MSI 或 HSE 振荡器提供时钟

HSI16 振荡器的典型频率为 16 MHz,功耗为 150 μA。

MSI RC 振荡器基于四个内部 RC 振荡器:MSIRC0 = 48 MHz、MSIRC1 = 4 MHz、MSIRC2 = 3.072 MHz、MSIRC4 = 400 kHz。每个 MSIRCx 振荡器具有四个分频器:/1、/2、/3 和/4。MSI 共提供了 16 个频率范围,可选

择用于两种输出:MSIS(用于系统时钟)和 MSIK(用于外设内核时钟)。MSI 的设计为工作电流与频率成正比(请参考产品手册以获得 MSI 功耗与所选频率范围之间关系的更详细信息),当 CPU 在低频运行时,可最小化内部振荡器功耗。在从复位重启或待机、关断低功耗模式唤醒后,MSIS 时钟被用作系统时钟。从停机模式唤醒后,可选择 MSI 时钟而不是 HSI16 作为系统时钟。

HSI48 时钟信号由内部 48 MHz RC 振荡器生成,可直接用于 USB、RNG 和 SDMMC。

内部 RC 振荡器(HSI16、MSI 和 HSI48)提供了一个低成本时钟源(无需外部元件)。它们还具有比外部振荡器更快的启动时间和更低的功耗。可校准 HSI16、MSI 和 HSI48 振荡器以提高其精度。但即使校准后,内部 RC 振荡器频率精度也不如外部晶振陶瓷谐振器的频率精度(几十 ppm)高。

资料预览

相关推荐