STM32 时钟树配置

目录

前言

1.时钟源

 2.锁相环 PLL

3. 系统时钟

STM32F103时钟树配置


前言

什么是时钟树?

时钟树是一个由许多缓冲单元(buffer cell)平衡搭建的网状结构,它有一个源点,通常是时钟输入端(clock input port),也有可能是设计内部某一个单元输出脚(cell output pin)。这个网状结构由一级一级的缓冲单元搭建而成,具体的级数取决于设置以及所使用的单元。时钟树的主要目标是使得所有终点的clock skew(时钟偏差)、insertion delay(插入延迟)以及transition(过渡)满足设计要求。

工作原理:

  1. 时钟源产生一个固定频率的时钟信号;
  2. 时钟信号通过时钟传输线路向系统中的各个部件传输,为了保证信号传输的稳定性和减少时钟抖动,通常会采用差分信号传输和特殊的时钟线路设计;
  3. 时钟树中的分频器会根据需要将时钟信号分频为更低的频率,以适应不同部件的工作需求;
  4. 时钟信号通过时钟分配网络被分配到各个部件,这通常涉及到使用缓冲器来延长时钟信号的传输距离,并确保各个部件能够准确接收到时钟信号;
  5. 时钟树会进行时钟校准,以确保各个部件接收到的时钟信号是准确且稳定的。

如图为一个简化的 STM32F1 时钟系统

A 部分表示其他电路需要的输入源时钟信号;

B 为一个特殊的振荡电路“PLL”,由几个部分构成;

C 为我们重点需要关注的 MCU 内的注释中“SYSCLK”;AHB 预分频器将 SYSCLK 分频或不分频后分发给其他外设进行处理,包括到 F 部分的 Cortex-M 内核系统的时钟。

D E 部分分 别为定时器等外设的时钟源 APB1/APB2

G STM32 的时钟输出功能

1.时钟源

对于 STM32F1,输入时钟源(Input Clock)主要包括 HSIHSELSILSE。其中,从

时钟频率来分可以分为高速时钟源和低速时钟源,其中 HSIHSE 高速时钟,LSI LSE 是低速时钟。

(1)2 个外部时钟源:

高速外部振荡器 HSE (High Speed External Clock signal)正点原子STM外接石英/陶瓷谐振器,频率为 4MHz~16MHz。

低速外部振荡器 LSE (Low Speed External Clock signal)外接 32.768kHz 石英晶体,主要作用于 RTC 的时钟源。

(2)2 个内部时钟源:

高速内部振荡器 HSI(High Speed Internal Clock signal)由内部 RC 振荡器产生,频率为 8MHz。

 低速内部振荡器 LSI(Low Speed Internal Clock signal)由内部 RC 振荡器产生,频率为 40kHz,可作为独立看门狗的时钟源

 2.锁相环 PLL

由于内部高速时钟和外部高速时钟都无法提供72Mhz的频率,所以系统时钟的直接来源应该是PLLCLK,也就是说在配置的时候需要将系统时钟选择到锁相环上。

锁相环是自动控制系统中常用的一个反馈电路,在 STM32 主控中,锁相环的作用主要有两个部分:输入时钟净化和倍频。前者是利用锁相环电路的反馈机制实现,后者我们用于使芯片在更高且频率稳定的时钟下工作。

3. 系统时钟

 从上可知,系统时钟SYSCLK 由多路选择器SW根据用户设置选择PLLCLK、HSE或HSI中的一路输出而得。 SYSCLK的最高频率可达72MHz(通常也工作在72MHz), 是STM32Fl03大部分 部件的时钟来源。

STM32Fl03从上电开始 ,选用HSI作为初始的系统时钟。 在完成初始化后,一般选用更加稳定可靠的HSE作为系统时钟的来源。为了让用户能够实时检测时钟系统是否运行正常,ST 在STM32Fl03 系列微控制器上专门提供了引脚MCO(M ai nC lock Output,主时钟输出)。 用户可以通过软件编程,选择SYSCLK、PLLCLK、HSE或HSI中的一路在MCO上输出。

         

                                        

STM32F103时钟树配置

简图

可学习:

http://t.csdnimg.cn/o88Db

https://blog.csdn.net/weixin_41847555/article/details/125686528

  • 32
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
STM32时钟配置是指通过配置相关寄存器来设置STM32微控制器的时钟源和时钟分频。时钟配置对于STM32设备的正常运行和性能优化非常重要。时钟配置决定了各个模块的时钟频率和时钟源的选取,包括系统时钟、外设时钟和总线时钟等。 在STM32CubeMX软件中,提供了可视化的方式来配置STM32的时钟,方便开发人员进行定制化的设置。通过STM32CubeMX,我们可以选择不同的时钟源以及设置时钟分频器来满足具体的需求。可以根据具体的应用要求,合理配置时钟,以获得最佳的性能和功耗平衡。 配置STM32时钟的步骤包括: 1. 打开STM32CubeMX软件并创建新的工程。 2. 在时钟配置界面,选择合适的时钟源,例如内部RC振荡器、外部晶体振荡器或者外部时钟源等。 3. 根据实际需求配置各个模块的时钟频率和时钟源,例如CPU、外设、总线等。 4. 设置时钟分频器,根据需求进行精确的时钟分频,以满足系统的性能和功耗要求。 5. 生成代码并导出配置文件,以便在开发环境中使用。 通过合理配置STM32的时钟,可以实现对系统时钟的灵活控制,提高系统的稳定性和性能。同时,时钟配置也是低功耗和EMC设计的关键,可以有效降低功耗和电磁干扰。 引用提供了详细介绍STM32时钟配置和原理的文档,引用介绍了时钟STM32中的重要性,引用推荐了可视化配置STM32时钟的工具。这些资料可以帮助开发人员更好地理解和配置STM32的时钟
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值