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.

[参考译文] LP-MSPM0G3507:生成相移 PWM

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

https://e2e.ti.com/support/clock-timing-group/clock-and-timing/f/clock-timing-forum/1420959/lp-mspm0g3507-generate-phase-shift-pwms

器件型号:LP-MSPM0G3507

工具与软件:

大家好!

我将尝试生成两个具有相同频率但不同占空比的 PWM、移动50%以避免在占空比低于50%时发生重叠。  

为此、我将使用 TIMA0和 TIMA1、并且在启动计数器之前、它们的配置为:

TIMA0

TIMA1

  • 两个计时器具有相同的周期、655
  • TIMA1 CTR 值初始化为327 (655/2)、以开始计数移位50%。
  • 和 CTRCTL。 CVAE 值为1h (当 EN 被激活时、请勿更改 CTR)

当我激活两个计数器时、我看不到通过软件移动计数器的效果

CVAE 值已被忽略 出现相同的情况。 EN 位变为1、CTR 复位。

其他信息:

  • TIMA0/TIMA1具有相同的时钟源。
  • 在 CTR 执行此 CVAE/CVE 写入操作之前、计时器从未启动。

这里遗漏了什么?

是否有其他方法可以生成避免重叠的移位 PWM? 要求如下:

  • 最多4个 PWM
  • 每个 PWM 可能具有不同的占空比
  • 它们应该同步  

非常感谢!

此致、

David

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

    尊敬的 David:

    使用单个计时器的2种潜在替代解决方案:

    高级计时器(TimerA)具有 带死区的互补输出、互补输出将使输入反相、死区增加延迟、因此两个设置绝不会同时处于高电平。 互补的占空比将略小于原始 PWM 的占空比、因为它的频率相同、但根据死区设置减少了高电平时间。

    或者、您可以设置2 (或4)个 PWM CC 通道、使它们具有相同的频率、并更改其 CC 值、使它们具有不同的占空比、然后您可以反转一个通道、使其从高电平开始、而另一个通道从低电平开始。 如果它们都需要空闲为低电平、您可以强制这些位(强制将导致输出为您设置的值)。

    ——

    对于您拥有的配置、2个计时器之间似乎没有任何固有延迟、因此当您启动它们时、它们会同步、但它们都从低电平开始并具有相同的占空比。 我建议使用相位加载选项、使计时器计数器加载到相位值中、从而引入此处的相移。 (可以将 TimerA1的相位加载设置为327值)。 对于计时器计数、我会在寄存器运行时对其进行检查、以查看您的 TimerA1是否实际采用327计数(我怀疑计数为零)

    此致、
    Luke

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

    你好、卢克!

    感谢您的快速响应。

    我不确定您的解决方案是否能满足要求、因为每个 PWM 具有不同的占空比、因此如果占空比>50%、则会发生重叠。 我无论如何都会检查它们。

    关于我的配置、您是对的、EN 位置位时 CTR 似乎归零、但 根据技术参考资料 CTRL。 启用计数器时、CVAE 将控制事件:

    但我的应用无法按预期运行。 并且我恰好在激活 CTRCTL 之前停止执行时。 EN、所有寄存器均已正确填充(检查票证中的屏幕截图)、但 CTR 似乎始终复位为零。

    我的参考资料是: ti.com/lit/ug/slau846a/slau846a.pdf?ts = 1727983891955

    谢谢!

    David

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

    尊敬的 David:

    我在结束时快速模拟了您的想法、需要进行一些调整才能得到您想要的结果、但我可以 让 TimerA0和 TimerA1彼此不同步。 我通过 timx_timer_mode_pwm_center_stop 示例中的配置、每个器件使用2个不同的 CC 通道。 (如果使用此示例、请确保将低功耗模式从 STOP 更改为 SLEEP、以便 TimerA 仍处于 ON 状态。)


    e2e.ti.com/.../generate_5F00_Phase_5F00_Shift_5F00_PWMs.zip

    此致、
    Luke

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

    你好、卢克!

    非常感谢您的答复。

    我将详细查看您分享的文件、因为我方面似乎缺少一些配置。

    此致、

    David