单片机的时钟系统

  时钟的定义
        时钟是单片机运行的基础,时钟信号推动单片机内各个部分执行相应的指令。时钟系统就是CPU的脉搏,决定cpu速率,像人的心跳一样 只有有了心跳,人才能做其他的事情,而单片机有了时钟,才能够运行执行指令,才能够做其他的处理 (点灯,串口,ADC),时钟的重要性不言而喻。      

        为什么 STM32 要有多个时钟源呢?  

        STM32本身十分复杂,外设非常多  但我们实际使用的时候只会用到有限的几个外设,使用任何外设都需要时钟才能启动,但并不是所有的外设都需要系统时钟那么高的频率,为了兼容不同速度的设备,有些高速,有些低速,如果都用高速时钟,势必造成浪费   并且,同一个电路,时钟越快功耗越快,同时抗电磁干扰能力也就越弱,所以较为复杂的MCU都是采用多时钟源的方法来解决这些问题。所以便有了STM32的时钟系统和时钟树。

        总结:
        1)STM32时钟系统主要的目的就是给相对独立的外设模块提供时钟,也是为了降低整个芯片的耗能。
        2)系统时钟,是处理器运行时间基准(每一条机器指令一个时钟周期)
        3)时钟是单片机运行的基础,时钟信号推动单片机内各个部分执行相应的指令。
        4)一个单片机内提供多个不同的系统时钟,可以适应更多的应用场合。
        5)不同的功能模块会有不同的时钟上限,因此提供不同的时钟,也能在一个单片机内放置更多的功能模块。对不同模块的时钟增加开启和关闭功能,可以降低单片机的功耗。
        6)STM32为了低功耗,他将所有的外设时钟都设置为disable(不使能),用到什么外设,只要打开对应外设的时钟就可以, 其他的没用到的可以还是disable(不使能),这样耗能就会减少。  这就是为什么不管你配置什么功能都需要先打开对应的时钟的原因
 

以STM32F103C8t6为例:其最大频率是72兆hz

STM32对整个系统的时钟的处理流程如下: 

 

系统的汉化图:

个人理解:

1.时钟有来源:叫做时钟源:分为外部晶振和内部的振荡电路,两者各有各的好处。内部振荡电路提供的时钟信号特点是,结构简单,成本低,但是精度没有外部的晶振电路好,可以适用于不需要精准的时钟信号的外设。外部晶振电路的特点是:结构相对复杂而成本也较高,但其时钟精度好,当需要高精度要求的时候需此外部晶振来使用。

2.时钟系统分为几个部分定时器计数器分频器倍频器(也叫锁相环)。顾名思义可以进行相应的操作。进行分频或者倍频操作。分频或倍频的本质原理是:单片机的主频相对于外设来说相对较高,如果外设没有那么多,或者外设并没有那么高的频率的需求,则此时进行单片机主频的分频可以将单片机的系统功耗控制在一个较好的范围内,增强了cpu的性能的使用和功耗的平衡。倍频是相对的可以进行超频。                                                                                                                频率相当于各个外设的心脏,设定好频率以后,外设在此频率下进行串口通信,传输电平信号来使此外设能够正常工作。(外设工作都是需要 有电平信号来进行驱动,所有频率就起到启动和通信的作用)。

3.时钟源分为几个部分:有内部低速时钟LSI、内部高速时钟HSI、外部低速时钟LSE、外部高速时钟HSE             L:low        H:hign       S:speed      E:exit  外部

4.RCC时钟的主要作用       RCC(系统时钟):设置系统时钟 SYSCLK 、设置 AHB 分频因子(决定 HCLK(至AHB总线,核心存储器和DMA) 等于多少)、设置 APB2 分频因子(决定 PCLK2 等于多少)、设置 APB1 分频因子(决定 PCLK1 等于多少)、设置各个外设的分频因子;控制 AHB 、 APB2 和 APB1 这三条总线时钟的开启、控制每个外设的时钟的开启。 对于 SYSCLK、HCLK、PCLK2、PCLK1 这四个时钟的配置一般是:PCLK2 = HCLK = SYSCLK=PLLCLK = 72MHZ, PCLK1=HCLK/2 = 36MHZ。(以stm32f103vet6为例)

简介:APB

APB的全称:Advanced Peripheral Bus,即先进外设接口 。AMBA 中的 APB 总线主要用在低速且低功率消耗的外围,在 APB 总线中,唯一的 M 为 APB bridge,其它一些低速和低功率的外围皆为 S。因此 APB 总线不需要有一个像 AHB 一样的仲裁器及其它复杂的线路,也就是说 APB 总线的整个架构较 AHB 简单许多。

为了使APB容易被整合进大部分的设计流程中, APB规订所有信号必须在时钟上升沿触发时进行传递。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值