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.

[参考译文] MSPM0G1507:通过 COMP 输出触发 PWM 占空比更新

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1270809/mspm0g1507-trigger-pwm-duty-cycle-update-from-comp-output

器件型号:MSPM0G1507

我想 使用比较器之一触发 PWM 更新(更改占空比)。

在没有 CPU 干预的情况下、最好的方法是什么?

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

    Chris、您好!

    比较器切换的目标是将 PWM 占空比更改为特定的非零或非100%值(例如75%)吗?  或者设置 PWM 输出完全为高电平/低电平?

    对于后者、当比较器处于活动状态时、您可以使用比较器故障机制将 PWM 输出设置为高电平或低电平。 故障特性提供了大量选项来更改故障期间的 PWM 行为、以及滤除任何瞬态。 但是、故障处理程序仅集成到高级计时器实例(TIMAx)中。  

    如果您要将 PWM 更新为特定值(例如、当 COMP 变为高电平设置占空比为60%)、您可以使用 DMA 和事件框架来执行此操作。 COMP 是事件发布者、DMA 是事件订阅者。 在发生发布事件时、可以配置 DMA、以更新计时器实例的相关捕获比较寄存器。

    此致、
    布兰登·费舍尔

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

    如果使用计时器故障处理程序、我们可以在不到200ns 内将 PWM 置为高电平/低电平吗?

    谢谢

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

    Chris、您好!

    从比较器 输出边沿到 PWM 响应时间为200ns、还是包括比较器延迟时间为200ns? 在任何一种情况下、答案都是肯定的。 对于后者、您当然需要在高速模式下使用比较器(传播延迟为40ns、过驱为100mV)。 您添加的任何滤波当然会延迟此响应。

    对于前者、如果您未使用故障输入滤波器、低于100ns 就是我预期的故障信号(在本例中比较器输出发生变化)到故障置位(PWM 消隐)。  

    此致、
    布兰登·费舍尔