STM32时钟电路
一、为什么需要时钟电路。
(1)单片机是一个集成芯片,其中包括时序逻辑电路,可以说,没有时序,就没有数字电路,也就没有单片机。所以,单片机离不开时钟。
(2)单片机中的众多寄存器,存储器等是由D触发器构成,而操作D触发器就需要时钟沿,自然也就离不开时钟。
(3)以MCS–51单片机为例:MCS–51单片机为12个机器周期执行一条指令,也就是说单片机运行一条指令必须要用12个时钟周期。没有这个时钟,单片机就跑不起来,也就没办法定时和进行和时间有关的操作。
时钟电路是给电路创造一个时间概念。单片机可以看成是在时钟驱动下的时序逻辑电路,时钟电路是必不可少的。
二、如何提供时钟电路。
时钟信号是通过震荡提供的,而提供震荡的方式通常有RC震荡电路和晶振两种方式。
RC震荡电路(振荡器)只由电阻和电容构成,成本低,但是不精确,不稳定。
晶振:只要在晶体板极上施加交变电压,就会使晶片产生机械变形振动,此现象即所谓逆压电效应。成本高,但是精确稳定,还有用晶体振荡器一般还需要接两个15-33pF起振电容。
三、STM32F10xx时钟系统框图
STM32F10xx时钟系统框图如下
1、其中有五个蓝色方框的是系统的时钟源。
分别是:HSI高速内部时钟、HSE高速外部时钟、LSE低速外部时钟、LSI低速内部时钟和PLL锁相环倍频输出。
STM32内部有两个晶振和两个RC震荡电路。(高频和低频)
震荡电路(内部电路)
晶振电路(外部电路)
(1)HSI 高速内部时钟 (高频RC振荡器, 8MHz)
(2)HSE 高速外部时钟 (高频晶振, 8MHz)
(3)LSE 低速外部时钟 (低频晶振, 32.768kHz)
(4) LSI 低速内部时钟 (低频RC振荡器,42kHz)
(5)PLL 时钟来源,如图的三种。都是高频时钟。
PLL锁相环,倍频输出是一个倍频器的作用(倍频x2….x16共16种选择),作为PLL时钟。
2、MCO输出内部时钟的四种来源:
SYSCLK系统时钟、HEI、HSE、PLLCLK的2分频。
3、SYSCLK系统时钟:
(1)三种时钟源,4种方式
① HSI 高速内部时钟
② PLL 锁相环
③ HSE 高速外部时钟 (可加CSS)
(2)CSS时钟监视系统:
稳定的 HSE 高速外部时钟无法正常工作的情况下,如果加了CSS,会使用不稳定的 HSI 高速内部时钟。
(3)AHB预分频器
SYSCLK系统时钟又可以通过AHB预分频器产生许多不同频率的时钟。共有9种分频选择,分别为1、2、4、8、16、64、128、256、512。