28035使用ePWM2的A,B输出互补的50hz的信号?为什么在他们在高低点频翻转的时候没有互补?占空比也不对?我的配置是这样那个的
EPwm2Regs.TBPRD = 750;
EPwm2Regs.CMPA.half.CMPA = 0;
EPwm2Regs.CMPB = 0;
EPwm2Regs.TBPHS.half.TBPHS = 0;
EPwm2Regs.TBCTR = 0x0000;
EPwm2Regs.TBCTL.bit.CTRMODE = 2; // up-down
EPwm2Regs.TBCTL.bit.PHSEN = 0;
EPwm2Regs.TBCTL.bit.PRDLD = 0;
EPwm2Regs.TBCTL.bit.SYNCOSEL = 1;
EPwm2Regs.TBCTL.bit.HSPCLKDIV = 0;
EPwm2Regs.CMPCTL.bit.SHDWAMODE = 0;
EPwm2Regs.CMPCTL.bit.SHDWBMODE = 0;
EPwm2Regs.CMPCTL.bit.LOADAMODE = 0;
EPwm2Regs.CMPCTL.bit.LOADBMODE = 0;
EPwm2Regs.AQCTLA.bit.CAU = 1;
EPwm2Regs.AQCTLA.bit.CAD = 2;
EPwm2Regs.AQCTLA.bit.PRD = 0;
EPwm2Regs.AQCTLA.bit.ZRO = 2;//只有2可以将工频的两个管子都城互补,其余不行
EPwm2Regs.AQCTLB.bit.CBU = 1;
EPwm2Regs.AQCTLB.bit.CBD = 2;
EPwm2Regs.AQCTLB.bit.PRD = 0;
EPwm2Regs.AQCTLB.bit.ZRO = 2;
EPwm2Regs.DBCTL.bit.OUT_MODE = 0;
是这样进行判断的:
if(PLL_DIRF == 1
{
EPwm2Regs.CMPA.half.CMPA = 750;
EPwm2Regs.CMPB = 0;
}
if(PLL_DIRZ == 1 )
{
EPwm2Regs.CMPA.half.CMPA = 0;
EPwm2Regs.CMPB = 750;
}
当我设置
EPwm2Regs.AQCTLA.bit.ZRO = 1;
EPwm2Regs.AQCTLB.bit.ZRO = 1;
的时候:
但是
EPwm2Regs.AQCTLA.bit.ZRO = 2;
EPwm2Regs.AQCTLB.bit.ZRO = 2;
就像
这个应该不会影响什么的吧?思考了一天都没有什么头绪!谢谢大家的指点!

