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.
您好专家、
我对 C2000 TRM 中有关 PWM 如何切换的说明感到非常困惑、因为它仅称为"CTR=CMP"。
然而、如您所知、数字电路由多 个具有 CLK 的同步序列逻辑门组合在一起、在不考虑序列时序的情况下、不能通过"CTR=CMP"来简化数字电路。
让我们考虑这种情况:禁用影子电阻器、在数据就绪后立即刷新 CMP。
请参阅以下四个我绘制的示例、根据我的理解、这些示例是否都正确? 那么、PWM 切换的确切标准是什么?
您好!
有没有回复或建议?
您好!
TRM 中的注释是说、如果 TBCTR 值大于 CMPx 寄存器、CMPx 寄存器将不会触发。 当 TBCTR =5时、如果 CMPA 值从10更新为4、则在该 PWM 周期内不会发生 CMPA 事件。
要回答您关于抖动或不抖动的确切问题、PWM 的输出电平会在确切的时钟边沿发生变化、或者 如果这会延迟一个周期:我相信边沿转换完全与 TBCTR 更新为等于 CMPx 的值一样。
此致、
Cody
您好、Cody、
感谢您的回答、在我看来数字 TBCTR=CMPx 比较器是 一个组合逻辑(CLK 异步事件)、对吧?
如果为 true、则 CMPx 更新和 CMPx 比较 TBCTR 之间实际上没有序列、因为比较 事件 始终在执行。
是的、我不认为比较是由时钟选通的。 当然、TBCTR 将与时钟同步递增、因此输出实际上看起来是同步的。
此致、
Cody
感谢 Cody、理解。
但我的最后一个问题是、为什么我们不能将切换条件设置为 TBCTR >CMPx 而不是 TBCTR =CMPx?
这可以帮助我们避免图片中出现错误情况4.
可以在功能上完成此操作。
但是、它会产生较宽的边界条件、例如相移或同步可能会产生意想不到的较宽脉冲。 它还可能产生更窄的脉冲、但其脉冲越宽、通常更容易对 FET 造成损坏。 它都取决于您从和移动到的计数器值。 这可能很难预测频率、占空比和相位何时发生变化。
此致、
Cody
在某种程度上可以理解、当频率、占空比和相位都发生变化时、很难通过固定标准来处理所有边界条件。
在各种特殊条件下可能会观察到意外脉冲。 因此、我是否可以说 TI 不建议立即刷新?
我只能评论 C2000器件。 是的、在几乎所有情况下、不建议立即加载模式、除非用户非常透彻地了解了他们的用例、否则强烈建议使用影子加载。