时钟树:通过不同的时钟源和倍频器为系统时钟(SYSCLK)提供来源,系统时钟再通过分频/倍频器为各种外部设备提供不同速度的时钟。同时可对不同外设的时钟进行使能操作,从而降低功耗,因此不论配置何种功能均需要先使能对应的时钟。
四个时钟源
- HSI:高速内部时钟,8MHz频率RC振荡器。
- HSE:高速外部时钟,频率范围4MHz~16MHz。
- LSI:低速内部时钟,40MHz频率RC振荡器。用于IWDGCLK(独立看门狗)时钟源和RTC时钟源。
- LSE:低速外部时钟,32.768kHz晶体振荡器。
- PPL:锁相环倍频输出,其具有3各时钟来源,倍频可选2-16倍作为系统时钟来源。
- HIS/2:高速内部时钟,2分频。
- HSE:高速外部时钟。
- HSE/2:高速外部时钟,2分频
- 例如c8t6的8MHz晶振,经过PLLXTPRE分频器进入PLLSRC,再通过PLLMUL倍频器X9后,可得到72MHz的系统时钟SYSCLK。c8t6的最大系统时钟频率为72MHz,倍频后输出频率不能超过最大支持的频率。
CSS:时钟监视系统,如果HSE失效则自动将SYSCLK切换为HSI时钟源。
系统时钟(SYSCLK):主要有三个时钟来源HIS,HSE,PLLCLK,其中PLLCLK又有三个时钟来源,绿色线部分。
系统时钟通过AHB预分频器为外设提供不同速率的时钟
- HCLK时钟:AHB总线、内核,内存和DMA,最大72MHz
- 系统定时器:通过8分频后为系统定时器提供时钟
- APB1预分频器:可选择/1/2/4/8/16五种分频为PCLK1(最大36MHz)和TIM2提供时钟源。
- 如果APB1预分频为1,则TIMXCLK等于PCLK1,否则为2倍PCLK1
- APB2预分频器:可选择/1/2/4/8/16五种分频为PCLK2(最大72MHz)和TIM1以及ADC预分频器(ADC prescaler)提供时钟源。
- 如果APB2预分频为1,则TIMXCLK等于PCLK2,否则为2倍PCLK2
- APB1连接低速外设:备份接口、TIM2、TIM3、TIM4、USART2、USART3、SPI2、I2C1、I2C2、CAN、USB2.0等。
- APB2连接高速外设,包括GPIO(PA-PE)、TIM1、SPI1、UART1、ADC1、ADC2等。
USB时钟(USBCLK):时钟源来自PPL,可以通过usb预分频器(usb prescaler)选择1.5分频或1分频,从而获得48MHz或72MHz时钟频率。
作为时钟源输出到MCO引脚(PA8),为其他外部设备提供时钟
STM32cubeIDE图形化时钟配置