stm32学习总结:时钟系统
一、 芯片时钟
- 时钟简介
时钟是同步工作系统的同步节拍,时钟的快慢就是我们常说的工作频率,以赫兹(HZ)为单位。时钟系统指导器件的运行,我们分析器件的工作特性时,常常会看器件的时序图,时序图中的时钟周期就是时钟系统来决定的。时钟是嵌入式系统的脉搏,处理器内核在时钟驱动下完成指令执行,状态变换等动作,外设部件在时钟的驱动下完成各种工作,例如:串口数据的发送、AD转换、定时器计数等。因此时钟对于计算机系统是至关重要的,通常时钟系统出现问题也是致命的,比如振荡器不起振、振荡不稳、停振等。 时钟信号推动单片机内各个部分执行相应的指令,时钟就像人的心跳一样。 - 时钟来源
a. 外部直接输入时钟信号,SoC有个引脚用来输入外部时钟信号,用的很少;
b. 外部晶振+内部时钟发生器产生时钟,大部分低频单片机都是这么工作的;
c. 外部晶振+内部时钟发生器+内部PLL产生高频时钟+内部分频器分频得到各种频率的时钟。 - 时钟系统和功耗
a. 时钟是指导器件工作的,那时钟的快慢就是决定了器件工作的状态。一般地,时钟频率越高,器件的性能越好。
b. 时钟系统和低功耗模式:现在的智能设备大多都有低功耗模式,低功耗模式的原理就是关闭某些当前非必须的器件,以降低功耗,关闭器件实际就是禁止器件的时钟信号。
c. 最佳时钟频率:每款芯片推出时,厂家都会提供一个最佳工作频率,在这个频率下芯片可以长期稳定且高效的工作。当然我们也可以通过代码去修改工作频率,当我们设置的工作频率超过最佳工作频率就叫超频。超频会带来更好的性能,但是芯片的发热也更严重,稳定性也会降低,可以短时间超频,但是不建议长时间超频。
二、 STM32时钟树
如图1所示为STM32F10xxx系列芯片的时钟树,分为三个部分:时钟源、系统时钟和以太网时钟。
图1 时钟树
1. 时钟源
STM32单片机的时钟源包含了HSE(High Speed External Clock signal)、HIS(High Speed Internal Clock signal)、LSE(Low Speed External Clock signal)、LSI(Low Speed Internal Clock signal)和PLL(Phase-Locked Loop)时钟。
a. HSE