STM32时钟分频因子
扫描二维码
随时随地手机看文章
无关的话:
关于TIM的时钟分频因子Clock division 是什么,他的作用是什么。
网上找了很多解释,说的人更加一头雾水!
于是自己研究,先看其定义
时钟分频因子的定义:
官方参考手册P377页 TIM1和TIM8的时钟控制寄存器(TIMX_CR1)的第9:8位
是这样定义的
This bit-field indicates the division ratio between the timer clock (CK_INT) frequency and the dead-time and sampling clock (tDTS)used by the dead-time generators and the digital filters
(ETR, TIx),
00: tDTS=tCK_INT
01: tDTS=2*tCK_INT
10: tDTS=4*tCK_INT
11: Reserved, do not program this value
翻译过来就是:
这两个位指示(设定)了分割比率(分频率)在:定时器时钟频率,死区,用于死区发生器的采样时钟,数字滤波器之间。
定义的理解:
*简单的说就是分频因子是通过对CK_INT的分割来确定tDTS的!
*分频因子只是分频的手段,它的目的就是得到tDTS!
*而tDTS主要用于,死区 用于死区发生器的采样时钟 和数字滤波器,也就是它要作用于这三个东西上。
*我们再来看它的结果(就是设定了这两位引发的结果),只有一个就是给出了tDTS的值。好多人不理解就出在这个问题上,tDTS是什么呢,它其实就是一个时间值,这个值会用于下面说的三个地方。但实际上除了用到tDTS以外,还用到的是一个频率值fDTS。手册上也没有一个地方说明这点。当我们得到tDTS的值就等于知道fDTS,明白了这点就好理解了。
接下来我们在参考手册中搜索哪里用到了fDTS 和 tDTS。
第一个用到的地方是在P341
TIMx_SMCR从模式控制寄存器的11:8位(8~11位) 来设定外部触发滤波器采样频率
第二个用到的地方是在P350
TIMx_CCMR1捕获比较模式寄存器的7:4位(4~7位) 来设定输入捕获滤波器采样频率
第三个用到的地方是在P358
TIMx_BDTR刹车死区寄存器的7:0 来定义插入互补输出之间的死区持续时间
总结:
分频因子就是在定时器时钟进入定时器后设定一个分频因子,从而得到一个频率fDTS和时间值tDTS,这个频率和时间值主要用于上面说的三个地方。(并不是所有内部都用到,换句话说就是即使你设置了分频因子也可能用不到)