我产生了两路一模一样spwm,想让第一路spwm先送出,然后过半个spwm周期的时间,再输出第二路spwm,那该怎么配置啊
mangui zhang:
你的正弦表是怎么弄的
如果是正弦表 你应该从数据中看出哪里是180度的数据啊
然后两路开始取数的位置相差180度就可以了
我产生了两路一模一样spwm,想让第一路spwm先送出,然后过半个spwm周期的时间,再输出第二路spwm,那该怎么配置啊
CHENG LIANG:
TBPHS,在 Technical Reference Manual 里搜一下这个寄存器,控制PWM移相的。
我产生了两路一模一样spwm,想让第一路spwm先送出,然后过半个spwm周期的时间,再输出第二路spwm,那该怎么配置啊
lin wen:
回复 CHENG LIANG:
我这样配置
EPwm1Regs.TBCTL.bit.PHSEN = TB_ENABLE;
EPwm1Regs.TBPHS.half.TBPHS = 0;
EPwm2Regs.TBCTL.bit.PHSEN = TB_ENABLE ;
EPwm2Regs.TBPHS.half.TBPHS =100;
但是两路输出还是一模一样,是不是哪里还要配置啊
我产生了两路一模一样spwm,想让第一路spwm先送出,然后过半个spwm周期的时间,再输出第二路spwm,那该怎么配置啊
CHENG LIANG:
回复 lin wen:
SYNCOSEL可配了?
EPwm1Regs.TBCTL.all = 0x2010; // FREE,SOFT=0,PHSDIR=1,SYNCOSEL=1,PHSEN=0,CTRMODE=0EPwm2Regs.TBCTL.all = 0x2004; // FREE,SOFT=0,PHSDIR=1,SYNCOSEL=0,PHSEN=1,CTRMODE=0