在嵌入式系統(tǒng)中時鐘是其脈搏,處理器內核在時鐘驅動下完成指令執(zhí)行,狀態(tài)變換等動作。外設部件在時鐘的驅動下完成各種工作,比如串口數(shù)據(jù)的發(fā)送、A/D轉換、定時器計數(shù)等等。
02 STM32時鐘源
◆ HSI是高速內部時鐘,RC振蕩器,頻率為8MHz。
◆ HSE是高速外部時鐘,可接石英/陶瓷諧振器,或者接外部時鐘源,比較常用的8MHz 12MHz 25MHz。
◆ LSI是低速內部時鐘,RC振蕩器,頻率為40kHz。
◆ LSE是低速外部時鐘,接頻率為32.768kHz的石英晶體。
在STM32中每個外設都有其單獨的時鐘,在使用某個外設之前必須打開該外設的時鐘 ,為什么要這么麻煩來設置每一個外設的時鐘而不是將所有外設的時鐘統(tǒng)一打開?因為STM32的外設繁多,外設的運作所需要的最佳時鐘各不相同,如果所有時鐘同時運行會給MCU帶來極大的負載,所以STM32為了實現(xiàn)低功耗,而設計的功能完善構成復雜的時鐘系統(tǒng),稱之時鐘樹。使外設功能的時鐘可自配置。
03 STM32 時鐘樹
上圖下紅框中LSE和LSI是提供給系統(tǒng)看門狗和RTC(實時時鐘)使用的。如果需要精度較高的RTC時鐘,需要使用LSE,頻率為32.768K提供一個精確的時鐘源。
HSI為8M,和HSE相比精度較差,對于性能無要求場景又要節(jié)省成本使用HSI。
在時鐘樹系統(tǒng)中,主時鐘選擇由PLL生成,PLL為鎖相環(huán)倍頻輸出,其時鐘輸入源可選擇為HSI/2、HSE或者HSE/2。倍頻可選擇為2~16倍,但是其輸出頻率最大不得超過72MHz。
css時鐘監(jiān)視系統(tǒng)但HSE失效時自動切換至HSI5、外設有獨立的時鐘分頻配置,主要有USB、SDIO、FSMC、APB1、APB2、ADC等。APB1和APB2是倆個總線橋:APB1和APB2,其中APB1是低速總線,APB2是全速總線。
具體哪些外設掛在那條總線上可參考下圖:
** 使用STM32CubeMX配置時鐘**
以STM32F105為例打開工程選擇HSE,選擇外部晶振作為輸入。
點擊Clock Configuration如下圖:
04 結尾
本篇主要分析STM32的時鐘,并以stm32f105為例使用STM32CubeMX配置時鐘演示。如有疑問,歡迎留言討論。
-
振蕩器
+關注
關注
28文章
4014瀏覽量
140864 -
STM32
+關注
關注
2293文章
11032瀏覽量
365027 -
RTC
+關注
關注
2文章
622瀏覽量
68874
發(fā)布評論請先 登錄
STM32F103x8 STM32F103xB單片機數(shù)據(jù)手冊
STM32單片機最小系統(tǒng)電路設計

TLC2574將單片機時鐘倍頻,采集的都是固定的數(shù)值,這是為什么?
一千余字解讀stm32時鐘樹

通過stm32F1單片機的PWM功能產生兩個時鐘,從Dout讀取到的數(shù)據(jù)位都是0,這個是怎么回事呢?
AFE4300外接的1Mhz時鐘源,應如何選擇?
本源產品丨高穩(wěn)低相噪時鐘源

基于51單片機的手動數(shù)字時鐘

評論