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.

[参考译文] LAUNCHXL-F28P65X:对 ePWM 模块的中断频率的限制

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1648595/launchxl-f28p65x-limitation-on-interrupt-frequency-of-epwm-modules

器件型号: LAUNCHXL-F28P65X

您好:

我的目标是生成一个 500kHz 的 PWM 信号、其占空比在每个周期都通过使用 CLA 任务从 LUT 读取来更新。

我为此尝试了几种方法:

  • 首先使用 cla_ex4_pwm_control 示例、通过略微修改示例 CLA 任务并将两个 ePWM 模块的频率设置为 500kHz。 这是无效的、因为 CLA 任务根本没有触发、但它在较低的频率下工作、最多约为 170kHz。
  • 然后、我尝试通过在向上计数模式下使用单个 ePWM 模块、在 TBCTR = 0 时给 CLA 任务中断来简化示例。 我得到的行为与之前相同、最大频率约为 170kHz。
  • 我在 500kHz 时使用 CPUTIMER、而不是 ePWM 模块(该模块仍用于实际输出信号)。 这是完美的工作,但不是理想的,因为我可能需要计时器在以后的东西.
  • 我尝试了第二次尝试、但采用了向上/向下计数模式、而不是向上计数模式。 在 TBCTR = 0 时使用 CLA 任务触发、在 TBCTR = PRD 时使用影子寄存器加载。 在最大频率约为 300kHz 时、情况略好。

实际的 CLA 任务非常小、大约需要 20-30 个 CPU 周期才能完成。

是否有人知道可以使用 EPWM 中断的最大频率上存在硬件限制?

提前感谢、

此致、

Benjamin

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

    我似乎无法编辑我的帖子、因此我在帖子上忘记了一些更多信息:  

    - 调试时我发现的主要问题是 ePWM 中断不会触发 CLA 任务,这个任务的工作原理和我可以用 cla_fforceTasks () 调用它。 通过在调试期间读取寄存器、我可以看到 ePWM 计数器正在更新、并且从 ePWM 端触发中断。

    -试图触发一个标准的 CPU ISR 而不是一个 CLA 任务给出了相同的频率的结果,如上所述。

    -  

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

    您好、

    当触发 CPU 中断时、您能否确认 ePWM 确实以正确的间隔/频率触发了中断 ?

    CLA 任务是唯一一个未以正确频率触发的任务吗?

    谢谢

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

    你好 Prarthan、

    测试后、触发 CPU 中断时的行为是相同的、在向上计数模式下、EPWM 模块的频率上限为 170kHz、在向上/向下计数模式下、频率上限为 300kHz 左右。

    同样、使用 CPUTimer 模块时、这在 500kHz 时工作正常。

    谢谢、

    Benjamin

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

    您好、

    是否确定 PWM 频率配置正确?  PWM 和 CPU 计时器触发中断的方式没有区别、也没有频率上限。

    谢谢

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

    你好,对不起晚回复,

    是的、因为在较低频率下没有问题、所以我在两次测试之间唯一改变的参数是时基周期、也就是频率