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.

TMS320F28335: 如何强制epwm模块输出高低电平

Part Number: TMS320F28335


这边想要强制其中一个epwm输出单一电平,其中要求A口置高,B口置低。但在配置寄存器的过程中,发现B口的置高置低是可以实现的,但A口无论怎么配置始终为低电平输出。

已经试过通过配置AQ功能的连续软件强制事件(AQCSFRC)寄存器控制,也试过通过调节CMPA进行调试,均无法配置A口输出,想请教一下是什么原因?是否是因为A口输出存在保护?

  • 你好,不知道你的AQ模块是如何配置的,但是在PWM的输出流程中,由于AQ模块后面还有3个模块(DB、PC、TZ)可能会影响最终的PWM输出,所以如果只是要让A/B输出单一电平的话最好还是用TZ模块来完成会比较可靠。

  • 感谢回复,目前问题已经解决,但是不是很了解原因。方法是通过启用CMPA和CMPB的映射寄存器,选择了其中一个装载模式后,可以通过修改CMPA参数,修改A口输出。

    比较明显的区别是,之前将程序写入RAM后,不点击运行时,B口有一个2V左右的正压,而A口是没有的。运行后A口会跳变至高位后又变为低电平。

    现在将程序写入RAM后,不点击运行时,AB口均有一个2V左右的正压,运行后A口可以实现置高。

    不过,有另一个问题想请教,就是如何使得epwm输出与一个外界输入方波信号同步?我这里通过EPWMSYNCI(GPIO6)输入一个频率为60hz的方波,控制我epwm2输出30hz方波与之同步是否可行?大概意思如图。

  • 这个恐怕不行,PWM的TB模块没办法完成倍频或者分频同步。也就是说,如果输入时60Hz,那PWM模块的时钟频率也是60Hz。

  • 好的,感谢,这边自己再思考一下