您现在的位置是:首页 >技术杂谈 >(5)---STM32 的时钟系统网站首页技术杂谈
(5)---STM32 的时钟系统
目录
1.时钟基本概念
1) 时钟是嵌入式系统的脉搏,处理器内核在时钟驱动下完成指令执行,状态变换等动作,
外设部件在时钟的驱动下完成各种工作,例如:串口数据的发送、AD转换、定时器计数等
因此时钟对于计算机系统是至关重要的,通常时钟系统出现问题也是致命的,比如振荡器不起振、振荡不稳、停振等。 时钟信号推动单片机内各个部分执行相应的指令,时钟就像人的心跳一样。
2)时钟系统的组成:时钟源(振荡源)、唤醒定时器、倍频器、分频器
时钟 相当于心脏
时钟调高了 速度就会快 但是耗电
时钟源常见振荡器
振荡电路
1.底板振荡电路:
2.核心板振荡电路:
Tips:晶体振荡器和RC振荡器的区别?
晶体振荡器
采用石英晶体设计的振荡器
优点:晶体振荡器信号稳定、质量好,连接方式简单。
缺点:价格高,需要较长的启动时间(起振时间)
晶体振荡器分类:
无源晶振是有2个引脚的无极性元件,需要借助于时钟电路才能产生振荡信号,自身无法振荡起来。
有源晶振有4只引脚,是一个完整的振荡器,其中除了石英晶体外,还有晶体管和阻容元件,因此体积较大。有源晶振不需要CPU的内部振荡器,信号稳定,质量较好,而且连接方式比较简单。
RC振荡器
由电阻和电容设计的振荡电路,能够将直流电转换成具有一定频率的交流信号输出。
优点:实现的成本比较低,仅由电阻电容构成。
缺点:精度存在问题,振荡频率会存在误差。
倍频器:CPU需要更高频率,晶体振荡器制作成本较高(而且自身不稳定),不易直接生产高频振荡器,可以利用倍频器对现有时钟频率进行放大。
分频器:外设需要不同频率,为了降低功耗,可以进行分频以提供不同频率时钟信号。
Tips:为什么要设计倍频器和分频器?
答:1)为了降低成本(CPU需要更高的时钟频率)
2)减少功耗 (外设需要不同的时钟频率)
2.G030时钟源
HSI : 高速内部时钟,由RC振荡电路产生16Mhz的时钟频率。
HSE :高速外部时钟,由外部晶体/陶瓷谐振器产生4-48Mhz的时钟信号,一般外接8Mhz晶振。
LSI :低速内部时钟,由低速RC振荡电路产生32Khz的时钟频率。
LSE:低速外部时钟,由低速晶振产生32.768Khz的时钟频率。
3.时钟树
RTC实时时钟是一个独立的定时器。STM32 的 RTC 模块拥有一组连续计数的计数器,在相应软件配置下,可提供时钟日历的功能。只要电源电压保持在工作范围内,RTC永远不会停止。
Hclk为高性能总线(AHB bus peripherals )供给时钟信号(AHB为advanced high-performance bus) ; 由系统时钟SYSCLK分频得到,一般不分频,等于系统时钟,HCLK是高速外设时钟,是给外部设备的,比如内存,flash。
Pclk为低速总线外设总线(APB busperipherals)供给时钟信号
PLL为锁相环倍频输出, 如果希望有一个比较大的时钟频率,可选择 PLLCLK 作为系统时钟。其时钟输入源可选择为HSI,HSE、倍频可选择为8~86倍,但是其输出频率最大不超过64MHz
4.STM32CubeMX时钟树配置