死區(qū)時間計算方式詳解
配置PWM互補輸出的死區(qū)時間,本質(zhì)上就是在配置TIM1高級控制定時器的剎車和死區(qū)寄存器(TIMx_BDTR)中的DTG[7:0](死區(qū)發(fā)生器設(shè)置)部分。
在WB32參考手冊中找到該部分:
先介紹一下公式中的各個變量代表的含義:
1)DT:死區(qū)持續(xù)時間(DT=步長值×步長時間)。
2)T-DTS:系統(tǒng)時鐘周期時長。
例:WB32F103CBT6的系統(tǒng)時鐘頻率為72M,則T-DTS = 1/72M = 13.89ns
3)Tdtg:步長時間,等于系統(tǒng)時鐘周期時長乘以倍數(shù),這個值用于計算最終死區(qū)時間。
4)DTG[7 : 5] = 0xx,DTG[7 : 5] = 10x,DTG[7 : 5] = 110,DTG[7 : 5] = 111。這四個部分分別對應(yīng)四種死區(qū)時間計算方式。
可以簡單理解為將DTG[7 : 0]這8位分為兩部分,一部分決定步長值(二進(jìn)制),另一部分決定與步長時間相乘的系數(shù)。
仔細(xì)閱讀死區(qū)時間計算表:
請注意:
DTG[7 : 5] = 0xx和DTG[7 : 5] = 10x中是含有x的,x部分并不參與決定步長值,但含x部分可和DTG剩余部分一起決定與步長值相乘的系數(shù)部分。
結(jié)合圖11-1中公式,當(dāng)DTG[7 : 5] = 10x時,其步長值(二進(jìn)制)為10,步長時間Tdtg等于系統(tǒng)時鐘周期時長的兩倍,對應(yīng)計算公式DT = (64 + DTG[5 : 0])×Tdtg,Tdtg = 2×T-DTS。
DTG[5 : 0]的取值范圍為“00 0000(二進(jìn)制)”到“11 1111(二進(jìn)制)”,換算成十進(jìn)制,則DTG[5 : 0]可取值范圍為“0-63”。
即時鐘頻率72M,DTG[7 : 5] = 10x時:
最小死區(qū)時間DT=(64+0)Tdtg=64(2T-DTS)=64213.89=1778ns
最大死區(qū)時間DT=(64+63)Tdtg=127(2T-DTS)=127213.89=3528ns
死區(qū)時間結(jié)構(gòu)體成員參數(shù)值計算
上述過程講解了死區(qū)時間的計算方法,但我們在代碼編寫時該如何傳值呢?
例如現(xiàn)在需要2us(2000ns)的死區(qū)時間,依據(jù)上述表格應(yīng)選方式3計算:2000 = (64+DTG[5 : 0]) Tdtg = (64+x) * 2 13.89 ns
解出DTG[5 : 0]為8,換算為二進(jìn)制“0b1000”。
則DTG[7 : 0]=0b10001000=0x88
〈烜芯微/XXW〉專業(yè)制造二極管,三極管,MOS管,橋堆等,20年,工廠直銷省20%,上萬家電路電器生產(chǎn)企業(yè)選用,專業(yè)的工程師幫您穩(wěn)定好每一批產(chǎn)品,如果您有遇到什么需要幫助解決的,可以直接聯(lián)系下方的聯(lián)系號碼或加QQ/微信,由我們的銷售經(jīng)理給您精準(zhǔn)的報價以及產(chǎn)品介紹
聯(lián)系號碼:18923864027(同微信)
QQ:709211280