久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

【新提醒】【玩轉(zhuǎn)C2000 Launchpad】+EPWM模塊實(shí)現(xiàn)SPWM波形輸出

 義龍宸 2015-08-10
       F2802X 的EPWM 模塊內(nèi)部由8 個(gè)小模塊組成,,這8 個(gè)模塊可以相互配合,,產(chǎn)生符合要求的PWM波形,。其實(shí),但是只需要利用TB(Time—base),、CC(Counter-compare),、AQ(Action-qualifier) 這三個(gè)子模塊就能產(chǎn)生實(shí)驗(yàn)所需要的PWM 波形。
       先給初學(xué)者回顧一下SPWM:所謂SPWM,,就是在PWM 的基礎(chǔ)上改變了調(diào)制脈沖方式,,脈沖占空比在時(shí)間軸上按正弦規(guī)率排列,這樣輸出波形經(jīng)過(guò)適當(dāng)?shù)臑V波可以做到正弦波輸出,。它廣泛用于直流交流逆變器,、電機(jī)細(xì)分等。具體實(shí)現(xiàn)方法為,,用軟件計(jì)算出按正弦規(guī)律變換的值,,比如計(jì)算出64 個(gè)點(diǎn)的值,定時(shí)向CMPA 發(fā)送計(jì)算出來(lái)的變化值,,發(fā)送完64 次后,,完成了一個(gè)周期的正弦波輸出,定時(shí)發(fā)送的時(shí)間由TBPRD 決定,。那計(jì)算出來(lái)的正弦波周期為T(mén)BPRD*64,。

#include "DSP28x_Project.h"   
#define PWM1_INT_ENABLE  1   
/**Description  ** 全局變量定義*/
volatile Uint16 temp;
int16 *sin_ptr = (int16 *)0x3fe001;//
//解釋"int16 *sin_ptr = (int16 *)0x3fe001;"在 F2802X 的ROM 區(qū)域中,包含有產(chǎn)生正弦波和余弦波各512 點(diǎn)的數(shù)據(jù)表,,存儲(chǔ)空間 0X3FE000 開(kāi)始,具體的存儲(chǔ)空間可以參考它的數(shù)據(jù)手冊(cè),。
/*Description  ** 函數(shù)定義*/
void InitEPwmTimer(void);              // EPWM模塊初始化程序
void update_compare(void);             // 比較值定義
interrupt void epwm1_timer_isr(void);  // 中斷服務(wù)程序

void main(void)
{
   InitSysCtrl();                      // 系統(tǒng)初始化函數(shù)

   InitEPwm1Gpio();                    // EPWM端口初始化
   DINT;                               // 關(guān)閉CPU中斷

   InitPieCtrl();                      // PIE中斷控制
   IER = 0x0000;                       // 關(guān)閉中斷使能
   IFR = 0x0000;                       // 清除中斷標(biāo)志位

   InitPieVectTable();
   EALLOW;  
   PieVectTable.EPWM1_INT = &epwm1_timer_isr;//中斷函數(shù)入口
   EDIS;                               // 賦值中斷函數(shù)地址

   InitEPwmTimer();                    // 初始化EPWM模塊

   IER |= M_INT3;                      // 使能CPU級(jí)第三組中斷

   PieCtrlRegs.PIEIER3.bit.INTx1 = PWM1_INT_ENABLE;
                                       // 使能PIE3.1
   EINT;                                // 使能全局中斷
   ERTM;                                //

   for(;;)
   {
       asm("          NOP");
   }

}

/*EPWM模塊初始化函數(shù)*/
void InitEPwmTimer()
{

   EALLOW;
   SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC = 0;        // 停止TB計(jì)數(shù)
   EDIS;

   EPwm1Regs.TBCTL.bit.SYNCOSEL = TB_SYNC_IN;  
   EPwm1Regs.TBCTR = 0x0000;                     // 清除TB計(jì)數(shù)器
   EPwm1Regs.TBCTL.bit.HSPCLKDIV = TB_DIV1;      // 系統(tǒng)時(shí)鐘分頻
   EPwm1Regs.TBCTL.bit.CLKDIV = TB_DIV1;
   EPwm1Regs.TBCTL.bit.PHSEN = 0;
   EPwm1Regs.TBPHS.half.TBPHS = 0;
  
   EPwm1Regs.CMPCTL.bit.SHDWAMODE = CC_SHADOW;
   EPwm1Regs.CMPCTL.bit.SHDWBMODE = CC_SHADOW;
   EPwm1Regs.CMPCTL.bit.LOADAMODE = CC_CTR_ZERO;
   EPwm1Regs.CMPCTL.bit.LOADBMODE = CC_CTR_ZERO;
  
   EPwm1Regs.CMPA.half.CMPA = 0;                 //
   EPwm1Regs.AQCTLA.bit.ZRO = AQ_SET;            //
   EPwm1Regs.AQCTLA.bit.CAU = AQ_CLEAR;          //

   EPwm1Regs.TBPRD = 512;
   EPwm1Regs.TBCTL.bit.CTRMODE = TB_COUNT_UP;    // 增計(jì)數(shù)模式
   EPwm1Regs.ETSEL.bit.INTSEL = ET_CTR_ZERO;     // 中斷使能選擇
   EPwm1Regs.ETSEL.bit.INTEN = PWM1_INT_ENABLE;  // 使能中斷
   EPwm1Regs.ETPS.bit.INTPRD = ET_1ST;           //


   EALLOW;
   SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC = 1;         // TB時(shí)鐘計(jì)數(shù)
   EDIS;

}


/*sina值更新函數(shù)*/
//主要更新CPMA的值
void update_compare()
{
       temp =   (((Uint16)((*sin_ptr)+16384))>>6);
    EPwm1Regs.CMPA.half.CMPA = temp;
    if(temp > 1024)
    {
         asm("   ESTOP0");
    }  
                  
    sin_ptr += 8;
    if(sin_ptr >= (int16 *)0x3fe401)
    {
      sin_ptr = (int16 *)0x3fe001;
    }
}


/*epwm1中斷服務(wù)程序*/
//c2000的中斷函數(shù)都要用“inerrupt”申明
interrupt void epwm1_timer_isr(void)
{
   update_compare();
   EPwm1Regs.ETCLR.bit.INT = 1;
   PieCtrlRegs.PIEACK.all = PIEACK_GROUP3;
}

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多