STM32時(shí)鐘分頻因子
無關(guān)的話:
關(guān)于TIM的時(shí)鐘分頻因子Clock division 是什么,他的作用是什么。
網(wǎng)上找了很多解釋,說的人更加一頭霧水!
于是自己研究,先看其定義
時(shí)鐘分頻因子的定義:
官方參考手冊(cè)P377頁(yè) TIM1和TIM8的時(shí)鐘控制寄存器(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
翻譯過來就是:
這兩個(gè)位指示(設(shè)定)了分割比率(分頻率)在:定時(shí)器時(shí)鐘頻率,死區(qū),用于死區(qū)發(fā)生器的采樣時(shí)鐘,數(shù)字濾波器之間。
定義的理解:
*簡(jiǎn)單的說就是分頻因子是通過對(duì)CK_INT的分割來確定tDTS的!
*分頻因子只是分頻的手段,它的目的就是得到tDTS!
*而tDTS主要用于,死區(qū) 用于死區(qū)發(fā)生器的采樣時(shí)鐘 和數(shù)字濾波器,也就是它要作用于這三個(gè)東西上。
*我們?cè)賮砜此慕Y(jié)果(就是設(shè)定了這兩位引發(fā)的結(jié)果),只有一個(gè)就是給出了tDTS的值。好多人不理解就出在這個(gè)問題上,tDTS是什么呢,它其實(shí)就是一個(gè)時(shí)間值,這個(gè)值會(huì)用于下面說的三個(gè)地方。但實(shí)際上除了用到tDTS以外,還用到的是一個(gè)頻率值fDTS。手冊(cè)上也沒有一個(gè)地方說明這點(diǎn)。當(dāng)我們得到tDTS的值就等于知道fDTS,明白了這點(diǎn)就好理解了。
接下來我們?cè)趨⒖际謨?cè)中搜索哪里用到了fDTS 和 tDTS。
第一個(gè)用到的地方是在P341
TIMx_SMCR從模式控制寄存器的11:8位(8~11位) 來設(shè)定外部觸發(fā)濾波器采樣頻率
第二個(gè)用到的地方是在P350
TIMx_CCMR1捕獲比較模式寄存器的7:4位(4~7位) 來設(shè)定輸入捕獲濾波器采樣頻率
第三個(gè)用到的地方是在P358
TIMx_BDTR剎車死區(qū)寄存器的7:0 來定義插入互補(bǔ)輸出之間的死區(qū)持續(xù)時(shí)間
總結(jié):
分頻因子就是在定時(shí)器時(shí)鐘進(jìn)入定時(shí)器后設(shè)定一個(gè)分頻因子,從而得到一個(gè)頻率fDTS和時(shí)間值tDTS,這個(gè)頻率和時(shí)間值主要用于上面說的三個(gè)地方。(并不是所有內(nèi)部都用到,換句話說就是即使你設(shè)置了分頻因子也可能用不到)





