STM32F103 关于 RCC 使用 HSE 和 HSI 配置系统时钟输出和 MCO
关于 RCC 配置系统时钟和外部输出 MCO这张图 STM32F103 时钟树原理图,接下来我会在这张图里一小段一小段截取来分开讲解。
HSE 和 HSI 系统时钟输出
PLL 时钟源可以来源于两个,一个是 HSE ,另一个是 HSI 。
HSE 是如何作为时钟源呢? 1、这个是 HSE 高速外部时钟1的输入, 可以很清楚的看到外部接了 OUT 和 IN 两个引脚,外部有源或者无源晶振通过这两个引脚提供时钟信号(当是有源晶振时,时钟从 IN 进入, OUT 悬空, 当是无源晶振时,时钟从 IN 和 OUT 进入,并且要配谐振电容。)。
2、当确定 PLL 时钟来源时,可以选择不分频或者 2 分频,这个可以由 RCC 的 CFGR 寄存器的 PLLXTPRE 配置。
HSI 又是怎么作为时钟源呢?
HSI 是内部高速时钟信号,只能 2 分频来作为 PLL 时钟源,但是根据温度和环境情况频率会有漂移,所以一般不作为 PLL 时钟源。
1、通过上面所讲的配置 HSE 和 HSI 两个时钟作为 PLL 时钟的来源,可以通过 CFGR (寄存器上面已经讲到)的 PLLSRC 来配置来源。
/2、一般来说常用 8 M 频率,所以接下来就用 HSE 和 HSI 为 8M 来作为例子,在
这儿可以对时钟来源进行倍频,可以通过 CFGR 的 PLLMUL 来配置。
因为我们使用的是 8M 时钟,所以这儿经过倍频了之后最高可以达到 8M * 16 = 128M 的频率,但是官方推荐的是 72M 稳定时钟。
这儿我们可以看到,系统时钟的来源一共有 3 个,除了我们上述配置的 PLL 时钟,还可以直接使用 HSE 和 HSI 直接作为时钟来源,可以通过 CFGR 的 SW 来配置。 这儿可以看到,系统时钟会经过 AHB 预分频器,得到的叫做 APB 总线时钟(即 HCLK )。
页:
[1]