STM32U5 系列微控制器內(nèi)嵌兩個(gè)可選為系統(tǒng)時(shí)鐘源的內(nèi)部 RC 振蕩器。它們是 HSI16(高速內(nèi)部)和 MSI(多速內(nèi)部)振蕩器,其可驅(qū)動(dòng)兩個(gè)獨(dú)立的輸出:MSIS(用于系統(tǒng)時(shí)鐘)和 MSIK(用于某些外設(shè)作為內(nèi)核時(shí)鐘)。HSI16 振蕩器的典型頻率為 16MHz。MSI 振蕩器為多速低功耗時(shí)鐘源。
STM32U5 系列微控制器(稱為 STM32U5 器件)具有三個(gè)輔助內(nèi)部時(shí)鐘源:
- LSI:32kHz(內(nèi)部低速)
- HSI48:48MHz(內(nèi)部高速),可直接用于 USB、RNG(真隨機(jī)數(shù)發(fā)生器)和 SDMMC(SD/SDIO MMC 卡主機(jī)接口)。
- SHSI:48MHz(+抖動(dòng))內(nèi)部安全 RC 振蕩器,專用于為 SAES 外設(shè)提供時(shí)鐘
工作溫度對(duì) RC 振蕩器的精度有影響。在 30°C 時(shí),HSI16 精度為±0.5%,MSI 精度為±0.6%,HSI48 精度為±4%。但在–40°C 至125°C 的溫度范圍內(nèi),精度會(huì)降低。為補(bǔ)償溫度對(duì)內(nèi)部 RC 振蕩器精度的影響,STM32U5 器件內(nèi)置一些功能用于校準(zhǔn) HSI16、MSI 和 HSI48 振蕩器及測(cè)量 LSI 振蕩器頻率。
當(dāng)系統(tǒng)中有 32.768kHz 的 LSE(低速外部)時(shí)鐘源可用時(shí),MSI 振蕩器的頻率可通過硬件自動(dòng)微調(diào),從而達(dá)到優(yōu)于±0.25%的精度。這種使用 LSE 進(jìn)行的自動(dòng)硬件校準(zhǔn)被稱為 PLL(鎖相環(huán))模式。本應(yīng)用筆記尚未對(duì) PLL 模式進(jìn)行介紹,僅側(cè)重于用戶微調(diào)。
本文檔還詳細(xì)介紹了如何校準(zhǔn) HSI16、MSI 和 HSI48 內(nèi)部 RC 振蕩器,方法如下:
- 基于找到具有最小誤差的頻率的方法
- 基于找到最大允許頻率誤差的方法
- 制定一個(gè)預(yù)先測(cè)量值的表然后在其中搜索相應(yīng)變化的方法
LSI 振蕩器的測(cè)量是通過將振蕩器連接到定時(shí)器輸入捕獲來實(shí)現(xiàn)的。
本應(yīng)用筆記隨附的 X-CUBE-RC-CALIB 擴(kuò)展包包含執(zhí)行這些內(nèi)部振蕩器校準(zhǔn)的源代碼,以及運(yùn)行示例所需的所有嵌入式軟件模塊。
STM32U5 器件具有下列時(shí)鐘源可用于驅(qū)動(dòng)系統(tǒng)時(shí)鐘:
- HSI16:16 MHz 高速內(nèi)部 RC 振蕩器時(shí)鐘
- HSE:4 至 50 MHz 高速外部振蕩器時(shí)鐘
- MSI(MSIS):100 kHz 到 48 MHz 多速內(nèi)部 RC 振蕩器時(shí)鐘
- PLL:1 MHz 到 160 MHz 鎖相環(huán)(PLL),由 HSI16、MSI 或 HSE 振蕩器提供時(shí)鐘
HSI16 振蕩器的典型頻率為 16 MHz,功耗為 150 μA。
MSI RC 振蕩器基于四個(gè)內(nèi)部 RC 振蕩器:MSIRC0 = 48 MHz、MSIRC1 = 4 MHz、MSIRC2 = 3.072 MHz、MSIRC4 = 400 kHz。每個(gè) MSIRCx 振蕩器具有四個(gè)分頻器:/1、/2、/3 和/4。MSI 共提供了 16 個(gè)頻率范圍,可選
擇用于兩種輸出:MSIS(用于系統(tǒng)時(shí)鐘)和 MSIK(用于外設(shè)內(nèi)核時(shí)鐘)。MSI 的設(shè)計(jì)為工作電流與頻率成正比(請(qǐng)參考產(chǎn)品手冊(cè)以獲得 MSI 功耗與所選頻率范圍之間關(guān)系的更詳細(xì)信息),當(dāng) CPU 在低頻運(yùn)行時(shí),可最小化內(nèi)部振蕩器功耗。在從復(fù)位重啟或待機(jī)、關(guān)斷低功耗模式喚醒后,MSIS 時(shí)鐘被用作系統(tǒng)時(shí)鐘。從停機(jī)模式喚醒后,可選擇 MSI 時(shí)鐘而不是 HSI16 作為系統(tǒng)時(shí)鐘。
HSI48 時(shí)鐘信號(hào)由內(nèi)部 48 MHz RC 振蕩器生成,可直接用于 USB、RNG 和 SDMMC。
內(nèi)部 RC 振蕩器(HSI16、MSI 和 HSI48)提供了一個(gè)低成本時(shí)鐘源(無需外部元件)。它們還具有比外部振蕩器更快的啟動(dòng)時(shí)間和更低的功耗。可校準(zhǔn) HSI16、MSI 和 HSI48 振蕩器以提高其精度。但即使校準(zhǔn)后,內(nèi)部 RC 振蕩器頻率精度也不如外部晶振或陶瓷諧振器的頻率精度(幾十 ppm)高。