RCC—使用 HSE/HSI 配置時鍾 ---時鍾樹


本章參考資料:《 STM32F4xx 中文參考手冊》 RCC 章節。
學習本章時,配合《 STM32F4xx 中文參考手冊》 RCC 章節一起閱讀,效果會更佳,特
別是涉及到寄存器說明的部分。
RCC reset clock control 復位和時鍾控制器。本章我們主要講解時鍾部分,特別是要
着重理解時鍾樹,理解了時鍾樹, F429 的一切時鍾的來龍去脈都會了如指掌。 

 

HSE時鍾 

HSE:High Speed External Clock signal,即高速的外部時鍾。
來源:有源晶振(1-50M)、無源晶振(4-26M)
控制:RCC_CR 時鍾控制寄存器的位16:HSEON控制 

 

HSI時鍾 

HSI:High Speed Internal Clock signal,即高速的內部時鍾。
來源:芯片內部,大小為16M,當HSE故障時,系統時鍾會自動
切換到HSI,直到HSE啟動成功。
控制: RCC_CR 時鍾控制寄存器的位0:HSION控制 

問題:有源晶振和無源晶振的區別?

為什么要通過PLL到180M而不直接接180M的晶振?

無源晶振有2個引腳,需要借助於外部的時鍾電路(接到主IC內部的震盪電路)才能產生振盪信號,自身無法振盪。

有源晶振有4個引腳,是一個完整的振盪器,其中除了石英晶體外,還有晶體管和阻容元件.只需要電源,就可輸出比較好的波形。

晶振頻率越高,受溫度的影響越大,這是制造工藝決定的....所以一般是外部接8-12M的晶振,然后內部鎖相環升頻,就會得到高頻的時鍾信號。

鎖相環時鍾
鎖相環時鍾:PLLCLK
來源:HSI、 HSE。由PLLSRC位配置。
HSE或者HSI先經過一個分頻因子M進行分頻,然后再經過一個
倍頻因子N,然后再經過一個分頻因子P,最后成為鎖相環時鍾
PLLCLK = (HSE/M) * N / P = 25/25 * 360 / 2 = 180M
控制: RCC_PLLCFGR :RCC PLL 配置寄存器
PLL48CK:USB_FS、 RANG、 SDIO提供時鍾 

系統時鍾
縮寫:SYSCLK,最高為180M,F407最高為168M。
來源:HSI、 HSE,PLLCLK。
控制: RCC_CFGR 時鍾配置寄存器的SW位 

HCLK時鍾
HCLK:AHB高速總線時鍾,最高為180M。為AHB總線的外設
提供時鍾、為Cortex系統定時器提供時鍾(SysTick)、為內核
提供時鍾(FCLK)。
AHB為advanced high-performance bus。
來源:系統時鍾分頻得到。
控制: RCC_CFGR 時鍾配置寄存器的HPRE位 

PCLK1時鍾
PCLK1:APB低速總線時鍾,最高為45M。 為APB1總線的外設
提供時鍾。 2倍頻之后則為APB1總線的定時器提供時鍾,最大
90M。
來源:HCLK分頻得到。
控制: RCC_CFGR 時鍾配置寄存器的PPRE1位 

PCLK2時鍾
PCLK2APB高速總線時鍾,最高為90M。為APB2總線的外設
提供時鍾。 2倍頻之后則為APB2總線的定時器提供時鍾,最大
180M。
來源:HCLK分頻得到。
控制: RCC_CFGR 時鍾配置寄存器的PPRE2位 

RTC時鍾
RTC:為芯片內部的RTC提供時鍾。
來源:HSE_RTC(HSE分頻得到)、 LSE(外部32.768KHZ的晶
體提供)、 LSI(32KHZ)。
控制: RCC備份域控制寄存器RCC_BDCR:RTCSEL位控制
獨立看門狗時鍾:IWDGCLK,由LSI提供 

I2S時鍾:由外部的引腳I2S_CKIN或者PLLI2SCLK提供。
以太網PHY時鍾429沒有集成PHY,只能外接PHY芯片,
比如LAN8720,那PHY時鍾就由外部的PHY芯片提供,大小
50M。
USB PHY時鍾429的USB沒有集成PHY,要想實現USB高
速傳輸,只能外接PHY芯片,比如USB33000。那USB PHY時
鍾就由外部的PHY芯片提供。

完整時鍾樹參考手冊。

不得不說,ST給我們做好固件庫之后,開發速率直線提升,比起2440好上手,這種時鍾配置不需要我們關心,但2440什么都要自己來,相輔相成。

F103 系列中,使用 HSI 最大只能把系統設置為 64M,並不能跟使用 HSE 一樣把系統
時鍾設置為 72M,究其原因是 HSI 在進入 PLL 倍頻的時候必須 2 分頻,導致 PLL 倍頻因子
調到最大也只能到 64M,而 HSE 進入 PLL 倍頻的時候則不用 2 分頻。
F429 中,無論是使用 HSI 還是 HSE 都可以把系統時鍾設置為 180M,因為 HSE
HSI 在進入 PLL 倍頻的時候都會被分頻為 1M 之后再倍頻。
還有一種情況是,有些用戶不想用 HSE,想用 HSI,但是又不知道怎么用 HSI 來設置
系統時鍾,因為調用庫函數都是使用 HSE, 下面我們給出個使用 HSI 配置系統時鍾例子,
起個拋磚引玉的作用。 BH有個參考歷程,如果需要可以參考修改。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM