Stm32高級定時器(三)

Stm32高級定時器(三)

 

1 互補輸出和死區插入

1.1 死區:某個處於相對無效狀態的時間或空間

clip_image002

原本OCX信號與OCXREF時序同相同步,OCXN信號與OCXREF時序反相同步。但爲了安全考慮,以OCXREF爲參考基準,OCXN和OCX通道將理論上本該導通的時間點日後延時一下,即作從截止切換到導通狀態的延時。html

特色:安全

● OCx輸出信號與參考信號相同,只是它的上升沿相對於參考信號的上升沿有一個延遲。spa

● OCxN輸出信號與參考信號相反,只是它的上升沿相對於參考信號的降低沿有一個延遲。3d

1.2 STM32高級定時器中的死區的計算(請看底部參考文獻)

計算時,先肯定Tdts,而後結合你須要的死區時間選擇相應的計算檔位,最後肯定DTG[7:0]。假設STM32f407的TIM1工做在168M,設置Tdts=1/168 us,死區設置爲4us,通過估算該死區時間落在DTG[7:5]=111段。htm

先算得DTG[4:0]=01010B,再跟DTG[7:5]組合在一塊兒,最後算得DTG[7:0]=11101010B,即0xEA.blog

須要注意的是,死區時間的計算是分段計算的,各段的時間步長和計算方式有差異,不可隨便填寫數據。事件

1.3 STM32高級定時器配置死區參數不合適時的問題

死區時間不能比嵌入死區前的互補通道的有效脈衝還寬,不然相應通道的輸出呈無效狀態。ip

當死區時間比有效電平還長時,就沒有機會輸出有效電平了。ci

clip_image004

死區波形延遲大於負脈衝get

clip_image006

死區波形延遲大於正脈衝

2 使用剎車功能:PWM急停

經過硬件緊急終止輸出

當使用剎車功能時,依據相應的控制位(TIMx_BDTR寄存器中的MOE、OSSI和OSSR位,TIMx_CR2寄存器中的OISx和OISxN位),輸出使能信號和無效電平都會被修改。

剎車源既能夠是剎車輸入引腳又能夠是一個時鐘失敗事件。時鐘失敗事件由復位時鐘控制器中的時鐘安全系統產生。

clip_image008

上圖說明,剎車信號(BREAK[MOE])觸發時,輸出OCx與OCxN在不一樣的CCxE,CCxP,OISx,CCxNE, CCxNP, OISxN位控制下的輸出組合

3 單脈衝模式(OPM)

這種模式容許計數器響應一個激勵,並在一個程序可控的延時以後產生一個脈寬可程序控制的脈衝。

clip_image010

延時時間與脈衝寬度設置主要經過比較:定時器的計數值TIM_CNT、定時器的比較值TIM_CCRx與定時器的週期值TIM_ARR 這三個值來得出。具體以下:
比較

向上計數方式

向下計數方式

延時時間

TIM_CCRx - 0

TIM_ARR - TIM_CCRx

脈衝寬度

TIM_ARR - TIM_CCRx

TIM_CCRx - 0

4 參考文獻

[1] ST MCU定時器應用中的死區控制話題

[2] stm32之通用定時器TIM

[3] STM32高級定時器死區時間設置探究

相關文章
相關標籤/搜索