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

epwm的同步信号

想利用epwm3作为epwm3、4、5、6的同步信号源,配置如下,但是同步不了。

同步的配置方式:

EPwm3Regs.TBCTL.bit.PHSEN = TB_DISABLE;        // Disable phase loading

EPwm3Regs.TBCTL.bit.SYNCOSEL=TB_CTR_ZERO;//选择CTR=Zero产生同步信号

EPwm4Regs.TBCTL.bit.PHSEN = TB_ENABLE;        // enable phase loading

EPwm4Regs.TBCTL.bit.SYNCOSEL=TB_SYNC_IN;//选择EPWMxSYNCI产生同步信号

EPwm5Regs.TBCTL.bit.PHSEN = TB_ENABLE; // Disable phase loading
EPwm5Regs.TBCTL.bit.SYNCOSEL=TB_SYNC_IN;//选择EPWMxSYNCI产生同步信号

EPwm6Regs.TBCTL.bit.PHSEN = TB_ENABLE;        // Disable phase loading

EPwm6Regs.TBCTL.bit.SYNCOSEL=TB_SYNC_IN;//选择EPWMxSYNCI产生同步信号

然后在EPwm3的CTR=Zero时产生中断,并在中断中配置

EPwm5Regs.TBPHS.half.TBPHS = 400;

EPwm6Regs.TBPHS.half.TBPHS = 400;

不过无法产生相位差。(若在中断最后加入EPwm4Regs.TBCTL.bit.SWFSYNC=1;也即是软件强制同步则能产生相位差)

还有EPwm4Regs.TBCTL.bit.SWFSYNC=1软件强制同步信号要一直给吗?意思是这条语句的后面还要写入EPwm4Regs.TBCTL.bit.SWFSYNC=0吗?

不知道为什么?谢谢

Johnson Chen1:

有没有检查过PWM寄存器是否配置成功?另外EPWM3的CTR=Zero中断是否能正常进入?有试过在初始化时配置TBPHS.half.TBPHS= 400能产生相位差吗?

想利用epwm3作为epwm3、4、5、6的同步信号源,配置如下,但是同步不了。

同步的配置方式:

EPwm3Regs.TBCTL.bit.PHSEN = TB_DISABLE;        // Disable phase loading

EPwm3Regs.TBCTL.bit.SYNCOSEL=TB_CTR_ZERO;//选择CTR=Zero产生同步信号

EPwm4Regs.TBCTL.bit.PHSEN = TB_ENABLE;        // enable phase loading

EPwm4Regs.TBCTL.bit.SYNCOSEL=TB_SYNC_IN;//选择EPWMxSYNCI产生同步信号

EPwm5Regs.TBCTL.bit.PHSEN = TB_ENABLE; // Disable phase loading
EPwm5Regs.TBCTL.bit.SYNCOSEL=TB_SYNC_IN;//选择EPWMxSYNCI产生同步信号

EPwm6Regs.TBCTL.bit.PHSEN = TB_ENABLE;        // Disable phase loading

EPwm6Regs.TBCTL.bit.SYNCOSEL=TB_SYNC_IN;//选择EPWMxSYNCI产生同步信号

然后在EPwm3的CTR=Zero时产生中断,并在中断中配置

EPwm5Regs.TBPHS.half.TBPHS = 400;

EPwm6Regs.TBPHS.half.TBPHS = 400;

不过无法产生相位差。(若在中断最后加入EPwm4Regs.TBCTL.bit.SWFSYNC=1;也即是软件强制同步则能产生相位差)

还有EPwm4Regs.TBCTL.bit.SWFSYNC=1软件强制同步信号要一直给吗?意思是这条语句的后面还要写入EPwm4Regs.TBCTL.bit.SWFSYNC=0吗?

不知道为什么?谢谢

feng shi:

回复 Johnson Chen1:

谢谢您的回答,您说的这几点我都已经试过了,都是可以的。我现在把EPWM模块换成EPWM1,2,3,4就可以了。不知EPWM3,4,5,6这样的组合为什么不可以。

赞(0)
未经允许不得转载:TI中文支持网 » epwm的同步信号
分享到: 更多 (0)