Stm32高級定時器(三)


Stm32高級定時器(三)

 

1 互補輸出和死區插入

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

clip_image002

本來OCX信號與OCXREF時序同相同步,OCXN信號與OCXREF時序反相同步。但為了安全考慮,以OCXREF為參考基准,OCXN和OCX通道將理論上本該導通的時間點往后延時一下,即做從截止切換到導通狀態的延時。

特點:

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

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

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

計算時,先確定Tdts,然后結合你需要的死區時間選擇相應的計算檔位,最后確定DTG[7:0]。假設STM32f407的TIM1工作在168M,設置Tdts=1/168 us,死區設置為4us,經過估算該死區時間落在DTG[7:5]=111段。

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

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

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

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

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

clip_image004

死區波形延遲大於負脈沖

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高級定時器死區時間設置探究


免責聲明!

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



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