芯片的时钟系统
目录
(1)芯片时钟系统框图
STM32芯片时钟源有5个:HSI, HSE, PLL, LSE, LSI
(常把PLL时钟PLLCLK作为系统时钟SYSCLK的来源)
系统时钟SYSCLK来源有3个(选择器)
1)HSI 高速内部时钟≈8MHz:内部RC振荡器产生的频率是不够稳定的(模拟电路)。
2)HSE 高速外部时钟:接外部晶振,4~16MHz,一般8MHz。
3)PLLCLK:锁相环PLL用来倍频输出(相当于倍频器,乘某个系数放大)
PLLCLK时钟来源也有3种:HSI两分频,HSE经两级选择器,HSE经二分频和选择器。
CSS时钟监控系统:当检测到HSE外部晶振失效时,将系统时钟SYSCLK自动切换为HSI
4)LSE 低速外部时钟:外部晶振产生。32.768KHz 用来给RTC实时时钟供电
RTCCLK来源也有三个:HSE/128分频,LSE, LSI
5)LSI 低速内部时钟:由内部RC振荡器产生,约等于≈40KHz(频率不稳定)
作用:独立看门狗时钟IWDGCLK。很少用作RCT时钟输入,因为RTC时钟要求很高的。
//-------------------------------------------------------------------------------------------------------------------------------
MCO:输出内部时钟的引脚(PA8)。
来源有4个:系统时钟SYSCLK,HSI,HSE,PLLCLK二分频
USB时钟:USBCLK一般是48MHz,来自于PLLCLK,经过USB分频器,预分频1或1.5,
如F1系列芯片不超频情况下的最大时钟PLLCLK=72M,72/1.5分频=48M;
PLLCLK=48M,prescaler=1,即不用分频。
HCLK时钟:连接到AHB系统总线上外围高速组件使用的时钟
PCLK1时钟:APB1分频,低速外设(通用定时器)
PCLK2时钟:APB2分频,高速外设(ADC时钟)
连接到APB外围总线上外围组件使用的时钟
注意:使用任何外设之前,都要使能相应的时钟使能位,否则外设无法使用。
——不用的外设就不使能,对降低功耗很有用。
重要时钟总结:
系统时钟SYSCLK
AHB总线时钟HCLK
APB1总线时钟PCLK1(低速36MHz)
APB2总线时钟PCLK2(高速72MHz)
PLL时钟
(2)RCC寄存器:时钟配置相关函数
时钟控制寄存器 CR
时钟配置寄存器 CFGR
时钟中断寄存器 CIR
APB2外设复位寄存器 APB2RSTR
APB1外设复位寄存器 APB1RSTR
AHB外设时钟使能寄存器 AHBENR
APB2外设时钟使能寄存器 APB2ENR
APB1外设时钟使能寄存器 APB1ENR
备份域控制寄存器 BDCR
控制/状态寄存器 CSR
以上总共10个寄存器,常用的有5个。
重要的两个:CR 和 CFGR
CR: HSI, HSE, CSS, PLL 使能和就绪标志位
CFGR: PLL等的时钟源选择、分频系数设定
(3)RCC相关的7类函数
时钟使能配置 LSE, LSI, HSE, HEI, PLL
外设时钟使能 APB1, APB2, AHB
时钟源相关配置 PLL, SYSCLK, RTCCLK
分频系数选择配置 HCLK, PCLK1, PCLK2
其他外设时钟配置(ADC/RTC)
状态参数获取
RCC中断相关函数 IT