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:在 ePWM 通道中相位从正极转换到负极的转换

Guru**** 2609285 points
Other Parts Discussed in Thread: TMS320F28388D

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1073990/tms320f28388d-transition-of-phase-shifts-from-positive-to-negative-in-epwm-channels

部件号:TMS320F28388D

我正在使用6个 ePWM 通道,其中一个被设置为主通道。 给某些信道的相位偏移量从较小的正值转变为较小的负值。 我目前对它进行了编程,方法是从  PWM 周期的总时钟周期数中减去相位偏移,然后再分配给 ePWM 通道。 所有通道都在主 ePWM 的 counter=0处同步,并设置相移。 如果相移从一个小负值变为正值,则会错过一个周期。 例如,在6000个时钟周期的 PWM 周期中,如果相移为0.033,则 ePWM 块被赋予198,如果振荡至-0.033, 则5802将被赋予相同的 ePWM 通道,这将导致其中一个周期出现跳过。 您是否对如何解决此问题有任何建议?

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

    您能告诉我您的职责范围内的失误是什么?

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

    这是具有200个周期相移的 PWM 信号:

    CFS 文件/__key/communityserver-discussion-components-files/171/200PhaseShift.bmp

    这是相移在这些步骤中定期变化的信号[200 1400 2600 3800 5800]:

    CFS 文件/__key/communityserver-discussion-components-files/171/StepsPhaseShift.bmp

    我是否可以在所有通道中添加200个并在每个周期中更改主 PWM,而不是从6000中减去200个以进行负相位切换?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="509812" url="~ë/support/icannels/c2000-微控制器组/CC2000 /f/c2000 -微控制器-论坛/1073990/tms320f28388d -相位转换-从正态到负态 PWM 通道/3975431#3975431"代替每个主相位转换,我可以将每个主相位转换增加到每个主相位转换,并将每个转换到每个主脉冲程200个脉冲程中,并将每个相位转换到每个脉冲程中的200个脉冲程数转换数转换数转换数转换数转换数转换数

    是的,此选项将起作用。

    PWM 输出缺失很可能与 AQ 模块的设置有关。  

    NIMA

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

    您是否知道在每个循环中更改主 PWM 通道的任何示例?

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

    您可以将 ex3用于同步,启用中断并在每个周期更改相移。

    如果您将 TBPHS 值更改为跳过 CMPA/CMMPB,TBPRD 或零操作或任何其他操作的点,则需要手动处理错过的操作。

    NIMA

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

    您是否介意请我参考一个使用 ex3的示例? 另外,当我们知道应该在上进行比较时,会因为相移而错过一个将 PWM 设置为高和低的示例? 例如,如果相移为300,我知道零的作用被忽略,所以我可以强制 PWM 高或低,直到下一个作用发生。

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

    示例三在此处提供:  

    https://dev.ti.com/tirex/explore/node?node=AGJ3ZtKD6oL5ane6hL28iw__gYkahfz__LATEST

    如果安装了 SDK,则使用相同的路径。

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

    感谢 Nima 的帮助。 我尝试使用 PWM 寄存器而不是提供相位偏移,它现在不会跳过周期。