工具/软件:Code Composer Studio
你好! 在 28377中创建单相逆变器源代码。
问题是开关频率是所需值的一半。 例如,如果我需要10kHz sw.freq, 实际上它显示为 5kHz .... 有人可以帮助我吗? 提前感谢!
代码 如下 :
#define HSPCLK 200000000.0
#define SWITCH_INV_FREQ (10000.0)
#define PWM_COUNT_INV_MAX (int)(HSPCLK/(2*SWITCH_INV_FREQ)
EPwm1Regs.TBPRD = PWM_COUNT_INV_MAX;
EPwm1Regs.TBPHS.bit.TBPHS = 0x0000;
EPwm1Regs.TBCTR = 0x0000;
EPwm1Regs.CMPA.bit.CMPA = 0x0000;
EPwm1Regs.CMPB.bit.CMPB = 0x0000;
EPwm1Regs.TBCTL.bit.CTRMODE = TB_COUNT_UPDOWN;
EPwm1Regs.TBCTL.bit.PHSEN = TB_ENABLE;
EPwm1Regs.TBCTL.bit.PRDLD = TB_SHADOW;
EPwm1Regs.TBCTL.bit.SYNCOSEL = TB_SYNC_IN;//TB_CTR_ZERO;
EPwm1Regs.TBCTL.bit.HSPCLKDIV = TB_DIV1;
EPwm1Regs.TBCTL.bit.CLKDIV = TB_DIV1;
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.AQCTLA.bit.CAD = AQ_SET;
EPwm1Regs.AQCTLA.bit.CAU = AQ_CLEAR;
EPwm1Regs.DBCTL.bit.OUT_MODE = DB_FUL_ENABLE;
EPwm1Regs.DBCTL.bit.POLSEL = DB_ACTV_HIC;
EPwm1Regs.DBRED.bit.DBRED = 0x0;
EPwm1Regs.DBFED.bit.DBFED = 0x0;