STM32F1 - 时钟树

Clock Tree

  • 1> 总框图
  • 2> HSE 高速外部时钟
  • 3> LSE 低速外部时钟
  • 4> HSI 高速内部时钟
  • 5> 时钟使能控制


1> 总框图

STM32F103ZET6:
STM32F1 - 时钟树_第1张图片


STM32F1 - 时钟树_第2张图片


2> HSE 高速外部时钟

HSE: 高速外部时钟(High Speed External clock signal)
STM32F1 - 时钟树_第3张图片

外接晶振8MHz,为保证STM32工作稳定,选择外部晶振提供时钟源;

SYSCLK:72MHz

外部晶振【8MHz】 >> 经过2选1选择器【PLL Source】>>
锁相环【PLL】倍频(9倍)为,8X9 = 72MHz >>
3选1选择器【System Clock】 >> SYSCLK设置为(72MHz)>>
分频器【AHB Prescaler】不分频 >> HCLK=72MHz

APB1:36MHz

72MHz送到分频器【APB1 Prescaler】2分频 ,为72÷2 = 36MHz;
为APB1上挂的外设使用;

APB2:72MHz

72MHz送到分频器【APB1 Prescaler】不分频 ,为72÷1 = 72MHz;
为APB2上挂的外设使用;


3> LSE 低速外部时钟

LSE: 低速外部时钟(Low Speed External clock signal)
STM32F1 - 时钟树_第4张图片

外部晶振32.768KHz:为实时时钟RTC单元,提供时钟源。

2 ^ 15 = 32768, 哦哦哦,这么巧;


4> HSI 高速内部时钟

HSI: 高速内部时钟(High Speed Internal clock signal)
STM32F1 - 时钟树_第5张图片
STM32F103ZET6 芯片内部设计了【8MHz】的RC振荡器

不需要外部晶振就可以为整个MCU提供时钟系统;

时钟频率精度较差,把HSI的8MHz输入到PLL,
可以产生最高64MHz的SYSCLK,小于外部时钟HSE的72MHz;
产品设计一般使用外部晶振;

刚开始上电时,由HSI提供时钟,可以由软件程序切换为HSE;


5> 时钟使能控制

STM32F1 - 时钟树_第6张图片

STM32F1 - 时钟树_第7张图片

STM32F10ZET6的许多外设时钟,
都可以通过一个【与门】来控制某个外设模块时钟的打开和关闭,
并且上电默认状态是,关闭所有外设时钟,需要哪个,必须先打开时钟;

这样做纯纯多余吗?,NO,NO,NO,是为了降低功耗。

就像滴水灌溉一样,需要哪,浇哪!

STM32F1 - 时钟树_第8张图片

你可能感兴趣的:(STM32F1-外设驱动,stm32,嵌入式硬件,单片机)