器件型号: 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