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

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

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

RCC時(shí)鐘基礎(chǔ)知識(shí)和常見(jiàn)問(wèn)題

FPGA之家 ? 來(lái)源:FPGA之家 ? 2023-10-16 16:48 ? 次閱讀

RCC,Reset and Clock Control(復(fù)位和時(shí)鐘控制),在絕大部分MCU芯片中都包含復(fù)位和時(shí)鐘控制模塊,也是MCU重要的組成部分。

相比于以前51單片機(jī),現(xiàn)在STM32內(nèi)部集成的時(shí)鐘模塊功能更加豐富,包含時(shí)鐘選擇、倍頻、輸出、外設(shè)總線時(shí)鐘配置等。

STM32 時(shí)鐘基礎(chǔ)內(nèi)容

STM32時(shí)鐘樹具有多項(xiàng)功能,可通過(guò)分頻和倍頻配置系統(tǒng)以及外設(shè)的時(shí)鐘頻率,不同型號(hào)STM32的時(shí)鐘樹有所不同。

1. 時(shí)鐘源

STM32的時(shí)鐘源分為高速、低速兩類時(shí)鐘,同時(shí)也分內(nèi)部和外部。

HSE:High Speed External,高速外部

HSI:High Speed Internal,高速內(nèi)部

LSE:Low Speed External ,低速外部

LSI:Low Speed Internal,低速內(nèi)部

HSE時(shí)鐘有兩類時(shí)鐘源:

外部晶振/陶瓷諧振器

外部用戶時(shí)鐘

b10798c2-6bf9-11ee-939d-92fbcf53809c.png

諧振器和負(fù)載電容要求必須盡可能地靠近振蕩器的引腳,減少失真和起振時(shí)間。外部用戶時(shí)鐘必須使用占空比約為 50% (左右)外部時(shí)鐘信號(hào)來(lái)驅(qū)動(dòng) OSC_IN 引腳,同時(shí) OSC_OUT 引腳應(yīng)保持為高阻態(tài)。

2. 時(shí)鐘選擇

STM32高速時(shí)鐘默認(rèn)為高速內(nèi)部時(shí)鐘(HSI),如果外接有HSE,可通過(guò)軟件配置選擇HSE。

低速內(nèi)部時(shí)鐘(LSI)默認(rèn)是關(guān)閉的,如果需要使用速度時(shí)鐘,可通過(guò)軟件選擇并開啟LSI,也可以選擇使用LSE。

不管是高速還是低速,在不考慮硬件成本的前提下,建議使用精度更高,誤差更小的外部(HSE、LSE)時(shí)鐘。

3. 時(shí)鐘源輸出

STM32支持MCO引腳輸出時(shí)鐘信號(hào),供外部器件使用,同時(shí)可通過(guò)示波器來(lái)測(cè)量?jī)?nèi)部的各項(xiàng)時(shí)鐘。

輸出時(shí)鐘信號(hào)可選擇(HSE、LSE、 PLLCLK)不同來(lái)源的信號(hào),同時(shí)也支持配置分頻值,這樣就可以盡量滿足輸出時(shí)鐘要求。

4. 時(shí)鐘分頻和倍頻

STM32的分頻和倍頻功能非常強(qiáng)大,可將時(shí)鐘源通過(guò)分頻與倍頻技術(shù),使各APB總線時(shí)鐘頻率配置為指定值,供各外設(shè)使用。

重點(diǎn)就是PLL(鎖相環(huán))的幾個(gè)參數(shù):PLL_M、PLL_N、PLL_P、PLL_Q,也就是倍頻、分頻因子。

STM32系統(tǒng)時(shí)鐘頻率理論上可以超過(guò)官方指定的最大值,比如:STM32F103最大72M,你倍頻為96M也可能正常工作,但實(shí)際應(yīng)用存在風(fēng)險(xiǎn)。

5. 時(shí)鐘安全系統(tǒng)

STM32的還有一個(gè)重要的功能,就是時(shí)鐘安全系統(tǒng)。如果使能了該功能,HSE 時(shí)鐘發(fā)生故障,將生成一個(gè)中斷來(lái)向軟件通知此故障,同時(shí),系統(tǒng)時(shí)鐘將切換到 HSI 。

通過(guò)STM32時(shí)鐘樹,可以一目了然STM32時(shí)鐘的功能,比如STM32F4系列時(shí)鐘樹:

b112cae4-6bf9-11ee-939d-92fbcf53809c.png

更多關(guān)于STM32時(shí)鐘的信息,可以參看芯片對(duì)應(yīng)的參考手冊(cè)。

STM32 時(shí)鐘常規(guī)配置

STM32 系統(tǒng)時(shí)鐘配置在上電之后,初始化外設(shè)之前就要做的一件事。重點(diǎn)配置的內(nèi)容就是上面提到的基礎(chǔ)內(nèi)容,時(shí)鐘選擇、倍頻分頻,以及系統(tǒng)和外設(shè)的時(shí)鐘頻率等。

1. 標(biāo)準(zhǔn)外設(shè)庫(kù)配置時(shí)鐘

STM32F0、 F1、 F2、 F3、 F4、 L1系列都有標(biāo)準(zhǔn)外設(shè)庫(kù),如果外部高速時(shí)鐘頻率和官方一致,就可以直接使用標(biāo)準(zhǔn)外設(shè)庫(kù)中的代碼。

b123a120-6bf9-11ee-939d-92fbcf53809c.png

地址:

https://www.st.com/en/embedded-software/stm32-standard-peripheral-libraries.html

具體為system_stm32fxxx.c中的 SystemInit 和 SetSysClock 函數(shù)。

如果你的外部高速時(shí)鐘頻率和代碼不對(duì)應(yīng),需要修改對(duì)應(yīng)的參數(shù)。比如:STM32F407外部晶振頻率默認(rèn)25M,如果你硬件使用12M,則需要修改分頻和倍頻值(也就是那幾個(gè)決定時(shí)鐘頻率的參數(shù))。

2. STM32CubeMX配置時(shí)鐘

使用STM32CubeMX配置時(shí)鐘,通過(guò)圖形化界面,一目了然,非常方便。如果配置錯(cuò)誤,還會(huì)有“紫色”提醒。

比如:STM32F407時(shí)鐘樹配置:

b141f274-6bf9-11ee-939d-92fbcf53809c.png

生成的代碼默認(rèn)在 main.c 文件中的 SystemClock_Config 函數(shù)。

提示:分頻和倍頻因子的值不能太大,也不能大小,建議參考官方例程的參考值。

STM32 時(shí)鐘常見(jiàn)問(wèn)題

STM32時(shí)鐘模塊一旦出問(wèn)題就可能引起系統(tǒng)的不正常工作,特別是對(duì)時(shí)鐘敏感的部分。比如:定時(shí)器、串口波特率、I2C時(shí)鐘等。

問(wèn)題一:主頻變慢問(wèn)題

主頻,指CPU的時(shí)鐘頻率,或者系統(tǒng)時(shí)鐘。主頻變慢通常表現(xiàn)為程序運(yùn)行慢、卡頓、通信異常等。

通常引起主頻變慢的原因有:

時(shí)鐘源選擇不對(duì);

外時(shí)鐘振頻率和軟件配置不對(duì);

分頻和倍頻因子不對(duì);

外部晶振電路不對(duì);

測(cè)量主頻是否變慢,最直接的方法是通過(guò)配置MCO,輸出內(nèi)部PLLCLK時(shí)鐘(或HSE時(shí)鐘),用示波器(或邏輯分析儀)測(cè)量其頻率。

問(wèn)題二:外設(shè)總線APB時(shí)鐘不同的問(wèn)題

看到很多人遇到過(guò)這樣的問(wèn)題:TIM定時(shí)快(或慢)一半。

這個(gè)問(wèn)題的原因:STM32的APB時(shí)鐘存在“x2”的問(wèn)題。

b152dfa8-6bf9-11ee-939d-92fbcf53809c.png

也就是說(shuō):如果APB分頻值等于1,則x1;APB分頻值不等于1,則x2。用一張動(dòng)畫來(lái)說(shuō)明:

b16e3e7e-6bf9-11ee-939d-92fbcf53809c.gif

因此,移植代碼的時(shí)候,一定要注意時(shí)鐘源(頻率),否則就會(huì)快(或慢)一倍的問(wèn)題。

問(wèn)題三:外部高速時(shí)鐘失效的問(wèn)題

STM32通常會(huì)使用外部晶振作為高速時(shí)鐘,如果外部時(shí)鐘失效,程序可能表現(xiàn)為“卡頓”的現(xiàn)象。

出現(xiàn)這個(gè)問(wèn)題有可能是外界環(huán)境干擾,或者晶振質(zhì)量問(wèn)題。此時(shí),應(yīng)該使能CSS(Clock Security System)時(shí)鐘安全系統(tǒng)功能。

使能CSS功能之后,可以做到:

程序進(jìn)入 NMI 中斷,通過(guò)程序判斷 HSE 是否失效;

切換到 HSI 作為時(shí)鐘源,重新配置時(shí)鐘并啟動(dòng)程序;

b18ec662-6bf9-11ee-939d-92fbcf53809c.png

這樣就能讓“死程序”變活,然后程序照常執(zhí)行。

提示:CSS功能默認(rèn)是關(guān)閉的。標(biāo)準(zhǔn)外設(shè)庫(kù)中系統(tǒng)初始化代碼默認(rèn)配置開啟CSS,STM32CubeMX默認(rèn)配置是關(guān)閉的。

復(fù)盤一下

▼時(shí)鐘基礎(chǔ)內(nèi)容:時(shí)鐘源、時(shí)鐘選擇、時(shí)鐘源輸出、時(shí)鐘分頻和倍頻、時(shí)鐘安全系統(tǒng);

▼時(shí)鐘常規(guī)配置:標(biāo)準(zhǔn)外設(shè)庫(kù)和STM32CubeMX配置時(shí)鐘;

▼時(shí)鐘常見(jiàn)問(wèn)題:主頻變慢問(wèn)題、APB時(shí)鐘不同的問(wèn)題、外部高速時(shí)鐘失效的問(wèn)題;

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

    關(guān)注

    2263

    文章

    10849

    瀏覽量

    353826
  • RCC
    RCC
    +關(guān)注

    關(guān)注

    0

    文章

    93

    瀏覽量

    26857
  • 時(shí)鐘源
    +關(guān)注

    關(guān)注

    0

    文章

    92

    瀏覽量

    15914

原文標(biāo)題:從小白到 Pro | RCC時(shí)鐘基礎(chǔ)知識(shí)和常見(jiàn)問(wèn)題

文章出處:【微信號(hào):zhuyandz,微信公眾號(hào):FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    C語(yǔ)言基礎(chǔ)知識(shí)科普

    C語(yǔ)言是單片機(jī)開發(fā)中的必備基礎(chǔ)知識(shí),本文列舉了部分STM32學(xué)習(xí)中比較常見(jiàn)的一些C語(yǔ)言基礎(chǔ)知識(shí)
    發(fā)表于 07-21 10:58 ?1845次閱讀

    ADI工程師內(nèi)部整理【時(shí)鐘芯片常見(jiàn)問(wèn)題解答】

    ,包括參考源、參考分頻、鑒相器、環(huán)路濾波器、壓控振蕩器等都對(duì)最終 PLL 的輸出貢獻(xiàn)噪聲。 那么問(wèn)題來(lái)了,使用時(shí)鐘芯片時(shí),你都遇到過(guò)哪些讓人抓狂的問(wèn)題呢? ADI工程師內(nèi)容整里的【時(shí)鐘芯片常見(jiàn)問(wèn)題
    發(fā)表于 05-20 10:30

    防雷接地基礎(chǔ)知識(shí)GJ1001

    GJ1001防雷接地基礎(chǔ)知識(shí):您知道通信設(shè)備為什么需要接地嗎?熟悉通信局站的防雷接地以及設(shè)備的防雷措施,掌握防雷接地常見(jiàn)問(wèn)題處理方法您知道雷電是怎么產(chǎn)生的嗎?
    發(fā)表于 05-21 18:36 ?52次下載
    防雷接地<b class='flag-5'>基礎(chǔ)知識(shí)</b>GJ1001

    PCBA(組裝)基礎(chǔ)知識(shí)簡(jiǎn)介

    PCBA基礎(chǔ)知識(shí),常見(jiàn)缺陷可能形成的原因及對(duì)策
    發(fā)表于 11-20 16:01 ?0次下載

    RCC系統(tǒng)時(shí)鐘的stm32例程

    關(guān)于RCC系統(tǒng)時(shí)鐘的stm32例程是一個(gè)完整的程序,可以運(yùn)行的
    發(fā)表于 12-07 14:33 ?16次下載

    STM32時(shí)鐘基礎(chǔ)內(nèi)容和常見(jiàn)問(wèn)題

    RCC,Reset and Clock Control(復(fù)位和時(shí)鐘控制),在絕大部分MCU芯片中都包含復(fù)位和時(shí)鐘控制模塊,也是MCU重要的組成部分。 相比于以前51單片機(jī),現(xiàn)在STM32內(nèi)部集成
    的頭像 發(fā)表于 04-02 16:39 ?6093次閱讀
    STM32<b class='flag-5'>時(shí)鐘</b>基礎(chǔ)內(nèi)容和<b class='flag-5'>常見(jiàn)問(wèn)題</b>

    寬帶RF PLL+VCO和時(shí)鐘產(chǎn)生產(chǎn)品常見(jiàn)問(wèn)題

    寬帶RF PLL+VCO和時(shí)鐘產(chǎn)生產(chǎn)品常見(jiàn)問(wèn)題
    發(fā)表于 05-22 17:51 ?8次下載
    寬帶RF PLL+VCO和<b class='flag-5'>時(shí)鐘</b>產(chǎn)生產(chǎn)品<b class='flag-5'>常見(jiàn)問(wèn)題</b>

    STM32的時(shí)鐘系統(tǒng)RCC詳細(xì)整理

    STM32的時(shí)鐘系統(tǒng)RCC詳細(xì)整理
    發(fā)表于 11-20 12:06 ?10次下載
    STM32的<b class='flag-5'>時(shí)鐘</b>系統(tǒng)<b class='flag-5'>RCC</b>詳細(xì)整理

    STM32F429--RCC時(shí)鐘

    RCC時(shí)鐘樹的簡(jiǎn)單分析
    發(fā)表于 11-29 16:36 ?7次下載
    STM32F429--<b class='flag-5'>RCC</b><b class='flag-5'>時(shí)鐘</b>樹

    STM32系統(tǒng)時(shí)鐘RCC詳解

    【STM32】系統(tǒng)時(shí)鐘RCC詳解(超詳細(xì),超全面) 原創(chuàng)
    發(fā)表于 11-30 12:21 ?14次下載
    STM32系統(tǒng)<b class='flag-5'>時(shí)鐘</b><b class='flag-5'>RCC</b>詳解

    如何解決PCIe時(shí)序設(shè)計(jì)的常見(jiàn)問(wèn)題

    另一個(gè)常見(jiàn)問(wèn)題是,當(dāng)輸入?yún)⒖?b class='flag-5'>時(shí)鐘消失時(shí),時(shí)鐘芯片的輸出會(huì)停滯在高/低或低/高狀態(tài)。HCSL 拓?fù)渚哂凶匀魂P(guān)閉特性,當(dāng)它們被禁用時(shí)使用低/低狀態(tài)。
    的頭像 發(fā)表于 04-22 15:16 ?3414次閱讀
    如何解決PCIe時(shí)序設(shè)計(jì)的<b class='flag-5'>常見(jiàn)問(wèn)題</b>

    時(shí)鐘抖動(dòng)解秘—高速鏈路時(shí)鐘抖動(dòng)規(guī)范基礎(chǔ)知識(shí)

    時(shí)鐘抖動(dòng)解秘—高速鏈路時(shí)鐘抖動(dòng)規(guī)范基礎(chǔ)知識(shí)
    發(fā)表于 11-07 08:07 ?2次下載
    <b class='flag-5'>時(shí)鐘</b>抖動(dòng)解秘—高速鏈路<b class='flag-5'>時(shí)鐘</b>抖動(dòng)規(guī)范<b class='flag-5'>基礎(chǔ)知識(shí)</b>

    復(fù)位和時(shí)鐘控制RCC課件下載

    電子發(fā)燒友網(wǎng)站提供《復(fù)位和時(shí)鐘控制RCC課件下載.pdf》資料免費(fèi)下載
    發(fā)表于 08-01 09:48 ?0次下載
    復(fù)位和<b class='flag-5'>時(shí)鐘</b>控制<b class='flag-5'>RCC</b>課件下載

    如何解決同步時(shí)鐘系統(tǒng)中的常見(jiàn)問(wèn)題和故障?

    同步時(shí)鐘系統(tǒng) 在電力、通信、交通等領(lǐng)域中應(yīng)用廣泛,為保證其正常運(yùn)行,需要進(jìn)行系統(tǒng)的維護(hù)和保養(yǎng)。下面是述泰時(shí)鐘總結(jié)的時(shí)鐘同步系統(tǒng)維護(hù)常見(jiàn)問(wèn)題及解決方法的介紹。
    的頭像 發(fā)表于 03-19 10:42 ?1163次閱讀
    如何解決同步<b class='flag-5'>時(shí)鐘</b>系統(tǒng)中的<b class='flag-5'>常見(jiàn)問(wèn)題</b>和故障?

    熱釋電傳感器基本知識(shí)和使用中的常見(jiàn)問(wèn)題

    電子發(fā)燒友網(wǎng)站提供《熱釋電傳感器基本知識(shí)和使用中的常見(jiàn)問(wèn)題》資料免費(fèi)下載
    發(fā)表于 06-11 09:06 ?1次下載