STM32 F103 时钟树详解

        刚入STM32 用了也有一段时间了,先做了中断,CAN,SPI。都是跟着网上的例子直接粘贴外设的初始化代码,看的大概能懂,但是时钟一直迷迷糊糊,不清不楚。

         STM32为了实现低功耗,而设计的功能完善构成复杂的时钟系统,称之时钟树。使外设功能的时钟可自配置。因为STM32外设众多,而不同的项目用到的外设参差不齐,所以可控的时钟可以实现降低产品功耗。

          所有的外设在使用之前都必须设置时钟信号,才可以正常工作。以STM32F103C8T6时钟树为例,如下图所示:

图7和图8道理一样的,大家觉得那个容易理解就看那个图

图8

STM32的四个时钟源

   外部时钟

  • <1>高速外部时钟(HSE):外部时钟源,晶振频率可取范围为4~16MHz,我们一般采用8MHz的晶振。
  • <2>低速外部时钟(LSE):外部时钟源,主要提供给实时时钟模块,所以一般采用32.768KHz。

   内部时钟

  • <3>高速内部时钟(HSI):由内部RC振荡器产生,频率为8MHz,但不稳定。
  • <4>低速内部时钟(LSI):由内部RC振荡器产生,也主要提供给实时时钟模块,频率大约为40KHz。    

以最常用的高速外部时钟(HSE)为例

  • <1>左边红色框框1 两个外部引脚接8M晶振的两端。
  • <2>8M时钟遇到第一个分频器PLLXTPRE,也就是HSE后面的第一个节点,我们不分频
  • <3>时钟来到PLL Source Mux,可选输入的时钟信号有外部高速时钟(HSE)内部高速时钟(HSI)选择HSE
  • <4>接着信号走到锁相环PLL,具有倍频作用,我们选择倍频因子(PLL Mul),可取值2,3,...14,15,16,我们选择9倍频。现在时钟信号为8*9=72M
  • <5>来到系统时钟源输入选择,可选时钟HSE(8M)、HSI(8M)和经过倍频的PLL CLK(72M),选择PLL CLK作为系统时钟,此时系统时钟为72M
  • <6>系统时钟(SYSCLK)来到AHB预分频器,可选分频系数:1,2,4,8,16,32,64,128,256。选择不分频,直接来到挂载低速外设的(APB1)PCLK1和挂载高速外设的(APB2)PCLK2
  • <7>PCLK1低速外设时钟的最大频率为36M,所以最低进行2分频。PCLK2高速外设时钟的最大频率是72M,可选择不分频。

选择使用HSE也是因为外部时钟更稳定精准,经过倍频给STYCLK提供最大的时钟频率,发挥CPU的最优性能。了解了时钟树,在使用各个外设的时候就明白时钟信号的来源了。记得初始化外设一定要使能相应的时钟。

如果对你有所帮助,请点个赞,我会写更多博文,不足之处欢迎各位指导!!!

  • 106
    点赞
  • 274
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
STM32最小系统硬件组成详解 0组成: 电 复位 时钟 调试口 启动 1、电 : 一般3.3V LDO供电 加多个0.01uf去耦电容 2、复位:有三种复位方式:上电复位、手动复位、程序自动复位 通常低电平复位:(51单片机高电平复位,电容电阻位置调换) 上电复位,在上电瞬间,电容充电,RESET出现短暂的低电平,该低电平持续时间由电阻和电容共同决定,计算方式如下:t = 1.1RC(固定计算公式) 1.1*10K*0.1uF=1.1ms 需求的复位信号持续时间约在1ms左右。 手动复位:按键按下时,RESET和地导通,从而产生一个低电平,实现复位。 3、时钟 : 晶振+起振电容 +(反馈电阻MΩ级) 如使用内部时钟: 对于100脚或144脚的产品,OSC_IN应地,OSC_OUT应悬空。 2)对于少于100脚的产品,有2种法: i)OSC_IN和OSC_OUT分别通过10K电阻地。此方法可提高EMC性。 32.768KHZ: 可选择只高速外部时钟8MHZ或 既多一个32.768MHZ的外部低速时钟。 32.768KHZ时钟作用: 用于精准计时电路 万年历 通常会选择32.768KHz的晶振,原因在于32768=2^15,而嵌入式芯片分频设置寄存器通常是2的次幂的形式,这样经过15次分频后,就很容易的1HZ的频率。实现精准定时。用于精准计时电路 万年历 晶振:一般选择8MHZ 方便倍频 有:更稳定 成本更高 需要供电 不需要外围电路 3脚单线输出 无:精度基本够 方便灵活 便宜 最大区别:是否需要单独供电 无晶振需要外起振电容

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我是唐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值