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.

[参考译文] TMS320F2.8379万D:在ePWM模块的最小或最大Dutycycle时为脉冲滑块提供硬件支持

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/573033/tms320f28379d-hardware-support-for-puls-skippig-at-min-or-max-dutycycle-of-the-epwm-modul

部件号:TMS320F2.8379万D

是否可以配置TMS320F2.8379万D的ePWM模块,使其具有最小占空比 或切换到0或100 % 占空比,而无需  使用CPU或CLA进行软件计算?

 

例如:如果最小占空比为3或97 % ,并且希望98 % 占空比为3,则硬件的行为应如下所示:

目标PWM= 98 % ,最小PWM= 97 %

X =目标PWM -实际PWM

 

PWM时钟

目标PWM + x

实际 PWM

X

1.

98 %

97 %

1 %

99 %

100 %

-1 %

3.

97 %

97 %

0

4.

98 %

97 %

1 %

5.

99 %

100 %

-1 %

6.

97 %

97 %

0

 

在此示例中,平均占空比是 所需的98 %。

 是否有人 认为可以将  ePWM模块的硬件配置为这样工作,而无需额外计算CLA或CPU?

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

    我想澄清一下,我理解您的要求。 您所说的是,如果目标占空比为97 % ,并且97 % 已编程>PWM的值,则ePWM将自动将其切换为100 %。 是这样吗?

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

    您好,Kris,

    感谢您的回复。 使用ePWM模块时,我要切换IGBT。  我不想IGBT产生非常短的脉冲。 因此,如果有所需的占空比 ,例如98 % ,并且我想要97 % 的最小占空比。   当ePWM模块 每3个周期运行      一次时,它应在97 % 占空比下切换两次,在100 % 占空比下切换一次。 因此,平均占空 比为98 %。  

    翻新,

    一月

     

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

    谢谢,我现在理解目标了。 这里没有软件开销是一个棘手的部分。 假设您知道相应的CMPx值更改是什么,我将研究的方法是复制新值的DMA触发器。

    因此,您可以将97 % 所需的任何值写入RAM位置,并将100 % 所需的值写入另一个RAM位置。

    您应该能够使用PWM SOC触发DMA传输。 注意- SOC可以从您正在使用的PWM或不同的PWM (或多个)生成-并且实际上不必启动ADC SOC。 它只会触发DMA。

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

    这称为抖动,您必须在软件中执行。 但它不需要大量资源。

    我们已成功使用它来提高占空比分辨率,但使用HRPWM不是选项。 也可以使用抖动设置具有更高预裂变的PWM频率。

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

    @ Kris:上述示例中的98 % 目标值是 一个可以在每个期间更改的值。  例如 ,当在 第一个周期中,99 % 是目标值, 并且它被四舍五入为100 %。 下 一个目标值 (例如80 %)应由1 % 减至79 %。   那么您的想法不 会奏效吗?

    @Mitja Nemec:是的,我想有一种抖动,使用从上一个周期误差计算的值,而不是随机噪声值。  当      实际值在0-CMP97 3 % -197 100 % 占空比之间舍入时,计算出的误差应包含目标值与CMPx寄存器中写入的实际值之间的差值。  在     转换16位 值中的32位值时,计算的错误还可能包括量化错误。 好主意。

    我 认为我必须在软件中执行此操作? 或者是否有人在硬件中看到了另一种解决方案?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    正确-如果值是动态的,则需要在软件中进行计算。

    此致,
    克里斯