TI中文支持网
TI专业的中文技术问题搜集分享网站

TMS320F28034: TMS320F28034产生PWM波形

Part Number:TMS320F28034

使用TMS320F28034 EPWM3A,EPWM3B产生两路独立的PWM驱动,

两路驱动的装载方式为:

EPwm3Regs.CMPCTL.bit.SHDWAMODE = CC_SHADOW;
EPwm3Regs.CMPCTL.bit.SHDWBMODE =  CC_SHADOW;
EPwm3Regs.CMPCTL.bit.LOADAMODE = CC_CTR_ZERO; 
EPwm3Regs.CMPCTL.bit.LOADBMODE = CC_CTR_ZERO;

然后我在程序中任意时刻赋值,如下所示

EPwm3Regs.CMPA.half.CMPA =100;
EPwm3Regs.CMPB=500;

怎样才能保证EPWM3A,EPWM3B能同时装载并更新驱动波形,

因为当程序运行完了这条指令EPwm3Regs.CMPA.half.CMPA =100;就完成装载的话,那就只更新EPWM3A,EPWM3B还是上一次的值,要等下一个装载周期才会更新。

Green Deng:

你好,我看你两个比较器都是影子模式的?那为什么会出现“只更新EPWM3A,EPWM3B还是上一次的值”的情况?

,

user4663171:

你好,如果程序运行完EPwm3Regs.CMPA.half.CMPA =100;就装载到影子寄存器了,并且这时候就产生更新,后面这句还没来得及运行,那不是就更新了A寄存器的值,B寄存器就没有更新?

,

Green Deng:

装载到影子寄存器之后就是会到下一个周期才更新CMPA的值,也就是CMPA、CMPB都是在下个周期才会更新的。

,

user4663171:

好的,谢谢

赞(0)
未经允许不得转载:TI中文支持网 » TMS320F28034: TMS320F28034产生PWM波形
分享到: 更多 (0)