以stm32f103rc為例
一 時鐘系統簡述
stm32的時鐘系統主要包括時鐘源,時鐘樹和時鐘控制單元(如RCC寄存器)等。時鐘源提供原始的時鐘信號,時鐘樹通過倍頻,分頻等方式處理這些信號,以產生不同頻率的時鐘供給各外設和內部組件使用。時鐘控制單元則負責配置和管理時鐘系統。
二 時鐘源
1. HSI(High Speed Internal):高速內部時鐘,由RC振蕩器產生,頻率通常為8MHz或16MHz(具體取決于型號),但精度不高。
2. HSE(High Speed External):高速外部時鐘,可接石英/陶瓷諧振器或外部時鐘源,頻率范圍為4MHz至16MHz或更高(具體取決于型號),精度較高。
3. LSI(Low Speed Internal):低速內部時鐘,由RC振蕩器產生,頻率通常為32kHz或40kHz,用于低功耗模式或作為獨立看門狗(IWDG)和實時時鐘(RTC)的時鐘源。
4. LSE(Low Speed External):低速外部時鐘,接頻率為32.768kHz的石英晶體,主要用于RTC。
5. PLL(Phase Locked Loop):鎖相環倍頻輸出,可將HSI或HSE的頻率倍頻后作為系統時鐘(SYSCLK)使用,倍頻系數可配置,但輸出頻率有上限(如72MHz)
三 時鐘樹
時鐘樹是STM32時鐘系統的核心部分,它通過倍頻、分頻等方式將時鐘源的頻率轉換為適合各外設和內部組件使用的頻率。時鐘樹通常包括AHB總線時鐘(HCLK)、APB1總線時鐘(PCLK1)和APB2總線時鐘(PCLK2)等。
四 時鐘控制單元(RCC寄存器)
RCC寄存器是STM32用于配置和管理時鐘系統的關鍵部分。通過編程RCC寄存器,用戶可以選擇時鐘源、配置倍頻系數、使能或關閉外設時鐘等。常用的RCC寄存器包括:
1. 使能外設時鐘的寄存器:用于控制各個外設的時鐘使能狀態。
時鐘源使能寄存器:用于使能或關閉HSI、HSE、LSI、LSE等時鐘源。
2. PLL配置寄存器:用于配置PLL的輸入源、倍頻系數等參數。
3. AHB/APB分頻器配置寄存器:用于配置AHB和APB總線的分頻系數
五 以下是stm32f103rc系統時鐘圖詳解