求助,请教各位大虾,有关DSP28335同频率不同相位pwm输出问题

2019-07-25 16:48发布

我想将ePWM3和ePWM4作为同频率的PWM波输出,但之前错开一个角度。寄存器配置应该没有问题,但是两个相位还是相同。在网上查找说,因为ePWM3和ePWM4不在同一个同步链。请问各位大虾,是这样的么。我在28335的资料里看到,ePWM同步链方案有三种,其中有两种这两个pwm是在同一同步链的。请问如何配置同步链方式呢
寄存器配置如下:
让EPWM3和EPWM4以相同的频率输出,只是前后相位不同,EPWM3主要设置如下(频率为100Hz)
        EPwm3Regs.TBPRD = 18750;
        EPwm3Regs.TBPHS.half.TBPHS = 0;
        EPwm3Regs.TBCTL.bit.CTRMODE = TB_COUNT_UPDOWN;
        EPwm3Regs.TBCTL.bit.PHSEN = TB_DISABLE;
        EPwm3Regs.TBCTL.bit.PRDLD = TB_SHADOW;
        EPwm3Regs.TBCTL.bit.SYNCOSEL =TB_CTR_ZERO;

        EPwm3Regs.TBCTL.bit.HSPCLKDIV = 2;
        EPwm3Regs.TBCTL.bit.CLKDIV = 2;   

        EPwm3Regs.CMPA.half.CMPA = 12500;
        EPwm3Regs.CMPB = 6250;
EPWM4的主要设置如下:
        EPwm4Regs.TBPRD = 18750;
        EPwm4Regs.TBPHS.half.TBPHS = 12500;                 
        EPwm4Regs.TBCTL.bit.CTRMODE = TB_COUNT_UPDOWN;
        EPwm4Regs.TBCTL.bit.PHSEN = TB_ENABLE;               //使能PHASE寄存器
        EPwm4Regs.TBCTL.bit.PRDLD = TB_SHADOW;
        EPwm4Regs.TBCTL.bit.SYNCOSEL = TB_SYNC_IN;

        EPwm4Regs.CMPA.half.CMPA = 12500;
        EPwm4Regs.CMPB = 6250;
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。