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.

[参考译文] TMS320F28379D:如何使用 ePWM 生成单个脉冲?

Guru**** 2551110 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/628672/tms320f28379d-how-can-i-generate-a-single-pulse-using-epwm

器件型号:TMS320F28379D

主要思路是在 ePWM 中生成单个脉冲、该脉冲随后可由斩波器进行调制、从而产生受控时钟信号。

如何使用 ePWM 模块生成单个脉冲而不发生循环事件?

此致

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

    您好!

    我们可以让 PWM 这样做、但由于 PWM 确实是为重复而设计的、因此这并不是很简单。 我认为、最适合您的解决方案是使用额外的串行通信外设、例如 SCI。 您将通过配置数据和波特率来控制脉宽。

    例如、发送0xF 将产生比0xFF 短的脉冲。 然后、您可以通过波特率微调宽度。

    编辑:抱歉、我后来错过了调制方面的知识。 有几种方法可以使用 ePWM 来实现此目的。 我要查看的其中一种方法是在启用同步输入的情况下设置 PWM (禁用外部同步路径)。 将 TBPRD 设置为2和 TBCTR = 0和 TBCTR = PRD 之类的小值、通过 AQ 将输出设置为低电平。 现在、将 TBPHS 设置为0xFFF-脉冲中的周期数。 设置 CMPA=TBPHS 并让 CMPA 将 PWM 输出设置为高电平。 然后、您可以通过软件强制同步事件、TBCTR 将跳转至大于 TBPRD 的 CMPA 值。 然后、它将溢出并返回到0和 TBPRD 之间的几个计数、在这里它一直被设定为低电平。 当您准备像往常一样使用 PWM 时、您可以重新配置它。

    此致、

    Kris