以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系统时钟图详解