0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

應(yīng)用筆記|如何在 STM32U5 系列上校準(zhǔn)內(nèi)部 RC 振蕩器

STM32單片機(jī) ? 來源:未知 ? 2022-12-12 21:35 ? 次閱讀





目錄預(yù)覽




0.前言

1.STM32U5 系統(tǒng)時(shí)鐘

2.內(nèi)部 RC 振蕩器校準(zhǔn)

3.內(nèi)部 LSI 振蕩器測(cè)量

4.X-CUBE-RC-CALIB 演示

5.結(jié)論


0.前言

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)行示例所需的所有嵌入式軟件模塊。


1.STM32U5 系統(tǒng)時(shí)鐘

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)高。


注:若外部振蕩器發(fā)生故障,則 MSI 內(nèi)部 RC 振蕩器還可作為備份時(shí)鐘源(輔助時(shí)鐘)使用。


STM32U5 器件還嵌入了以下次級(jí)時(shí)鐘源(不能用作系統(tǒng)時(shí)鐘):

? LSI:32kHz 低速內(nèi)部 RC,可在停機(jī)和待機(jī)模式下保持運(yùn)行用于 IDWG(獨(dú)立看門狗)、RTC 和 LCD。LSI振蕩器無法校準(zhǔn),但可通過測(cè)量來評(píng)估任何頻率偏差(由于溫度和電壓變化)。

? LSE 晶振:32.768 kHz 低速外部晶振 RC,可選地驅(qū)動(dòng) RTC(實(shí)時(shí)時(shí)鐘

? HSI48:48 MHz 高速內(nèi)部 RC,設(shè)計(jì)用于通過特制 CRS(時(shí)鐘恢復(fù)系統(tǒng))電路為 USB 外設(shè)提供高精度時(shí)鐘。它還可驅(qū)動(dòng) RNG 和 SDMMC。

? MSIK:多速內(nèi)部 RC 振蕩器時(shí)鐘,用于外設(shè)內(nèi)核時(shí)鐘(源自 MSIRCx 振蕩器)

? SHSI:48 MHz 內(nèi)部 RC 振蕩器,專為 SAES 外設(shè)提供時(shí)鐘


2.內(nèi)部 RC 振蕩器校準(zhǔn)

由于生產(chǎn)過程的不同,每個(gè)器件的內(nèi)部 RC 振蕩器的頻率都可能不同。因此,MSI 和 HSI16 RC 振蕩器由意法半導(dǎo)體在 TA = 30 °C 時(shí)進(jìn)行工廠校準(zhǔn)。


復(fù)位后,工廠校準(zhǔn)值自動(dòng)加載到內(nèi)部校準(zhǔn)位中??晌⒄{(diào)內(nèi)部 RC 振蕩器的頻率,以在更寬的溫度和供電范圍內(nèi)達(dá)到更好的精度。這就是微調(diào)位的作用。對(duì)于 HSI16 振蕩器,復(fù)位后校準(zhǔn)值加載于 HSICAL[11:0]中。


使用五個(gè)微調(diào)位 HSITRIM[4:0]進(jìn)行微調(diào)。默認(rèn)微調(diào)值為 16。增加/降低此微調(diào)值會(huì)增加/降低 HSI16 頻率。HSI16 振蕩器微調(diào)步長為 0.18%(約 29 kHz),具體如下:

? 將微調(diào)值寫為 17 至 31 會(huì)增加 HSI16 頻率。

? 將微調(diào)值寫為 0 至 15 會(huì)降低 HSI16 頻率。

? 將微調(diào)值寫為 16,HSI16 頻率會(huì)保持為默認(rèn)值。下圖顯示了隨校準(zhǔn)值變化的 HSI16 振蕩器行為。HSI16 振蕩器頻率隨校準(zhǔn)值增加(校準(zhǔn)值 = 默認(rèn)的 HSICAL[11:0]+ HSITRIM[4:0])。



對(duì)于 MSIRCx 振蕩器(x = 0..3),復(fù)位后校準(zhǔn)值加載于 MSICALx[4:0]位中。五個(gè)微調(diào)位 MSITRIM[4:0]使微調(diào)范圍更寬。校準(zhǔn)基于將默MSICALx[4:0](復(fù)位值)加上 MSITRIMx[4:0]。


結(jié)果存儲(chǔ)在 MSICALx[4:0] = 默認(rèn) MSICALx[4:0] + MSITRIMx[4:0]中。


示例

假設(shè)默認(rèn)的 MSI 校準(zhǔn)值 MSICALx[4:0]為 0x10:

1.將0x010x0F和之間的值寫入 MSITRIM[4:0],會(huì)使校準(zhǔn)值 MSICALx[4:0]處于 MSICALx[4:0] = 0x10 + 0x01= 0x11 到 MSICALx[4:0] = 0x10 + 0x0F = 0x1F 的范圍內(nèi)。這些結(jié)果大于 0x10(默認(rèn)的 MSICALx[4:0]值),因此 MSIRCx 頻率增加 1 步(0x11 - 0x10)至 15 步(0x1F - 0x10)。


2. 將 0x11 和 0x1F 之間的值寫入 MSITRIM[4:0],會(huì)使校準(zhǔn)值 MSICALx[4:0]處于 MSICALx[4:0] = 0x10 + 0x11 =0x01 到 MSICALx[4:0] = 0x10 + 0x1F = 0x0F 的范圍內(nèi)。這些結(jié)果小于 0x10(默認(rèn)的 MSICALx[4:0]值),因此 MSIRCx 頻率降低 1 步(0x01)至 15 步(0x0F)。


3. 在 MSITRIM[4:0]中寫入默認(rèn)校準(zhǔn)值 0x10 會(huì)導(dǎo)致校準(zhǔn)值 MSICALx[4:0]等于MSICALx[4:0] = 0x10 + 0x10 = 0x00,因此 MSIRCx 頻率會(huì)降低 16 步(最低頻率)。


下圖顯示了 MSIRCx 相比于 MSICALx[4:0]在 4MHz 時(shí)的行為。


對(duì)于 HSI48 振蕩器,復(fù)位后校準(zhǔn)值加載于 HSI48CAL[8:0]中。使用六個(gè)微調(diào)位 TRIM[6:0](在 CRS_CR 寄存器中)進(jìn)行微調(diào)。默認(rèn)微調(diào)值為 64。增加/降低此微調(diào)值會(huì)增加/降低 HSI48 頻率。


HSI48 振蕩器微調(diào)步長為 0.12%(約 57 kHz),具體如下:

? 將微調(diào)值寫為 65 至 127 會(huì)增加 HSI48 頻率。

? 將微調(diào)值寫為 0 至 63 會(huì)降低 HSI48 頻率。

? 將微調(diào)值寫為 64,HSI48 頻率會(huì)保持為默認(rèn)值。


下圖顯示了隨校準(zhǔn)值變化的 HSI48 振蕩器行為。HSI48 振蕩器頻率隨校準(zhǔn)值增加(校準(zhǔn)值 = 默認(rèn)的 HSI48CAL[8:0]+ TRIM[6:0])。



篇幅有限僅展示部分,完整文檔請(qǐng)點(diǎn)擊“閱讀原文”后下載
THE END


點(diǎn)擊“閱讀原文”,可下載原文檔


原文標(biāo)題:應(yīng)用筆記|如何在 STM32U5 系列上校準(zhǔn)內(nèi)部 RC 振蕩器

文章出處:【微信公眾號(hào):STM32單片機(jī)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6023

    文章

    44376

    瀏覽量

    628309
  • STM32
    +關(guān)注

    關(guān)注

    2257

    文章

    10828

    瀏覽量

    352444

原文標(biāo)題:應(yīng)用筆記|如何在 STM32U5 系列上校準(zhǔn)內(nèi)部 RC 振蕩器

文章出處:【微信號(hào):STM32_STM8_MCU,微信公眾號(hào):STM32單片機(jī)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    文氏橋振蕩器的原理和應(yīng)用

    文氏橋振蕩器(Wien Bridge Oscillator),又稱文氏電橋振蕩電路或RC橋式正弦波振蕩器,是一種基于RC串并聯(lián)網(wǎng)絡(luò)實(shí)現(xiàn)的
    的頭像 發(fā)表于 07-30 18:06 ?1018次閱讀

    STM32H5STM32U5在trustzone上有哪些不同?

    我要做空調(diào)的空中升級(jí)FOTA的方案,需要加密,對(duì)于trustzone功能,采用那款芯片比較合適?STM32H5STM32U5在trustzone上有哪些不同?
    發(fā)表于 07-05 07:03

    STM32L476內(nèi)部RC振蕩器頻偏超大的原因?怎么解決?

    量產(chǎn)幾K臺(tái)設(shè)備,出現(xiàn)一臺(tái)STM32L476內(nèi)部RC振蕩器頻率低了4.5%的故障板,引發(fā)高速串口通訊異常。 讀了RCC_ICSCR寄存,0x
    發(fā)表于 03-28 07:20

    RC相移振蕩器電路圖分享

    RC相移振蕩器是一種利用RC相移網(wǎng)絡(luò)作為放大器的反饋回路,在特定頻率下產(chǎn)生合適的相移以形成正反饋并產(chǎn)生振蕩振蕩器。
    的頭像 發(fā)表于 02-26 16:08 ?3534次閱讀
    <b class='flag-5'>RC</b>相移<b class='flag-5'>振蕩器</b>電路圖分享

    基于STM32U5片內(nèi)溫度傳感正確測(cè)算溫度實(shí)戰(zhàn)經(jīng)驗(yàn)分享

    STM32內(nèi)部都集成了一個(gè)溫度傳感STM32U5 也不例外。這個(gè)位于晶圓上的溫度傳感雖然不太適合用來測(cè)量外部環(huán)境的溫度,但是用于監(jiān)
    的頭像 發(fā)表于 02-22 17:27 ?3677次閱讀
    基于<b class='flag-5'>STM32U5</b>片內(nèi)溫度傳感<b class='flag-5'>器</b>正確測(cè)算溫度實(shí)戰(zhàn)經(jīng)驗(yàn)分享

    基于LL庫實(shí)現(xiàn)STM32U5 LPTIM功能

    有人打算使用STM32U5系列片內(nèi)LPTIM做低功耗模式喚醒?;?b class='flag-5'>STM32 LL庫組織代碼,折騰幾天后似乎連中斷都進(jìn)不了,想找找是否有現(xiàn)存LL庫例程可以參考。
    的頭像 發(fā)表于 01-07 14:12 ?1256次閱讀
    基于LL庫實(shí)現(xiàn)<b class='flag-5'>STM32U5</b> LPTIM功能

    實(shí)戰(zhàn)經(jīng)驗(yàn) | STM32U5 ADC 自校準(zhǔn)不成功的問題分析

    關(guān)鍵詞:STM32U5,ADC 目錄預(yù)覽 1、引言 2、問題 3、問題解決 4、小結(jié) 01 引言 很多 STM32 系列中的 ADC 都帶有自校準(zhǔn)的功能。它提供了一個(gè)自動(dòng)
    的頭像 發(fā)表于 12-10 16:45 ?1663次閱讀
    實(shí)戰(zhàn)經(jīng)驗(yàn) | <b class='flag-5'>STM32U5</b> ADC 自<b class='flag-5'>校準(zhǔn)</b>不成功的問題分析

    ADA4571校準(zhǔn)程序應(yīng)用筆記

    電子發(fā)燒友網(wǎng)站提供《ADA4571校準(zhǔn)程序應(yīng)用筆記.pdf》資料免費(fèi)下載
    發(fā)表于 11-28 09:23 ?3次下載
    ADA4571<b class='flag-5'>校準(zhǔn)</b>程序應(yīng)<b class='flag-5'>用筆記</b>

    內(nèi)部時(shí)鐘振蕩器是否穩(wěn)定?

    內(nèi)部時(shí)鐘振蕩器是否穩(wěn)定?能不能用于產(chǎn)生波特率的時(shí)基
    發(fā)表于 11-03 07:31

    探秘STM32U5安全特性|硬件加解密引擎與軟件算法對(duì)比

    探秘STM32U5安全特性|硬件加解密引擎與軟件算法對(duì)比
    的頭像 發(fā)表于 10-27 10:23 ?1499次閱讀
    探秘<b class='flag-5'>STM32U5</b>安全特性|硬件加解密引擎與軟件算法對(duì)比

    STM32U5 LPBAM模式介紹

    STM32U5 LPBAM模式介紹
    的頭像 發(fā)表于 10-26 17:59 ?614次閱讀
    <b class='flag-5'>STM32U5</b> LPBAM模式介紹

    51系列單片機(jī)內(nèi)部和外部時(shí)鐘振蕩器工作原理及作用?

    51系列單片機(jī)內(nèi)部及外部時(shí)鐘振蕩器工作原理及應(yīng)用
    發(fā)表于 10-25 06:10

    RC正弦波振蕩器測(cè)量、調(diào)試

    從結(jié)構(gòu)上看,正弦波振蕩器是沒有輸入信號(hào)的、帶選頻網(wǎng)絡(luò)的正反饋放大器。若用R、C元件組成選頻網(wǎng)絡(luò),就稱為RC 振蕩器, 一般用來產(chǎn)生1Hz~1MHz的低頻信號(hào)。
    的頭像 發(fā)表于 10-11 15:58 ?6696次閱讀
    <b class='flag-5'>RC</b>正弦波<b class='flag-5'>振蕩器</b>測(cè)量、調(diào)試

    應(yīng)用筆記 | STM32U575/585 MCU 硬件開發(fā)入門

    應(yīng)用筆記 | STM32U575/585 MCU 硬件開發(fā)入門
    的頭像 發(fā)表于 09-28 18:13 ?3141次閱讀
    應(yīng)<b class='flag-5'>用筆記</b> | <b class='flag-5'>STM32U</b>575/585 MCU 硬件開發(fā)入門

    基于STM32U5的B-U585I-IOT02A開發(fā)板開箱

    基于STM32U5的B-U585I-IOT02A開發(fā)板開箱
    的頭像 發(fā)表于 09-26 16:20 ?1389次閱讀
    基于<b class='flag-5'>STM32U5</b>的B-<b class='flag-5'>U</b>585I-IOT02A開發(fā)板開箱