TMS320F28035使用學(xué)習(xí)系列分享(十一)ePWM——PWM互補(bǔ)發(fā)波配置
1.簡述
????????本篇是對TMS320F28035 ePWM發(fā)波配置及使用的總結(jié),針對相關(guān)文件函數(shù)進(jìn)行調(diào)用與配置。?
2.中斷設(shè)置
????? ? 相關(guān)文件
????????DSP2803x_Gpio.h
????????DSP2803x_PieCtrl.h
????????做發(fā)波設(shè)置時(shí)部分關(guān)鍵步驟與ePWM定時(shí)器配置相仿,相同處理步驟具體介紹參照專欄十。
????????相關(guān)寄存器:
? ? ? ? 時(shí)基模塊(TB):控制時(shí)序。
? ? ? ? 計(jì)數(shù)比較模塊(CC):配置比較功能,產(chǎn)生比較事件,生成占空比。
????????動(dòng)作模塊(AQ):配置脈沖動(dòng)作方式。
????????死區(qū)模塊(DB):配置死區(qū)防止兩個(gè)或多個(gè)開關(guān)管直通。
? ? ? ? 事件觸發(fā)模塊(ET):配置事件,得到事件次數(shù),觸發(fā)中斷及各類功能。
????????其中設(shè)置發(fā)波方式為關(guān)鍵操作,一般AQ模塊設(shè)置發(fā)波電平邏輯,DB模塊設(shè)置死區(qū)兼同異步發(fā)波方式。
????????在AQ下有:
????????動(dòng)作控制寄存器CTLA、CTLB
????????動(dòng)作軟件強(qiáng)制寄存器SFRC
????? ? 動(dòng)作連續(xù)軟件強(qiáng)制寄存器?CSFRC
????????其中較為重要的是CTLA、CTLB寄存器,分別控制PWMA和PWMB的電平邏輯,兩部分的功能一致,分別為CBD、CBU、CAD、CAU、PRD、ZRO。
????????CBD:CMPB向下計(jì)數(shù)觸發(fā)
????????CBU:CMPB向上計(jì)數(shù)觸發(fā)
????????CAD:CMPA向下計(jì)數(shù)觸發(fā)
????????CAU:CMPA向上計(jì)數(shù)觸發(fā)
????????PRD:計(jì)數(shù)值等于周期觸發(fā)
????????ZRO:計(jì)數(shù)值等于零值觸發(fā)
????????寫入方式為00、01、10、11,分別對應(yīng)不動(dòng)作、清零、置一和翻轉(zhuǎn)四種邏輯。
????????在DB下有:
????????死區(qū)控制寄存器CTL
????????死區(qū)上升沿延時(shí)寄存器RED
????????死區(qū)下降沿延時(shí)寄存器REF
????????CTL寄存器功能有HALFCYCLE、IN_MODE、POSEL、OUT_MODE。
????????HALFCYCLE:半周期時(shí)鐘使能位,0為全周期時(shí)鐘(TB,即TBCLK),1為半周期時(shí)鐘(TB/2,即TBCLK*2),默認(rèn)為0,不用時(shí)不做設(shè)置。
????????IN_MODE:死區(qū)模塊輸入控制
????????00:PWMA雙邊沿延時(shí)輸入
????????01:PWMA上升沿延時(shí)輸入,PWMB下降沿延時(shí)輸入
????????10:PWMA下降沿延時(shí)輸入,PWMB上升沿延時(shí)輸入
????????11:PWMB雙邊沿延時(shí)輸入
????????POSEL:極性控制
????????00:無翻轉(zhuǎn)動(dòng)作
????????01:PWMA翻轉(zhuǎn)
????? ? 10:PWMB翻轉(zhuǎn)
????????11:全翻轉(zhuǎn)
????????OUT_MODE:死區(qū)模塊輸出控制
????????00:ePWM不經(jīng)過死區(qū),直接傳遞信號(hào)
????????01:使能下降沿延時(shí)
????????10:使能上升沿延時(shí)
????????11:使能雙邊沿延時(shí)
????????RED與FED為10位寄存器,用以設(shè)置死區(qū)時(shí)間。
????????本篇以互補(bǔ)發(fā)波設(shè)置為例,占空比大小與PWMA輸出一致,PWMA與PWMB輸出互補(bǔ),同時(shí)設(shè)置死區(qū),保證一方導(dǎo)通瞬間另一方不會(huì)立刻導(dǎo)通。根據(jù)其邏輯,計(jì)數(shù)為零時(shí)PWMA電平應(yīng)上升,到達(dá)比較值時(shí)應(yīng)下降,要求PWMB只根據(jù)A翻轉(zhuǎn)即可,因此AQ模塊可設(shè):ZRO=10,CAU=01或11;DB模塊可設(shè)IN_MODE=00,POSEL=10,OUT_MODE=11,死區(qū)根據(jù)周期TB進(jìn)行相應(yīng)設(shè)置。
3.基本配置總結(jié)(ePWM2 100kHz帶死區(qū)互補(bǔ)發(fā)波)
????????互補(bǔ)發(fā)波常用于各類交直流橋式電路的PWM調(diào)制中,其要求上下橋臂不能直通,因此需要設(shè)置死區(qū)以避免之。
(1)打開對應(yīng)外設(shè)時(shí)鐘
(2)IO功能配置
(3)中斷功能設(shè)置
TB模塊
CC模塊
AQ模塊
DB模塊
ET模塊
(4)使能時(shí)基計(jì)數(shù)時(shí)鐘
(5)開啟總中斷,使能調(diào)試事件?
(6)創(chuàng)建占空比設(shè)置函數(shù)
(7)調(diào)用占空比設(shè)置函數(shù)
4.實(shí)驗(yàn)結(jié)果驗(yàn)證
????????設(shè)置tbprd=600,占空比為duty=0.2,在示波器上觀察波形如圖11-1、11-2、11-3所示。其中綠色波形為PWM2A,紫色波形為PWM2B,整體周期為10μs,即100kHz,對應(yīng)tbprd=600;單周期內(nèi)PWM2A作用時(shí)間+死區(qū)時(shí)間為2μs,死區(qū)時(shí)間為400ns,當(dāng)AB任意通道為高電平時(shí)另外一個(gè)必為低電平。


