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.

[参考译文] TMS320F280025C:有关 ePWM 设置的问题

Guru**** 2042920 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1061077/tms320f280025c-question-about-the-epwm-setting

器件型号:TMS320F280025C

您好!

我正在制作 ePWM 模块、用于在向上计数模式下进行0%至100%占空比控制。

我几乎可以完全按照我的需要进行设置、但有一个部分我不理解的行为。

以下摘录。

当我设置以下程序时、占空比仅在微控制器启动后的第一次变为100%。


init_func ()

EPwm1Regs.TBCTL.bit.CTRMODE = 3;/* STOP *

EPwm1Regs.TBPRD = 1000; /* 100kHz */

EPwm1Regs.AQCTL.bit.SHDWAQAMODE = 1; //上的影子

EPwm1Regs.AQCTL.bit.LDAQAMODE = 0; /* RELOAD =Zero*/

EPwm1Regs.CMPA.bit.CMPA = 700; //初始占空比70%*

~~~~~~~~~~~~~~~μ A

start_func ()

EPwm1Regs.AQCTLA.bit.CAU = 1; //清除*

EPwm1Regs.AQCTLA.bit.ZRO = 2; //设置*

EPwm1Regs.TBCTL.bit.CTRMODE = 0; /*开始*


我的预期是、第一个波形将输出大约70%的占空比。

但是、这种行为与我的预期不同。

"EPwm1Regs.AQCTLA.bit.CAU"似乎第一次被忽略、原因是什么?

是 AQ 子模块的影子模式导致问题、还是影响问题的"EPwm1Regs.TBCTL.bit.CTRMODE = 3"的优先级?

我知道我可以通过"关闭 AQ 子模块的影子模式"或"在设置 AQCTLA 之前启动 TBCTL 计数器"来解决这一问题。

不过,我想知道上述真正原因。

此致、

Masaru Maeda、