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.

[参考译文] TMS320F28388D:当同步输入信号出现时、PWM 输出断开

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1463368/tms320f28388d-pwm-output-is-broken-when-sync-in-signal-comes

器件型号:TMS320F28388D

工具与软件:

尊敬的 Expert:

在另一个线程中、会出现一条语句"当 ePWM 接收到同步输入脉冲时、它会加载存储在 TBPHS (相位)寄存器中的值、从而替换 TBCTR 的当前值。"、我的问题是当当前 PWM 在同步输入脉冲之前工作、然后是同步输入脉冲到来、然后 TBCTR 发生变化、这将中断最后一个 PWM 周期并导致同步后的 PWM 周期不完整。

如果为真、您是否有任何解决方案可以避免在同步仍在工作时发生这种不完整的 PWM 周期?

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

    任何更新?

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

    回波、

    ePWM 的同步功能用于确保多个 ePWM 模块之间的同步。 来自单独 PWM 模块的时基计数器可以同步在一起、以产生同步或相移输出。 来自一个 ePWM 的 SYNCOUT 信号 用作其他 ePWM 上的 SYNCIN 信号。 ePWM 模块可以在发生指定事件(如 TBCTR=0、TBCTR=PRD 等)时发送 SYNCOUT 信号 这可确保 SYNC 事件在 PWM 周期的开始/结束时发生。 当接收到 SYNCIN 信号时、相位寄存器(TBPHS)中的值被立即加载到 TBCTR 中。  此操作通常需要1-2个系统周期。 现在、PWM 的损耗百分比取决于与 CPU 时钟相比、ePWM 的运行速度。 尽管每个周期都会发生同步、但变化/调整不会频繁发生、因为模块之间的变化通常是静态的、并取决于温度、湿度等、这些都是变化缓慢的实体。

    此致、

    Sumit

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

    Sumit、

    多个 PWM 通道之间已经存在相位差。 选择 SYNCOUT 只能确保 SYNCOUT 通道的 PWM 周期完成、但同步的其他 PWM 通道周期可能会受损。 有没有很好的解决方案?  

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

    回波、

    如果多个 PWM 通道存在相位差、则必须在 TBPHS 寄存器中写入确切的相位差(在计数方面)。 这将确保当  在 TBCTR=0发送 SYNCOUT 时、相移 ePWM 恰好在该相位 TBCTR=TBPHS 处。 这是它同步而不会损坏的方式。

    此致、

    Sumit

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

    Sumit,

    如果在同步事件期间需要新的 TBPHS (新的意味着相位差与之前完全不同)、您是否有合适的解决方案来避免不完整的 PWM 周期?

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

    回波、

    考虑到这种变化本质上很小、反馈环路难道不应该通过调整占空比来作为部件反馈机制在下一个周期中处理损失的部分吗? 我想知道我们在这里讨论的是什么拓扑/转换器、因为您提到过该机制会导致损坏吗?

    此致、

    Sumit