stm32定時器計數功能


stm32的外部時鍾源模式2和外部時鍾源模式1都可以用來實現計數功能,他們的區別是什么呢?

以上2種模式對應不同的管腳輸入:

外部時鍾源模式2 <-->TIMx_ETR 

外部時鍾源模式1 <-->TIMx_CHx (只能在CH1和CH2實現該功能)

從功能框圖可以看到,ETR模式下多了一個分頻器ETPS,搜索該分頻器的寄存器,有如下解釋:外部觸發信號ETRP的頻率必須最多是TIMxCLK頻率的1/4。當輸入較快的外部時鍾時,可以使用預分頻降低ETRP的頻率

 

每個定時器只能對一路信號計數,但每個定時器可同時捕捉4路信號。

如果需要采樣多路信號的脈寬和頻率,采用捕獲模式。

 

ETR的濾波器是通過配置TIMx_SMCR的ETF[3:0]位選擇,而這4位可以選擇的濾波方式如下:

0000: 無濾波,以f DTS采樣
0001: 采樣頻率為f CK_INT, N=2.
0010: 采樣頻率為f CK_INT, N=4.
0011: 采樣頻率為f CK_INT, N=8.
0100: 采樣頻率為f DTS/2, N=6.
0101: 采樣頻率為f DTS/2, N=8.
.......
 
上面的f DTS由TIMx_CR1中的CKD配置:
00: t DTS = t CK_INT
01: tDTS = 2 × t CK_INT
10: tDTS = 4 × t CK_INT
11: 保留

假定選ETF=0101,即“采樣頻率為f DTS/2, N=8”;選CKD=01,即“tDTS = 2 × t CK_INT”;並假定f CK_INT=72MHz。

這時可以算出,采樣頻率為72MHz/2/2=18MHz,因為N=8,即在濾波器上可以濾除掉輸入端上小於444.4ns的脈沖。

根據這一原理,我的理解是把濾波器放在分頻的后面是為了保證通過的信號頻率不超過某個限定,而不是為了濾除窄脈沖。但如果ETR上出現較高頻率的窄脈沖,例如當分頻因子為4時,如果ETR上出現了超過9MHz的一組窄脈沖,它就會在通過分頻和濾波器后被濾除掉。,“濾波放在后面可以更多地保證得到干凈的波形”,可以按照上面的分析理解
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM