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

如何控制EPWM的输出与关断

最近在学习TMS320F28023,用EPWM模块输出三路相位差为120的互补PWM,在配置的时候最开始先使能EPWM时钟,接下来配置EPWM各个子模块,但是如果一开始除能了EPWM时钟,接下来无法配置EPWM,无论如何配置EPWM各个寄存器的值都是初始值,如果在配置EPWM之前使能EPWM的时钟,就可以配置EPWM各个寄存器,并且能后产生正确的波形,是在配置EPWM之前必须使能相应的时钟么?在程序运行过程中,我需要关闭或者开启PWM输出,关闭和开启EPWM可以通过关闭和开启EPWM对应的时钟来实现么(只要除能了EPWM的时钟,EPWM所有寄存器的配置都变成了初始值了),该如何在程序运行过程中关闭和开启PWM呢。

mao peng:

1,在配置的时候最开始先使能EPWM时钟,接下来配置EPWM各个子模块,但是如果一开始除能了EPWM时钟,接下来无法配置EPWM,无论如何配置EPWM各个寄存器的值都是初始值,如果在配置EPWM之前使能EPWM的时钟,就可以配置EPWM各个寄存器,并且能后产生正确的波形,是在配置EPWM之前必须使能相应的时钟么?

————————-

参考TI的controlsuit 例程里面关于PWM的配置。应该是先关闭时钟,再配置,再开始终

2,在程序运行过程中,我需要关闭或者开启PWM输出,关闭和开启EPWM可以通过关闭和开启EPWM对应的时钟来实现么(只要除能了EPWM的时钟,EPWM所有寄存器的配置都变成了初始值了),该如何在程序运行过程中关闭和开启PWM呢。

———————

不要通过关闭时钟老开启或者关闭PWM输出。有连续强制动作寄存器,可以强制EPWMX输出高或者低。

最近在学习TMS320F28023,用EPWM模块输出三路相位差为120的互补PWM,在配置的时候最开始先使能EPWM时钟,接下来配置EPWM各个子模块,但是如果一开始除能了EPWM时钟,接下来无法配置EPWM,无论如何配置EPWM各个寄存器的值都是初始值,如果在配置EPWM之前使能EPWM的时钟,就可以配置EPWM各个寄存器,并且能后产生正确的波形,是在配置EPWM之前必须使能相应的时钟么?在程序运行过程中,我需要关闭或者开启PWM输出,关闭和开启EPWM可以通过关闭和开启EPWM对应的时钟来实现么(只要除能了EPWM的时钟,EPWM所有寄存器的配置都变成了初始值了),该如何在程序运行过程中关闭和开启PWM呢。

Eric Ma:

回复 mao peng:

TI的例程里面也有用到通过TZ 功能,来讲PWM关断或是开通。

即使能PWM的TZ 功能,让芯片在接收到TZ信号后,就拉低所有的PWM。清除掉TZ信号后,PWM恢复。

这样通过对TZ寄存器的SW force设置,可以软件触发TZ 事件拉低PWM,即关断。而通过对TZFLG寄存器清零后,PWM又使能了。

ERIC

最近在学习TMS320F28023,用EPWM模块输出三路相位差为120的互补PWM,在配置的时候最开始先使能EPWM时钟,接下来配置EPWM各个子模块,但是如果一开始除能了EPWM时钟,接下来无法配置EPWM,无论如何配置EPWM各个寄存器的值都是初始值,如果在配置EPWM之前使能EPWM的时钟,就可以配置EPWM各个寄存器,并且能后产生正确的波形,是在配置EPWM之前必须使能相应的时钟么?在程序运行过程中,我需要关闭或者开启PWM输出,关闭和开启EPWM可以通过关闭和开启EPWM对应的时钟来实现么(只要除能了EPWM的时钟,EPWM所有寄存器的配置都变成了初始值了),该如何在程序运行过程中关闭和开启PWM呢。

jin zhou1:

回复 Eric Ma:

按照您说的我改好了,还有一个问题想请教您一下,在仿真的时候,在程序中设置断点,当程序执行到断点的时候PWM会停止输出,是什么原因呢,有什么方法解决呢。

最近在学习TMS320F28023,用EPWM模块输出三路相位差为120的互补PWM,在配置的时候最开始先使能EPWM时钟,接下来配置EPWM各个子模块,但是如果一开始除能了EPWM时钟,接下来无法配置EPWM,无论如何配置EPWM各个寄存器的值都是初始值,如果在配置EPWM之前使能EPWM的时钟,就可以配置EPWM各个寄存器,并且能后产生正确的波形,是在配置EPWM之前必须使能相应的时钟么?在程序运行过程中,我需要关闭或者开启PWM输出,关闭和开启EPWM可以通过关闭和开启EPWM对应的时钟来实现么(只要除能了EPWM的时钟,EPWM所有寄存器的配置都变成了初始值了),该如何在程序运行过程中关闭和开启PWM呢。

Eric Ma:

回复 jin zhou1:

Jin

你导入一个TI的例程:

C:\ti\controlSUITE\device_support\f2803x\v130\DSP2803x_examples_ccsv5\epwm_updown_aq

里面有寄存器设置当仿真器干预的时候, PWM怎么应对。

ERIC

最近在学习TMS320F28023,用EPWM模块输出三路相位差为120的互补PWM,在配置的时候最开始先使能EPWM时钟,接下来配置EPWM各个子模块,但是如果一开始除能了EPWM时钟,接下来无法配置EPWM,无论如何配置EPWM各个寄存器的值都是初始值,如果在配置EPWM之前使能EPWM的时钟,就可以配置EPWM各个寄存器,并且能后产生正确的波形,是在配置EPWM之前必须使能相应的时钟么?在程序运行过程中,我需要关闭或者开启PWM输出,关闭和开启EPWM可以通过关闭和开启EPWM对应的时钟来实现么(只要除能了EPWM的时钟,EPWM所有寄存器的配置都变成了初始值了),该如何在程序运行过程中关闭和开启PWM呢。

mao peng:

回复 jin zhou1:

这个仿真模式时,寄存器的动作有关,可以参考相关的寄存器。

断电调试PWM本身就不合理。

赞(0)
未经允许不得转载:TI中文支持网 » 如何控制EPWM的输出与关断
分享到: 更多 (0)