找回密码
 注册
关于网站域名变更的通知
查看: 284|回复: 2
打印 上一主题 下一主题

STM32时钟树

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2021-11-1 11:06 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
时钟就像是单片机的“心脏”,单片机正常工作离不开时钟的支持,下图是我们单片机的时钟树 ,它反映了单片机的时钟关系。我们来详细描述一下时钟树的工作原理。
- F  R) P% b; h- r$ ?# X8 f
0 [, ^' Q% ^  Y: x7 i8 @
寄存器上电后有一个复位值,大家看我画红线的这个,这个是单片机上电默认使用时钟的配置线路,默认使用的是内部默认的8M  RC振荡器,有两条路可以选,我们先看上面红色的第一条,到多路选择器SW的时候,我们可以通过配置寄存器中的SW位来决定HSI/PLLCLK/HSE哪一个输入信号从多路选择器通过,在默认的状态下SW选择的是HSI8M从多路选择器通过。# s7 ~1 P8 b+ o" E. X
  h. b2 n- c8 a  P  @# @- n( a
通过了SW这个选择开关后,第一个是SYSCLK 一路朝上可以供I2C1选择时钟,另外一个就是继续向后,通过AHB 这个方框,在这里我们可以配置寄存器选择这个8M是否分频,默认是不分频 也就是经过这个方框后出来往后的还是8M,如果这里配置为2分频,方框出来后就是4M 了,经过AHB分频出来后还是8M,这个8M 提供给了很多路大家可以从上面的图中看出来,那么继续向后是 APB 分频7 j2 m* f1 m8 c0 y
7 \$ B& ], u4 u9 _$ h( J
这里分了两个箭头指向,一个是朝上的给AHB总线 、内核、Memory  、DMA、内核定时器和FCLK。从这里我们可以看到 内核是8M时钟(这个频率决定了单片机指令的执行时间,频率越小,指令执行速度越慢),一路是向后给了APB分频器,这里可以配置你想要的分频系数,如果这里还是不分频出来的PCLK 还依然是8M,那么PCLK又给了 APB外设 ,还给了定时器、串口等外设。
: [( ?# j! ~% @! L) G- a7 P) X# Y& I
# E9 r4 b& ^/ y1 ^, j& x/ y9 I9 n8 F通过这个关系,我们可以清楚的知道,每个外设的工作频率,那可能就会有人问了,这有什么用呢?每个外设都需要时钟来提供振荡源来帮助完成工作,举个例子讲,比如说串口配置一个波特率,那么波特率(通信速率,表示每秒钟传送的数据的位数,即bit/s)是如何来配置呢,就是根据这个时钟频率来配置的,知道了时钟频率,厂家有一个计算公式,就能很容易的算出某一个波特率对应的寄存器值是多少。
7 z2 `  q) {5 I$ T
& K1 b' m( \7 s3 R, ^/ F" x: [; _$ p2 t( X( X
默认的我们知道了,M0支持最大48M,内部RC振荡器只有8M,这个咋整呢?不要慌,我们继续往下看。
2 ~& E/ E' S% g0 R3 b4 S
( Y. ~' g( J  ?% C5 e- Y
既然HSI直接给SW多路选择器,不能到48M,那我不直接给通过SW了行不行,请看图中箭头处,HSI绕一下从 PLLSRC 多路选择器通过,那么PLLSRC多路选择器也有两个选择可以通过寄存器配置,假设配置寄存器选择 HSI作为输入,多路选择器输出后经过PREDIV分频器,假设 PREDIV 我们配置不分频,这个分频器出来输入到PLL模块的时候还是8M。
* k- }" l2 X0 Z5 ?; G  `7 b

2 F0 T1 E/ k) N& kPLL模块起到 一个倍频的作用,大家可以看到方框里面是乘2 3...,如果这个时候我们配置寄存器设置PLLMUL为6,那么出来的PLLCLK是 48M,那么这个时候 SW多路开关选择 PLLCLK作为输入,后面出来的时钟就是48M了,再往后面就跟上面讲的情况一样了,可以自由去配置分频, [2 a  n) |! T/ c6 L
* w, u8 h1 z0 v7 ]
使用内部RC振荡器我们理解了,但是内部的振荡器往往会因为,精度低,受温度影响比较大等情况,不会被选择,这个时候工程师们就会选择使用外部晶振,外部晶振也是一样的配置方式,大家是否能根据上面讲的思路,配置出来呢?8 |& F9 \1 n) t5 J7 ?

0 V" `; d! D4 f3 i, t5 ^" e: ^/ B
4 K! q# W3 c( B) R9 B% j5 y
' j) j# S( {+ z: T2 G1 S, G3 @4 y: z% `* w7 k/ |

- P1 b4 ]) Z3 R% e  g
& R4 x6 W4 f. J2 g3 T2 E7 ~; n) k
4 B3 j! W- l/ ?6 \" v$ S7 |, i" M; r

该用户从未签到

2#
发表于 2021-11-1 11:13 | 只看该作者
单片机正常工作离不开时钟的支持

该用户从未签到

3#
发表于 2021-11-1 16:00 | 只看该作者
每个外设都需要时钟来提供振荡源来帮助完成工作
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-7-18 04:00 , Processed in 0.125000 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表