91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(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í)鐘分類(lèi)

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

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ú)立看門(mén)狗,也可選擇提供給 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í)鐘

專(zhuān)用 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 具有專(zhuān)門(mén)的使能/禁止和分頻系數(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í)鐘輸出(這里可以輸出多種類(lèi)型的時(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)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(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

    文章

    96

    瀏覽量

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

    關(guān)注

    0

    文章

    85

    瀏覽量

    19040
  • STM32F4
    +關(guān)注

    關(guān)注

    3

    文章

    204

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    探索CDC1104:1至4配置時(shí)鐘緩沖器的卓越性能

    探索CDC1104:1至4配置時(shí)鐘緩沖器的卓越性能 在電子設(shè)備的設(shè)計(jì)中,時(shí)鐘緩沖器起著至關(guān)重要的作用,它能確保時(shí)鐘信號(hào)的穩(wěn)定傳輸和分配。今
    的頭像 發(fā)表于 02-09 11:05 ?152次閱讀

    LAT1180+STM32L4R9 的 QuadSPI Flash 通訊速率不理想應(yīng)用筆記

    客戶反應(yīng) STM32L4R9 同 QSPI Flash 通訊,測(cè)出來(lái)的讀取速率為 10MB/s, 和理論值相差較大。按照客戶的時(shí)鐘配置STM32L4R9 的數(shù)據(jù)手冊(cè)中的數(shù)據(jù),OSP
    發(fā)表于 01-11 17:30 ?0次下載

    Proteus中配置STM32外部時(shí)鐘HSE如何配置

    有大佬會(huì)配置Proteus中的STM32F103C8的外部時(shí)鐘嗎 這個(gè)proteus中打印不出來(lái)數(shù)據(jù),但是在實(shí)物的連接中可以正常打印 代碼如下: 并且配置proteus中的虛擬串口
    發(fā)表于 11-02 13:54

    ?CDC1104 1至4配置時(shí)鐘緩沖器技術(shù)文檔摘要

    CDC1104是一個(gè) 1 到 4配置時(shí)鐘緩沖器。該器件接受輸入?yún)⒖?b class='flag-5'>時(shí)鐘,并創(chuàng)建 4 個(gè)緩沖輸出時(shí)鐘
    的頭像 發(fā)表于 09-16 09:37 ?771次閱讀
    ?CDC1104 1至<b class='flag-5'>4</b>可<b class='flag-5'>配置</b><b class='flag-5'>時(shí)鐘</b>緩沖器技術(shù)文檔摘要

    STM32F405RGT6 ADC2+TIM4觸發(fā)+DMA(DMA2_Stream2_CH1)+DMA中斷會(huì)死機(jī),怎么解決?

    RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_DMA2,ENABLE);//DMA2時(shí)鐘使能 // Configure PA5 PA4PC2(ADC Ch
    發(fā)表于 08-04 07:16

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

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

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

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

    STM32F40xxx和STM32f41xx flash編程手冊(cè)

    PM0081_STM32F40xxx and STM32F41xxx單片機(jī)編程手冊(cè)
    發(fā)表于 06-06 17:02 ?5次下載

    STM32F103x8 STM32F103xB單片機(jī)數(shù)據(jù)手冊(cè)

    STM32F103x8STM32F103xB單片機(jī)數(shù)據(jù)手冊(cè)
    發(fā)表于 04-14 14:55 ?8次下載

    白話理解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

    STM32H743程序啟動(dòng)卡在了while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) == 0U),怎么解決?

    使用了STM32H743的MCU,程序啟動(dòng)卡在了while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) == 0U),外部低速時(shí)鐘用示波器測(cè)量可以正常起振,
    發(fā)表于 03-14 07:00

    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

    STM32MP135D 操作DDR過(guò)慢怎么解決?

    :NT5CC256M16EP-EKI DDR3(L) 4Gb SDRAM CL-TRCD-TRP{13-13-13} 手冊(cè)要求 933MHz Clock但是STM32MP13x 最高給 DDRC 頻率
    發(fā)表于 03-11 07:11