SPRUHM8I 的第15.6.5节建议将 CMPR 值保持在1至 TBPRD-1的范围内、以确保 PWM 正常运行。 然后、它引用了一个旧(2006) AppNote SPRAAI1、该器件具有实现0%和100%占空比的变通方法。 在本论坛上进行搜索后、我发现有几个不完整的答案、即在具有4类 ePWM 模块的较新器件上是否确实需要此功能。 我找到的最完整的答案是:
https://e2e.ti.com/support/microcontrollers/c2000/f/171/t/646249
链接的线程似乎表示 CMPx=0应该正常工作、但从 CMPx=0转换到 CMPx!=0可能会出现问题。 线程类型在该线程之后消失。 这是否意味着我们不必执行任何特殊的转换到 CMPx = 0、但变通办法仍然适用于转换回非零值? CMPx = TBPRD 呢?
我的配置
-向上/向下计数模式
-影子加载 ZRO 和 TBPRD 上的 CMPx 寄存器
-在 ZRO 和 TBPRD 事件上都有一个 ISR,所以我在每个 PWM 周期中加载两次 CMPx 寄存器
-操作限定符配置为设置向上计数和清除向下计数
假设这种变通办法是必要的、并且由于我在 ZRO 和 TBPRD 上加载 CMPx 寄存器、我是否需要针对 CMPx = 0和 CMPx = TBPRD 实施变通办法?