當前位置:編程學習大全網 - 源碼下載 - stm32f103微控制器不同類型的定時器有什麽區別?

stm32f103微控制器不同類型的定時器有什麽區別?

計數器三種計數模式

向上計數模式:從0開始,計到arr預設值,產生溢出事件,返回重新計時

向下計數模式:從arr預設值開始,計到0,產生溢出事件,返回重新計時

中央對齊模式:從0開始向上計數,計到arr產生溢出事件,然後向下計數,計數到1以後,又產生溢出,然後再從0開始向上計數。(此種技術方法也可叫向上/向下計數)

基本定時器(TIM6,TIM7)的主要功能:

只有最基本的定時功能,。基本定時器TIM6和TIM7各包含壹個16位自動裝載計數器,由各自的可編程預分頻器驅動

通用定時器(TIM2~TIM5)的主要功能:

除了基本的定時器的功能外,還具有測量輸入信號的脈沖長度( 輸入捕獲) 或者產生輸出波形( 輸出比較和PWM)

高級定時器(TIM1,TIM8)的主要功能:

高級定時器不但具有基本,通用定時器的所有的功能,還具有控制交直流電動機所有的功能,妳比如它可以輸出6路互補帶死區的信號,剎車功能等等

通用定時器的時鐘來源;

a:內部時鐘(CK_INT)

b:外部時鐘模式1:外部輸入腳(TIx)

c:外部時鐘模式2:外部觸發輸入(ETR)

d:內部觸發輸入(ITRx):使用壹個定時器作為另壹個定時器的預分頻器

通用定時期內部時鐘的產生:

從截圖可以看到通用定時器(TIM2-7)的時鐘不是直接來自APB1,而是通過APB1的預分頻器以後才到達定時器模塊。

當APB1的預分頻器系數為1時,這個倍頻器就不起作用了,定時器的時鐘頻率等於APB1的頻率;

當APB1的預分頻系數為其它數值(即預分頻系數為2、4、8或16)時,這個倍頻器起作用,定時器的時鐘頻率等於APB1時鐘頻率的兩倍。

自動裝在寄存器arr值的計算:

Tout= ((arr+1)*(psc+1))/Tclk;

Tclk:TIM3的輸入時鐘頻率(單位為Mhz)。

Tout:TIM3溢出時間(單位為us)。

計時1S,輸入時鐘頻率為72MHz,加入PSC預分頻器的值為35999,那麽:

((1+psc )/72M)*(1+arr )=((1+35999)/72M)*(1+arr)=1秒

則可計算得出自動窗裝載寄存器arr=1999

通用定時器PWM工作原理

以PWM模式2,定時器3向上計數,有效電平是高電平,定時器3的第3個PWM通道為例:

定時器3的第3個PWM通道對應是PB0這引腳,三角頂點的值就是TIM3_ARR寄存器的值,上圖這條紅線的值就TIM3_CCR3

當定時器3的計數器(TIM3_CNT)剛開始計數的時候是小於捕獲/比較寄存器(TIM3_CCR3)的值,

此時PB0輸出低電平,隨著計數器(TIM3_CNT)值慢慢的增加,

當計數器(TIM3_CNT)大於捕獲/比較寄存器(TIM3_CCR3)的值時,這時PB0電平就會翻轉,輸出高電平,計數器(TIM3_CNT)的值繼續增加,

當TIM3_CNT=TIM3_ARR的值時,TIM3_CNT重新回到0繼續計數,PB0電平翻轉,輸出低電平,此時壹個完整的PWM信號就誕生了。

PWM輸出模式;

STM32的PWM輸出有兩種模式:

模式1和模式2,由TIMx_CCMRx寄存器中的OCxM位確定的(“110”為模式1,“111”為模式2)。區別如下:

110:PWM模式1,在向上計數時,壹旦TIMx_CNT

在向下計數時,壹旦TIMx_CNT》TIMx_CCR1時通道1為無效電平(OC1REF=0),否則為有效電平(OC1REF=1)。

111:PWM模式2-在向上計數時,壹旦TIMx_CNTTIMx_CCR1時通道1為有效電平,否則為無效電平。

由以上可知:

模式1和模式2正好互補,互為相反,所以在運用起來差別也並不太大。而從計數模式上來看,PWM也和TIMx在作定時器時壹樣,也有向上計數模式、向下計數模式和中心對齊模式

PWM的輸出管腳:

不同的TIMx輸出的引腳是不同(此處設計管腳重映射)

TIM3復用功能重映射:

註:重映射是為了PCB的設計方便。值得壹提的是,其分為部分映射和全部映射

PWM輸出頻率的計算:

PWM輸出的是壹個方波信號,信號的頻率是由TIMx的時鐘頻率和TIMx_ARR這個寄存器所決定的

輸出信號的占空比則是由TIMx_CRRx寄存器確:

占空比=(TIMx_CRRx/TIMx_ARR)*100%

PWM頻率的計算公式為:

其中

F就是PWM輸出的頻率,單位是:HZ;

ARR就是自動重裝載寄存器(TIMx_ARR);

PSC 就是預分頻器(TIMx_PSC);

72M就是系統的頻率;

STM32 高級定時器PWM的輸出

壹路帶死區時間的互補PWM的波形圖

STM32F103VC這款單片機壹***有2個高級定時器TIM1和TIM8

這2個高級定時器都可以同時產生3路互補帶死區時間的PWM信號和壹路單獨的PWM信號,

具有剎車輸入功能,在緊急的情況下這個剎車功能可以切斷PWM信號的輸出

還具有支持針對定位的增量(正交)編碼器和霍爾傳感器電路

高級控制定時器(TIM1 和TIM8) 由壹個16位的自動裝載計數器組成,它由壹個可編程的預分頻器驅動

它適合多種用途,包含測量輸入信號的脈沖寬度( 輸入捕獲) ,或者產生輸出波形(輸出比較、PWM、嵌入死區時間的互補PWM等)。

使用定時器預分頻器和RCC時鐘控制預分頻器,可以實現脈沖寬度和波形周期從幾個微秒到幾個毫秒的調節。

高級控制定時器(TIM1 和TIM8) 和通用定時器(TIMx) 是完全獨立的,它們不***享任何資源死區時間

H橋電路為避免由於關斷延遲效應造成上下橋臂直通,有必要設置死區時間死區時間可有效地避免延遲效應所造成的壹個橋臂未完全關斷,而另壹橋臂又處於導通狀態,避免直通炸開關管。

死區時間越大,電路的工作也就越可靠,但會帶來輸出波形的失真以及降低輸出效率。死區時間小,輸出波形要好壹些,但是會降低系統的可靠性,壹般這個死區時間設置為us級元器件死區時間是不可以改變的,它主要是取決於元器件的制作工藝和材料!

原則上死區時間當然越小越好。設置死區時間的目的,其實說白了就是為了電路的安全。最佳的設置方法是:在保證安全的前提下,設置的死區時間越小越好。以不炸功率管、輸出不短路為目的。

STM32死區時間探究設置寄存器:就是剎車和死區控制寄存器(TIMx_BDTR)

  • 上一篇:iphone怎麽控制電腦
  • 下一篇:淮南住房公積金
  • copyright 2024編程學習大全網