This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

如何控制EPWM的输出与关断

Other Parts Discussed in Thread: TMS320F28023, CONTROLSUITE

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

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

    -------------------------

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

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

    ---------------------

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

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

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

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

    ERIC

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

  • Jin

    你导入一个TI的例程:

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

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

    ERIC

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

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