DSP28335EPWM配置_第1頁(yè)
DSP28335EPWM配置_第2頁(yè)
DSP28335EPWM配置_第3頁(yè)
DSP28335EPWM配置_第4頁(yè)
DSP28335EPWM配置_第5頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、EPWM配置GPIO配置GpioCtrlRegs.GPADIR.bit.GPIO0 = 1;GpioCtrlRegs.GPAMUX1.bit.GPIO0 = 1;關(guān)閉所有epwm基準(zhǔn)時(shí)鐘EALLOW;SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC = 0;EDIS;1 配置TBl 時(shí)間基準(zhǔn)狀態(tài)寄存器EPwm4Regs.TBSTS.all=0l 相位寄存當(dāng)檢測(cè)到同步輸入脈沖時(shí),相位寄存器的值裝載到計(jì)數(shù)寄存器EPwm4Regs.TBPHS.half.TBPHS=0;l 時(shí)間基準(zhǔn)計(jì)數(shù)器清零,即清除計(jì)數(shù)器,TBCTR相當(dāng)于計(jì)數(shù)器EPwm4Regs.TBCTR=0;l 周期寄存器,設(shè)

2、置PWM周期EPwm4Regs.TBPRD=SP;l 時(shí)間基準(zhǔn)控制寄存器1.計(jì)時(shí)器計(jì)數(shù)模式EPwm1Regs.TBCTL.bit.CTRMODE = TB_COUNT_UP; 2.相位裝載模式EPwm1Regs.TBCTL.bit.PHSEN = TB_DISABLE; 3.周期寄存器的映射寄存器加載條件EPwm1Regs.TBCTL.bit.PRDLD = TB_SHADOW;4.EPWMxSYNCO信號(hào)源選擇EPwm1Regs.TBCTL.bit.SYNCOSEL = TB_SYNC_DISABLE;5.時(shí)鐘分頻:TBCLK=SYSCLKOUT/(2*HSPCLKDIV)(2CLKDIV)

3、EPwm1Regs.TBCTL.bit.HSPCLKDIV = TB_DIV1;EPwm1Regs.TBCTL.bit.CLKDIV = TB_DIV1;2 配置CCl 比較控制寄存器1.CMPA/B影子寄存器的加載模式EPwm1Regs.CMPCTL.bit.SHDWAMODE = CC_SHADOW;EPwm1Regs.CMPCTL.bit.SHDWBMODE = CC_SHADOW;2.在選定映射模式下,選擇加載方式EPwm1Regs.CMPCTL.bit.LOADAMODE = CC_CTR_ZERO;EPwm1Regs.CMPCTL.bit.LOADBMODE = CC_CTR_ZE

4、RO;l 比較寄存器A/B,改變可改變比較點(diǎn),調(diào)整輸出占空比EPwm4Regs.CMPA.half.CMPA =400;EPwm4Regs.CMPB=0;3 配置AQl 輸出比較方式,控制發(fā)生比較事件前后EPWM的電平例:EPwm4Regs.AQCTLA.all=0x60; EPwm4Regs.AQCTLA.PRD/CAU/CBU/CAD/CBD/ZRO=AQ_CLEAR/SET;l 軟件強(qiáng)制控制EPwm4Regs.AQSFRC.all=0;EPwm4Regs.AQCSFRC.all=0;4 死區(qū)DBl 死區(qū)控制EPwm4Regs.DBCTL.all=0xb;l 上升/下降沿延遲DBRED/D

5、BFED,9-0共10位EPwm4Regs.DBRED=0;/上升沿延時(shí)=0EPwm4Regs.DBFED=0;/下降沿延時(shí)=05 故障TZEALLOW; EPwm1Regs.TZCTL.bit.TZA = TZ_FORCE_HI;/00高阻 EPwm1Regs.TZCTL.bit.TZB = TZ_FORCE_HI; EPwm1Regs.TZFRC.bit.OST = 1;/強(qiáng)制生成一次性錯(cuò)誤事件并設(shè)定TZFLGOST位 EDIS;6 斬波7 事件觸發(fā)ETl 事件觸發(fā)選擇,選擇中斷、ADC在什么時(shí)候觸發(fā);SOCA、SOCB脈沖生成EPwm4Regs.ETSEL.all=0; 打開所有epwm

6、基準(zhǔn)時(shí)鐘EALLOW;SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC = 0;EDIS;EPWM中斷設(shè)置l 中斷入口地址EALLOW; / This is needed to write to EALLOW protected registers PieVectTable.EPWM1_INT = &epwm1_timer_isr;EDIS;l 初始化EPWM1、關(guān)閉所有epwm基準(zhǔn)時(shí)鐘(接下來(lái)要配置參數(shù)了) EALLOW; SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC = 0; / Stop all the TB clocks EDIS;2、選擇EPW

7、MxSYNCO信號(hào)源 00 EPWMxSYNCEPwm1Regs.TBCTL.bit.SYNCOSEL = TB_SYNC_IN;3、當(dāng)EPWMxSYNCI輸入信號(hào)產(chǎn)生,將TBPHS加到TBCTREPwm1Regs.TBCTL.bit.PHSEN = TB_ENABLE;4、相位寄存器EPwm1Regs.TBPHS.half.TBPHS = 100;5、周期、計(jì)數(shù)模式 EPwm1Regs.TBPRD = PWM1_TIMER_TBPRD; EPwm1Regs.TBCTL.bit.CTRMODE = TB_COUNT_UP; / Count up5、中斷觸發(fā)配置 EPwm1Regs.ETSEL.

8、bit.INTSEL = ET_CTR_ZERO; / Select INT on Zero event EPwm1Regs.ETSEL.bit.INTEN = PWM1_INT_ENABLE; / Enable INT EPwm1Regs.ETPS.bit.INTPRD = ET_1ST; / Generate INT on 1st event6、開epwm基準(zhǔn)時(shí)鐘 EALLOW; SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC = 1; EDIS;l 開CPU中斷IER |= M_INT3;PieCtrlRegs.PIEIER3.bit.INTx1 = PWM1_INT

9、_ENABLE;EINT; / Enable Global interrupt INTMERTM;中斷服務(wù)函數(shù)interrupt void epwm1_timer_isr(void) EPwm1TimerIntCount+; EPwm1Regs.ETCLR.bit.INT = 1; PieCtrlRegs.PIEACK.all = PIEACK_GROUP3;PWM初始化例子/PWM初始化/這些定義的數(shù)據(jù)都在IncludeDSP2833x_EPwm_defines.h里void Init_PWM1() EPwm1Regs.TBPRD = PrdCnst;/設(shè)置TB周期 EPwm1Regs.TB

10、PHS.half.TBPHS = 0x0;/同步事件發(fā)生,此值加載到CTR EPwm1Regs.TBCTR = 0x0000; EPwm1Regs.CMPA.half.CMPA = Cnst;/CMPA初始化 EPwm1Regs.CMPB = Cnst; /控制信號(hào)選擇 EPwm1Regs.TBCTL.bit.CTRMODE = TB_COUNT_UPDOWN;/增減模式 EPwm1Regs.TBCTL.bit.PHSEN = 1;/同步使能 本程序中通過(guò)SWFSYNC軟件強(qiáng)制同步; /時(shí)鐘同步輸入/出信號(hào)僅由EPWM1引腳產(chǎn)生 EPwm1Regs.TBCTL.bit.PRDLD = TB_S

11、HADOW;/0 TBPRD當(dāng)TBCTR=0時(shí),其從映射寄存加載 EPwm1Regs.TBCTL.bit.SYNCOSEL = 0x0;/EPWMxSYNC /TBCLK=SYSCLK/(2*HSPCLKDIV * 2CLKDIV) EPwm1Regs.TBCTL.bit.HSPCLKDIV = 0x0;/時(shí)鐘設(shè)置TBCLK EPwm1Regs.TBCTL.bit.CLKDIV = TB_DIV1; EPwm1Regs.TBCTL.bit.PHSDIR = 1;/同步后計(jì)數(shù)器遞增計(jì)數(shù) /CC設(shè)置,產(chǎn)生計(jì)數(shù)器匹配信號(hào),比較操作使能shadow模式 EPwm1Regs.CMPCTL.bit.SHD

12、WAMODE = CC_SHADOW;/0 EPwm1Regs.CMPCTL.bit.SHDWBMODE = CC_SHADOW; /當(dāng)CTR=0/PRD時(shí),加載shadow的值并生效 /這個(gè)的作用是在CMPA/B發(fā)生變化時(shí)加載新的值的時(shí)間點(diǎn) EPwm1Regs.CMPCTL.bit.LOADAMODE = CC_CTR_ZERO;/0x0 EPwm1Regs.CMPCTL.bit.LOADBMODE = CC_CTR_ZERO; /AQ設(shè)置,EPWM_A B產(chǎn)生互補(bǔ)的信號(hào) EPwm1Regs.AQCTLA.bit.CAU = AQ_CLEAR; /CTR=A且上升的時(shí)候PWM輸出1EPwm1

13、Regs.AQCTLA.bit.CAD = AQ_SET; /CTR=A且下降的時(shí)候PWM輸出0EPwm1Regs.AQCTLB.bit.CBU = AQ_SET;EPwm1Regs.AQCTLB.bit.CBD = AQ_CLEAR; /DB設(shè)置,A上升沿延時(shí)不取反 B下降沿延時(shí)取反 EPwm1Regs.DBCTL.bit.IN_MODE = 0x2;/A上升沿延時(shí) B下降沿延時(shí) EPwm1Regs.DBCTL.bit.POLSEL = 0x2;/A不取反 B取反 EPwm1Regs.DBCTL.bit.OUT_MODE = 0x2;/AB全部用加了延時(shí)的輸出 EPwm1Regs.DBFED = FED_Cnst;/上升沿死區(qū)時(shí)間 FED=DBFED*TBCLK EPwm1Regs.DBRED = RED_Cnst;/下降沿死區(qū)時(shí)間 /* /TZ模塊,外部發(fā)生錯(cuò)誤時(shí),即TZn有輸入時(shí),PWMA/PWMB輸出強(qiáng)制為高阻 /外部發(fā)生錯(cuò)誤時(shí),即TZn有輸入時(shí),執(zhí)行一

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論