在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

STM32F4_ RCC系統時鐘配置及描述

黃工的嵌入式技術圈 ? 來源:黃工的嵌入式技術圈 ? 2020-04-07 14:24 ? 次閱讀

Ⅰ、概述

對于系統時鐘應該都知道它的作用,就是驅動整個芯片工作的心臟,如果沒有了它,就等于人沒有了心跳。

對于使用開發板學習的朋友來說,RCC系統時鐘這一塊知識估計沒怎么去配置過,原因在于開發板提供的晶振基本都是官方標準的時鐘頻率,使用官方的標準庫,這樣系統時鐘就是默認的配置,也就是默認的頻率。但對于自己設計開發板,或者想要改變系統時鐘頻率(如:降低功耗就需要降頻)的朋友來說,配置系統時鐘就有必要了。

關于時鐘這一塊對定時器TIM、RTC、WDG等)相關的外設也比較重要,因為要求精準,就需要時鐘頻率精準。

Ⅱ、關于時鐘

1.時鐘分類

STM32芯片(所有型號)的時鐘包含4類:

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

HSI(High Speed Internal)高速內部時鐘

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

LSI(Low Speed Internal)低速內部時鐘

2.時鐘源

STM32芯片(所有型號)驅動系統時鐘的時鐘源:

HSI內部高速時鐘

HSE外部高速時鐘

PLLCLK倍頻時鐘

STM32具有以下兩個次級時鐘源:

32 kHz 低速內部 RC (LSI RC),該 RC 用于驅動獨立看門狗,也可選擇提供給 RTC 用于停機/待機模式下的自動喚醒。

32.768 kHz 低速外部晶振( LSE 晶振),用于驅動 RTC 時鐘 (RTCCLK)。對于每個時鐘源來說,在未使用時都可單獨打開或者關閉,以降低功耗。

3.時鐘樹(框圖)

關于STM32的時鐘樹針對不同系列芯片可能存在差異。F0、F1和F3系列芯片(主流芯片,頻率相對較低)有很多相似的地方,F2和F4(高性能芯片)系列芯片有很多相似的地方。但是,F3芯片和F4芯片的時鐘樹之間卻存在很大差異,具體請看參考手冊RCC相關章節。

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

以F417芯片為例:可通過多個預分頻器配置 AHB 頻率、高速 APB (APB2) 和低速 APB (APB1)。 AHB 域的最大頻率為 168 MHz。高速 APB2 域的最大允許頻率為 84 MHz。低速 APB1 域的最大允許頻率為 42 MHz。實際上輸出的最大時鐘可以適當提高一點,但為了保證在多種環境下,最好還是不要超過標準的最大值。


STM32F4xx 器件具有兩個 PLL:

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

第一個輸出用于生成高速系統時鐘(最高達 168 MHz)

第二個輸出用于生成 USB OTG FS 的時鐘 (48 MHz)、隨機數發生器的時鐘

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

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

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

Ⅲ、代碼分析

以STM32F4x5、x7系列芯片為例來分析一下系統時鐘的配置。

參考軟件工程:

https://yunpan.cn/cRepWDShSK4yc訪問密碼 65b1

1.倍頻參數


結合上面時鐘樹和源代碼可以看得出來,系統時鐘PLLCLK的計算主要是配置PLL_M、PLL_N、PLL_P這三個參數,最后168M是通過分頻、倍頻得出來的。

2.驗證時鐘頻率

對于STM32芯片來說,驗證系統時鐘最終運行多大的速度,最準確的驗證方法的用示波器測試它的系統時鐘。

這里描述一下怎樣用示波器來測試系統時鐘。其實很簡單,就是在軟件代碼里面配置時鐘輸出(這里可以輸出多種類型的時鐘HSE、HSI、PLLCLK等),根據代碼配置不同,相應輸出的時鐘就不同。請看源代碼:


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

最后輸出的波形如圖:

Ⅳ、說明

關于STM32的開發,軟件兼容性是很好的,不要覺得你的芯片和我總結的實例有差異就不看了,其實是錯誤的認識,特別是同一個系列的芯片基本上程序都兼容,也就是可以互相使用。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • RCC
    RCC
    +關注

    關注

    0

    文章

    95

    瀏覽量

    27421
  • Tim
    Tim
    +關注

    關注

    0

    文章

    84

    瀏覽量

    18258
  • STM32F4
    +關注

    關注

    3

    文章

    197

    瀏覽量

    28860
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    STM32F4標準外設庫資料

    stm32f4xx.h,標準外設庫
    發表于 06-08 09:49 ?0次下載

    STM32F3系列、STM32F4系列、STM32L4系列和STM32L4+系列Cortex-M4編程手冊

    電子發燒友網站提供《STM32F3系列、STM32F4系列、STM32L4系列和STM32L4+系列Cortex-M4編程手冊.pdf》資料
    發表于 06-06 17:06 ?4次下載

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

    時鐘就像是單片機的“心臟”,單片機正常工作離不開時鐘的支持,下圖是我們單片機的時鐘樹 ,它反映了單片機的時鐘關系。我們來詳細描述一下
    發表于 03-27 13:50 ?0次下載

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

    initTim15(void); static void initSystemClock() { // 確保系統時鐘配置正確,默認是48 MHz if (RCC
    發表于 03-20 23:13

    stm32f401rct6寄存器配置HSE PLL作為系統時鐘系統鎖死怎么解決?

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

    stm32f4 sdio時鐘如何獲取通過什么函數?

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

    stm32f407這個STM32_RCC_PERIPHCLK_SDMMC是哪里定義的?

    stm32f407這個STM32_RCC_PERIPHCLK_SDMMC 是哪里定義的 函數調用這個會報錯 Error[Pe020]: identifier \"
    發表于 03-07 07:34

    STM32U5退出LPBAM后,重新配置時鐘發現MSIK時鐘配置不一致是怎么回事?

    0(對應是48MHz),導致部分使用MSIK時鐘的外設運行異常! /** @brief系統時鐘配置(MSIS和MSIK) @paramclockFlag:
    發表于 03-07 06:19

    雅特力AT32F402/F405時鐘配置

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

    基于STM32F4的集中潤滑系統的設計

    針對傳統機械潤滑設備存在的高能耗、勞動強度大、結構復雜及智能化程度低等問題,本文設計了一款基于STM32F407控制核心、esp8266無線Wi-Fi通信模塊和KQ330電力載波模塊的集中潤滑系統
    的頭像 發表于 10-18 08:03 ?755次閱讀
    基于<b class='flag-5'>STM32F4</b>的集中潤滑<b class='flag-5'>系統</b>的設計

    STM32項目實戰:基于STM32F4的智能燈光控制系統(LVGL),附項目教程/源碼

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

    AT32講堂088 | 雅特力AT32F402/F405時鐘配置

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

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

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

    STM32F40xxx、STM32F41xxx、STM32F42xxx、STM32F43xxx中文手冊

    STM32F4系列單片機中文手冊
    發表于 08-08 14:32 ?2次下載

    自制一款兼容STM32F1/F4芯片的飛控板

    自己制作的一款兼容STM32F1/F4芯片的飛控板。
    發表于 07-04 14:07 ?0次下載
    主站蜘蛛池模板: 精品国产三级a∨在线 | 日本不卡在线一区二区三区视频 | 欧美福利一区 | 99久久99久久久精品齐齐鬼色 | 天天上天天干 | 四虎永久精品免费观看 | 黑人一区二区三区中文字幕 | 深夜久久| 久婷婷| 好爽~~~~嗯~~~再快点明星 | 国产精品免费拍拍拍 | 国产美女视频黄a视频全免费网站 | 日本媚薬痉挛在线观看免费 | 国产精品久久久久久久久久免费 | 午夜三级视频 | 国产精品入口免费视频 | 手机在线观看免费视频 | 黄色美女网站免费 | 三级在线观看视频网站 | 国产伦精品一区二区三区免费 | 国产你懂的在线观看 | 天天干天天碰 | 四虎永久在线观看视频精品 | bt种子天堂| 爽好舒服快给老师 | 国产汉服被啪福利在线观看 | 高清国产美女在线观看 | 成年人激情视频 | 天堂网www中文在线资源 | 你懂的手机在线视频 | 456成人网 | 色婷婷国产 | 乱好看的的激情伦小说 | 资源在线www天堂 | 日本久草网 | 国产精品天天在线 | 久久福利青草精品资源 | 六月婷婷七月丁香 | 色天使色婷婷丁香久久综合 | 欧美天天爽 | 亚洲va老文色欧美黄大片人人 |