主要思路是在 ePWM 中生成单个脉冲、该脉冲随后可由斩波器进行调制、从而产生受控时钟信号。
如何使用 ePWM 模块生成单个脉冲而不发生循环事件?
此致
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 中生成单个脉冲、该脉冲随后可由斩波器进行调制、从而产生受控时钟信号。
如何使用 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