4个时钟源:HSE(外部高速时钟),HSI(内部高速时钟),LSE(外部低速时钟),LSI(内部低速时钟).
外部高速时钟HSE一般使用无源晶振,外接起振电容,由IC内部振荡电路产生振荡信号起振,当外部振荡器稳定后,对应RCC_CTRL寄存器:HSESTBL位被硬件置1.
外部高速时钟HSE对应AT32的RCC_CTRL寄存器:HSEEN。使能位
外部低速时钟LSE对应AT32的RCC_CTRL寄存器:LSEEN。使能位
锁相环时钟源:
来源有两个,第一个是来自内部HSI分频而来,一个是外部时钟源HSE而来。其中HSE还会经过一个PLL开关,来选择HSE提供给锁相环时钟是否分频。由RCC_CFG寄存器:PLLHSE PSRC来配置开关。
当我们选择分频的时候,分频系数由RCC_MISC2寄存器:HSE_DIV_CTRL控制
选择锁相环时钟源由RCC_CFG寄存器:PLLSRC位控制
系统时钟PLL CLK:
由锁相环时钟源分频或者HSE或者HSI而来,锁相环时钟源可最高分频*64,由RCC_CFG寄存器:PLLMUL位控制。
系统时钟选择来源控制是由RCC_CFG寄存器:SYSCLKSEL位控制
我们可以读取RCC_CFG寄存器:SYSCLKSTS位来确定是否选择时钟源完毕
HCLK时钟(AHB高速总线时钟):
为AHB总线的外设(SDIO,XMC,APB1/2等)提供时钟,为Cortex系统定时器提供时钟。
来源:系统时钟分频而来
由RCC_CFG寄存器:AHBPSC位控制分频
PCLK1时钟:
APB1低速总线时钟,为APB1总线的外设提供时钟。
来源:HCLK(AHB高速总线时钟)分频得到的
由RCC_CFG寄存器:APB1PSC位控制分频
PCLK2时钟:
APB2低速总线时钟,为APB2总线的外设提供时钟。
来源:HCLK(AHB高速总线时钟)分频得到的
由RCC_CFG寄存器:APB2PSC位控制分频
RTC时钟:
为芯片内部的RTC外设提供时钟
来源有三个:HSE分频,LSE,LSI.
由寄存器RTC_BDC寄存器:RTCSEL位控制
选择好时钟源后想要改变时钟源就可以由寄存器RTC_BDC寄存器:BDRST位来复位清除
独立看门狗时钟:
由LSI(内部低速时钟)提供
时钟输出CLKOUT:
可以用示波器去抓对应的波形
由RCC_CFG寄存器:CLKOUT位来控制输出哪个时钟
时钟安全系统:
由RCC_CFG寄存器:CFDEN位来控制
注:
每个框图上面的英文标注,代表寄存器的某一位来控制。