时钟树(以F407为例)
对于 STM32F4 系列的芯片,正常工作的主频可以达到 168Mhz,但并不是所有外设都需要系统时钟这么高的频率,比如看门狗以及RTC只需要几十Khz的时钟即可。同一个电路,时钟越快功耗越大,同时抗电磁干扰能力也会越弱,所以对于较为复杂的MCU一般都是采取多时钟源的方法来解决这些问题。
1.1 时钟源
(1)2 个外部时钟源:
高速外部振荡器 HSE (High Speed External Clock signal)
外接石英/陶瓷谐振器,频率为 4MHz~26MHz。本开发板使用的是 8MHz。
低速外部振荡器 LSE (Low Speed External Clock signal)
外接 32.768kHz 石英晶体,主要作用于 RTC 的时钟源。
2 个外部时钟源都是芯片外部晶振产生的时钟频率,故而都有精度高的优点
(2)2 个内部时钟源:
高速内部振荡器 HSI(High Speed Internal Clock signal)
由内部 RC 振荡器产生,频率为 16MHz。
低速内部振荡器 LSI(Low Speed Internal Clock signal)
由内部 RC 振荡器产生,频率为 32kHz,可作为独立看门狗的时钟源。
1.2锁相环PLL(PLLCLK)
主要起时钟净化和倍频的作用。
◆ PLL Source Mux:PLL 时钟源选择器
可选择HSI或HSE作输入信号
◆ PLLM:HSE 分频器作为 PLL 输入 (HSE divider for PLL entry)(/M)
从 F407 参考手册可得到它的值范围是:0~63。
◆ PLLMUL:PLL 倍频系数 (PLL multiplication factor)(Main PLL)
要实现168MHz的主频率,我们通过选择HSE分频作为PLL输入的时钟信号,输入8Mhz,8分频,即 1MHz,我们选择 336 倍频,这样可以得到时钟信号为 1*336=336MHz,然后经过2分频,得到168MHz。
1.3系统时钟(SYSCLK)
系统时钟可由HSI、HSE和PLLCLK获得
AHB Prescaler:AHB预分频器,其中可选择的分频系数为 1,2,4,8,16,32,64,128,256,512
APB1 Prescaler:APB1预分频器,分频因子可以选择1,2,4,8,16。APB1是低速总线时钟,最高频率为42Mhz。片上低速的外设就挂载在该总线上,例如有看门狗定时器、定时器2/3/4/5/6/7、RTC 时钟、USART2/3/4/5、SPI2(I2S2) 与 SPI3(I2S3)、I2C1~3、CAN和 2 个 DAC。
APB2 Prescaler:APB2预分频器,分频因子可以选择1,2,4,8,16,这里我们选择的是2分频,所以APB2总线时钟频率为 84Mhz(最高)。与 APB2 高速总线连接的外设有定时器1/8/9/10/11、SPI1、USART1 和 USART6 、3 个 ADC 和 SDIO 接口。其中标号⑧决定了定时器时钟频率,该位由硬件自动设置,分为两种情况:
1、 如果 APB 预分频器为 1,定时器时钟频率等于 APB 域的频率;
2、 否则,等于 APB 域的频率的两倍(×2)。
此外,AHB 总线时钟直接作为 GPIO(A\B\C\D\E\F\G\H\I)、以太网、DCMI、FSMC、AHB总线、Cortex 内核、存储器和 DMA 的 HCLK 时钟,并作为 Cortex 内核自由运行时钟 FCLK。
图中为RTC时钟,其时钟源有三个途径:HSE/x(x = 2~31)、LSE 或 LSI。
1.4时钟信号输出MCO
学到之后再更新。
手机扫一扫
移动阅读更方便
你可能感兴趣的文章