99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

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

STM32F4_ RCC系統(tǒng)時(shí)鐘配置及描述

黃工的嵌入式技術(shù)圈 ? 來(lái)源:黃工的嵌入式技術(shù)圈 ? 2020-04-07 14:24 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Ⅰ、概述

對(duì)于系統(tǒng)時(shí)鐘應(yīng)該都知道它的作用,就是驅(qū)動(dòng)整個(gè)芯片工作的心臟,如果沒(méi)有了它,就等于人沒(méi)有了心跳。

對(duì)于使用開(kāi)發(fā)板學(xué)習(xí)的朋友來(lái)說(shuō),RCC系統(tǒng)時(shí)鐘這一塊知識(shí)估計(jì)沒(méi)怎么去配置過(guò),原因在于開(kāi)發(fā)板提供的晶振基本都是官方標(biāo)準(zhǔn)的時(shí)鐘頻率,使用官方的標(biāo)準(zhǔn)庫(kù),這樣系統(tǒng)時(shí)鐘就是默認(rèn)的配置,也就是默認(rèn)的頻率。但對(duì)于自己設(shè)計(jì)開(kāi)發(fā)板,或者想要改變系統(tǒng)時(shí)鐘頻率(如:降低功耗就需要降頻)的朋友來(lái)說(shuō),配置系統(tǒng)時(shí)鐘就有必要了。

關(guān)于時(shí)鐘這一塊對(duì)定時(shí)器TIM、RTC、WDG等)相關(guān)的外設(shè)也比較重要,因?yàn)橐缶珳?zhǔn),就需要時(shí)鐘頻率精準(zhǔn)。

Ⅱ、關(guān)于時(shí)鐘

1.時(shí)鐘分類

STM32芯片(所有型號(hào))的時(shí)鐘包含4類:

HSE(High Speed External)高速外部時(shí)鐘

HSI(High Speed Internal)高速內(nèi)部時(shí)鐘

LSE(Low Speed External)低速外部時(shí)鐘

LSI(Low Speed Internal)低速內(nèi)部時(shí)鐘

2.時(shí)鐘源

STM32芯片(所有型號(hào))驅(qū)動(dòng)系統(tǒng)時(shí)鐘的時(shí)鐘源:

HSI內(nèi)部高速時(shí)鐘

HSE外部高速時(shí)鐘

PLLCLK倍頻時(shí)鐘

STM32具有以下兩個(gè)次級(jí)時(shí)鐘源:

32 kHz 低速內(nèi)部 RC (LSI RC),該 RC 用于驅(qū)動(dòng)獨(dú)立看門狗,也可選擇提供給 RTC 用于停機(jī)/待機(jī)模式下的自動(dòng)喚醒。

32.768 kHz 低速外部晶振( LSE 晶振),用于驅(qū)動(dòng) RTC 時(shí)鐘 (RTCCLK)。對(duì)于每個(gè)時(shí)鐘源來(lái)說(shuō),在未使用時(shí)都可單獨(dú)打開(kāi)或者關(guān)閉,以降低功耗。

3.時(shí)鐘樹(shù)(框圖)

關(guān)于STM32的時(shí)鐘樹(shù)針對(duì)不同系列芯片可能存在差異。F0、F1和F3系列芯片(主流芯片,頻率相對(duì)較低)有很多相似的地方,F(xiàn)2和F4(高性能芯片)系列芯片有很多相似的地方。但是,F(xiàn)3芯片和F4芯片的時(shí)鐘樹(shù)之間卻存在很大差異,具體請(qǐng)看參考手冊(cè)RCC相關(guān)章節(jié)。

STM32時(shí)鐘控制器為應(yīng)用帶來(lái)了高度的靈活性,用戶在運(yùn)行內(nèi)核和外設(shè)時(shí)可選擇使用外部晶振或者使用振蕩器,既可采用最高的頻率,也可為以太網(wǎng)、 USB OTG FS 以及 HS、 I2S 和 SDIO等需要特定時(shí)鐘的外設(shè)保證合適的頻率。

以F417芯片為例:可通過(guò)多個(gè)預(yù)分頻器配置 AHB 頻率、高速 APB (APB2) 和低速 APB (APB1)。 AHB 域的最大頻率為 168 MHz。高速 APB2 域的最大允許頻率為 84 MHz。低速 APB1 域的最大允許頻率為 42 MHz。實(shí)際上輸出的最大時(shí)鐘可以適當(dāng)提高一點(diǎn),但為了保證在多種環(huán)境下,最好還是不要超過(guò)標(biāo)準(zhǔn)的最大值。


STM32F4xx 器件具有兩個(gè) PLL:

主 PLL (PLL) 由 HSE 或 HSI 振蕩器提供時(shí)鐘信號(hào),并具有兩個(gè)不同的輸出時(shí)鐘:

第一個(gè)輸出用于生成高速系統(tǒng)時(shí)鐘(最高達(dá) 168 MHz)

第二個(gè)輸出用于生成 USB OTG FS 的時(shí)鐘 (48 MHz)、隨機(jī)數(shù)發(fā)生器的時(shí)鐘

專用 PLL (PLLI2S) 用于生成精確時(shí)鐘,從而在 I2S 接口實(shí)現(xiàn)高品質(zhì)音頻性能。

由于在 PLL 使能后主 PLL 配置參數(shù)便不可更改,所以建議先對(duì) PLL 進(jìn)行配置,然后再使能(選擇 HSI 或 HSE 振蕩器作為 PLL 時(shí)鐘源,并配置分頻系數(shù) M、 N、 P 和 Q)。

PLLI2S 使用與 PLL 相同的輸入時(shí)鐘( PLLM[5:0] 和 PLLSRC 位為兩個(gè) PLL 所共用)。但是, PLLI2S 具有專門的使能/禁止和分頻系數(shù)( N 和 R)配置位。在 PLLI2S 使能后,配置參數(shù)便不能更改。

Ⅲ、代碼分析

以STM32F4x5、x7系列芯片為例來(lái)分析一下系統(tǒng)時(shí)鐘的配置。

參考軟件工程:

https://yunpan.cn/cRepWDShSK4yc訪問(wèn)密碼 65b1

1.倍頻參數(shù)


結(jié)合上面時(shí)鐘樹(shù)和源代碼可以看得出來(lái),系統(tǒng)時(shí)鐘PLLCLK的計(jì)算主要是配置PLL_M、PLL_N、PLL_P這三個(gè)參數(shù),最后168M是通過(guò)分頻、倍頻得出來(lái)的。

2.驗(yàn)證時(shí)鐘頻率

對(duì)于STM32芯片來(lái)說(shuō),驗(yàn)證系統(tǒng)時(shí)鐘最終運(yùn)行多大的速度,最準(zhǔn)確的驗(yàn)證方法的用示波器測(cè)試它的系統(tǒng)時(shí)鐘。

這里描述一下怎樣用示波器來(lái)測(cè)試系統(tǒng)時(shí)鐘。其實(shí)很簡(jiǎn)單,就是在軟件代碼里面配置時(shí)鐘輸出(這里可以輸出多種類型的時(shí)鐘HSE、HSI、PLLCLK等),根據(jù)代碼配置不同,相應(yīng)輸出的時(shí)鐘就不同。請(qǐng)看源代碼:


我提供的代碼里面就有這一選項(xiàng),將定義配置為1,就打開(kāi)了這個(gè)功能。時(shí)鐘輸出的參數(shù)有兩個(gè),時(shí)鐘源,分頻值。注意:這里的最大輸出時(shí)鐘是100M,所以PLLCLK時(shí)鐘分頻之后才能輸出,不然你用示波器檢測(cè)不到波形(我測(cè)試過(guò)了)。

最后輸出的波形如圖:

Ⅳ、說(shuō)明

關(guān)于STM32的開(kāi)發(fā),軟件兼容性是很好的,不要覺(jué)得你的芯片和我總結(jié)的實(shí)例有差異就不看了,其實(shí)是錯(cuò)誤的認(rèn)識(shí),特別是同一個(gè)系列的芯片基本上程序都兼容,也就是可以互相使用。

聲明:本文內(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)投訴
  • RCC
    RCC
    +關(guān)注

    關(guān)注

    0

    文章

    95

    瀏覽量

    27601
  • Tim
    Tim
    +關(guān)注

    關(guān)注

    0

    文章

    84

    瀏覽量

    18358
  • STM32F4
    +關(guān)注

    關(guān)注

    3

    文章

    203

    瀏覽量

    29051
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    STM32F4標(biāo)準(zhǔn)外設(shè)庫(kù)資料

    stm32f4xx.h,標(biāo)準(zhǔn)外設(shè)庫(kù)
    發(fā)表于 06-08 09:49 ?0次下載

    STM32F3系列、STM32F4系列、STM32L4系列和STM32L4+系列Cortex-M4編程手冊(cè)

    電子發(fā)燒友網(wǎng)站提供《STM32F3系列、STM32F4系列、STM32L4系列和STM32L4+系列Cortex-M4編程手冊(cè).pdf》資料
    發(fā)表于 06-06 17:06 ?5次下載

    白話理解RCC時(shí)鐘樹(shù)(可下載)

    時(shí)鐘就像是單片機(jī)的“心臟”,單片機(jī)正常工作離不開(kāi)時(shí)鐘的支持,下圖是我們單片機(jī)的時(shí)鐘樹(shù) ,它反映了單片機(jī)的時(shí)鐘關(guān)系。我們來(lái)詳細(xì)描述一下
    發(fā)表于 03-27 13:50 ?0次下載

    求助大佬我使用STM32F030F4P6 的PA3引腳輸出PWM波形

    initTim15(void); static void initSystemClock() { // 確保系統(tǒng)時(shí)鐘配置正確,默認(rèn)是48 MHz if (RCC
    發(fā)表于 03-20 23:13

    stm32f401rct6寄存器配置HSE PLL作為系統(tǒng)時(shí)鐘,系統(tǒng)鎖死怎么解決?

    ;,cr_value); let register_rcc_cfgr = unsafe{(RCC_BASE as *mut RW).offset(0x08 / 4)}; // GPIOC_MODER let
    發(fā)表于 03-13 08:19

    STM32G473 DRDY為什么不置位?

    STM32G473 RNG使能,系統(tǒng)主頻155MHz,Q時(shí)鐘輸出配置38.75Mhz。RNG模塊DRDY不置位,狀態(tài)寄存器顯示時(shí)鐘錯(cuò)誤。該芯
    發(fā)表于 03-12 07:27

    stm32f4 sdio時(shí)鐘如何獲取通過(guò)什么函數(shù)?

    stm32f4系列sdio 時(shí)鐘如何獲取,stm32h7可以通過(guò)sdmmc_clk=HAL_RCCEx_GetPeriphCLKFreq(STM32_RCC_PERIPHCLK_SDM
    發(fā)表于 03-07 08:26

    stm32f407這個(gè)STM32_RCC_PERIPHCLK_SDMMC是哪里定義的?

    stm32f407這個(gè)STM32_RCC_PERIPHCLK_SDMMC 是哪里定義的 函數(shù)調(diào)用這個(gè)會(huì)報(bào)錯(cuò) Error[Pe020]: identifier \"
    發(fā)表于 03-07 07:34

    STM32U5退出LPBAM后,重新配置時(shí)鐘發(fā)現(xiàn)MSIK時(shí)鐘配置不一致是怎么回事?

    0(對(duì)應(yīng)是48MHz),導(dǎo)致部分使用MSIK時(shí)鐘的外設(shè)運(yùn)行異常! /** @brief系統(tǒng)時(shí)鐘配置(MSIS和MSIK) @paramclockFlag:
    發(fā)表于 03-07 06:19

    雅特力AT32F402/F405時(shí)鐘配置

    電子發(fā)燒友網(wǎng)站提供《雅特力AT32F402/F405時(shí)鐘配置.pdf》資料免費(fèi)下載
    發(fā)表于 01-15 15:24 ?0次下載
    雅特力AT32<b class='flag-5'>F</b>402/<b class='flag-5'>F</b>405<b class='flag-5'>時(shí)鐘</b><b class='flag-5'>配置</b>

    基于STM32F4的集中潤(rùn)滑系統(tǒng)的設(shè)計(jì)

    針對(duì)傳統(tǒng)機(jī)械潤(rùn)滑設(shè)備存在的高能耗、勞動(dòng)強(qiáng)度大、結(jié)構(gòu)復(fù)雜及智能化程度低等問(wèn)題,本文設(shè)計(jì)了一款基于STM32F407控制核心、esp8266無(wú)線Wi-Fi通信模塊和KQ330電力載波模塊的集中潤(rùn)滑系統(tǒng)
    的頭像 發(fā)表于 10-18 08:03 ?882次閱讀
    基于<b class='flag-5'>STM32F4</b>的集中潤(rùn)滑<b class='flag-5'>系統(tǒng)</b>的設(shè)計(jì)

    STM32項(xiàng)目實(shí)戰(zhàn):基于STM32F4的智能燈光控制系統(tǒng)(LVGL),附項(xiàng)目教程/源碼

    《智能燈光控制系統(tǒng)_STM32F4》項(xiàng)目完整文檔、項(xiàng)目源碼,私信小雯老師免費(fèi)領(lǐng)取。STM32項(xiàng)目實(shí)戰(zhàn)之“智能燈光控制系統(tǒng)”(基于STM32F4
    的頭像 發(fā)表于 10-17 16:16 ?1869次閱讀
    <b class='flag-5'>STM32</b>項(xiàng)目實(shí)戰(zhàn):基于<b class='flag-5'>STM32F4</b>的智能燈光控制<b class='flag-5'>系統(tǒng)</b>(LVGL),附項(xiàng)目教程/源碼

    AT32講堂088 | 雅特力AT32F402/F405時(shí)鐘配置

    簡(jiǎn)介時(shí)鐘是芯片正確高效運(yùn)行的基礎(chǔ),正確的時(shí)鐘配置是芯片能正確運(yùn)行的必要條件,其重要性不言而喻。AT32各系列產(chǎn)品的時(shí)鐘配置部分可能存在細(xì)微的
    的頭像 發(fā)表于 09-15 08:08 ?1025次閱讀
    AT32講堂088 | 雅特力AT32<b class='flag-5'>F</b>402/<b class='flag-5'>F</b>405<b class='flag-5'>時(shí)鐘</b><b class='flag-5'>配置</b>

    【GD32 MCU 移植教程】8、從 STM32F4xx 系列移植到 GD32F4xx 系

    GD32F4xx 系列 MCU 是基于 Arm? Cortex?-M4 處理器的 32 位通用微控制器,與 STM32F4xx系列 MCU 保持高度兼容。本文主要從以下三個(gè)方面進(jìn)行介紹:硬件資源對(duì)比
    的頭像 發(fā)表于 09-06 09:40 ?2638次閱讀
    【GD32 MCU 移植教程】8、從 <b class='flag-5'>STM32F4</b>xx 系列移植到 GD32<b class='flag-5'>F4</b>xx 系

    STM32F40xxx、STM32F41xxx、STM32F42xxx、STM32F43xxx中文手冊(cè)

    STM32F4系列單片機(jī)中文手冊(cè)
    發(fā)表于 08-08 14:32 ?2次下載