简洁易懂的STM32时钟树介绍-cubeIDE/cubeMX的时钟树讲解-基于keysking的教程笔记

本文介绍了STM32芯片的逻辑电路特性,重点讲解了异或门和与门的交互以及如何通过边沿触发器解决时钟波动带来的问题。随后详细阐述了系统时钟(HCLK、FCLK和PCLK)的功能与作用,以及Cortex-M3的FCLK与时钟树设计,包括HSI、HSE和PLL时钟源。最后概述了看门狗和MCO时钟等额外时钟组件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

keysking的教程简洁易懂,编者在学习的时候受益匪浅,这里将过程中的讲解大致叙述一遍,同样有一些自己理解,以便后续复习。

引入:

STM32芯片内有许多逻辑电路,假设内部有如下的与门和异或门。

假设开始时A,B线均为高电平,而B线突然置为低电平,那么异或门的下端会被瞬间置为低电平,而上端要经过与门内部的逻辑电路,涉及到MOS管的充放电,因此与门的输出变化肯定会更慢。中间会产生极短时间的错误信号。大家可以自己思考一下如图的信号变化。这段时间虽然很短,但还是可能对依赖于此寄存器状态的程序或其他逻辑电路出现更严重错误。

解决方法其实很简单——加入一个边沿触发器。

边沿触发器有一个输入端,一个输出端,还有一个控制端。只有控制端出现上升沿时,输出端才会被置为和输入端相同电平,其余时刻不受输入端影响。

因此,只需要控制clk周期必须覆盖过整个门电路的变化时间, 即可规避门电路运算产生的负面效果,也因此时钟不能无限快。

回到我们今天的主题,时钟信号由时钟源产生,通过时钟树传播到整个芯片中,来满足逻辑电路与寄存器的需求。此外,串口通信,ADC采样等也需要固定的时钟脉冲信号来告知时间的流逝,因此我们说时钟源是单片机的“心脏”,时钟树是单片机的“动脉”。

接下来我们来看看cubemx或cubeide为我们配置的图形化编程界面。

我们从最常配置的HCLK说起。它和FCLK,PCLK都称为系统时钟,但区别如下, 
FCLK,提供给CPU内核的时钟信号,CPU的主频就是指这个信号; 
HCLK,提供给高速总线AHB(先进高性能总线)的时钟信号;

PCLK,提供给低速总线APB的时钟信号;

单片机的处理器,内存,DMA,各种外设均连接在AHB总线上,通过这一总线进行通信,而HCLK就是这一总线中的时钟线。它直接给处理器,内存,DMA带去了时钟信号。假设HCLK的频率是72MHz,那么它们的频率也是72MHz。

在处理器内核中有一个叫SysTick(系统滴答)的定时器(HAL_Delay就通过其实现),通过一个分频器与HCLK连接。

像GPIO,串口,I2C等外设,没有直接连接到AHB总线上,而是连接到了APB(先进外设总线)的两个总线上,再通过一种桥接器连接到AHB总线上,与其他设备通信。中间有可以设置的分频器,连接到外设,连接到定时器还经过了倍频器,不需手动设置,自动让定时器有较高的一个频率。此外,ADC还有其专门的分频器。

下图可形象理解。

下面我们说说时钟源。

1、HSI是高速内部时钟,RC振荡器,频率为8MHz。 
2、HSE是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率范围为4MHz~16MHz。 
3、PLL为锁相环倍频输出,其时钟输入源可选择为HSI/2、HSE或者HSE/2。倍频可选择为2~16倍, 

PPL锁相环实际上起到了倍频的作用可选择HSI或HSE直接接到SYSCLK或者经过倍频器倍频
再接到SYSCLK。

下图为形象化图示。

再回到之前,我们的时钟树还缺了一些部分

1.FCLK

FCLK(free running clock)是自由运行时钟,为CPU内核提供时钟信号。我们所说的CPU主频为xxHz,指的就是这个时钟信号频率,CPU时钟周期就是1/FCLK。

“自由”表现在它不来自系统时钟HCLK,在系统时钟停止时FCLK也继续运行。FCLK用作采样中断或者为调试模块计时。在处理器休眠时,通过FCLK可以采样到中断和跟踪休眠事件。Cortex-M3内核的FCLK和HCLK互相同步、互相平衡,保证Cortex-M3的延迟相同。

2.看门狗

3.MCO时钟输出

4.USB,Flash相关

未介绍可以自行了解。

到现在,我们基本就理解时钟树的基本原理了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值