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.

[参考译文] TMS320F28377D:使用 HR 模式时 PWM 抖动

Guru**** 2466550 points
Other Parts Discussed in Thread: TMS320F28377D, C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1487621/tms320f28377d-jitter-on-pwm-when-using-hr-mode

器件型号:TMS320F28377D
Thread 中讨论的其他器件: C2000WARE

工具与软件:


您好!

目前、我在 TMS320F28377D 的比较器上使用 HRPWM 时遇到问题。 在具有死区的向上和向下计数模式下使用它们时、PWM2/3/4/5/6/7/8链接到 PWM1。 实际上、尽管使用了影子模式、但 CMPA 和 CMPAHR 寄存器似乎不会同时加载、这会导致抖动。

为了验证我的当前配置并检查我的怀疑、我通过稍微修改示例代码"HRPWM_Ex9_dutyhr_updown_dadband_sfo"(来自 C2000Ware_5_04_00_00)来测试该代码、以突出显示该问题。 具体来说、我修改了寄存器值、主要使 CMPAHR 寄存器递增、并在 CMPA 上跳得+1。 图中的结果如下:
 -在1中,你可以清楚地看到我的变化与我的+1增量,
 -在2和3中,抖动。



这在我的产品中是不可接受的;是否有办法解决这个问题?

提前感谢您。

此致、  
军阀阿诺德

PS:这里的测试代码允许重现问题

e2e.ti.com/.../hrpwm_5F00_ex9_5F00_dutyhr_5F00_updown_5F00_deadband_5F00_sfo_5F00_jitter.c

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

    您好!

    我会在几天内查看和回复。

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

    您好、Stevan:

    非常感谢您的帮助。 我期待您的答复。

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

    Martial、您好!

    您是否只是在应用中修改占空比并使用高分辨率寄存器 CMPAHR? 您是否在任意机会 HR Deadband 或 HR Period 子模块中使用?  

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

    您好!

    如我的问题中所述、我正在使用示例代码"HRPWM_Ex9_dutyhr_updown_dadband_sfo"(来自 C2000Ware_5_04_00_00)、没有对配置进行任何修改、但在"HRPWM_dutyhr_updown_dadband.c"中进行的特定处理除外。

    但是、在我的产品中、我只能通过 CMPA/CMPAHR 和 CMPB/CMPBHR 寄存器更新占空比。 最初、我只在周期和比较器上获得了 HR (这导致了抖动问题)、因此我尝试了所有可能的 HR 配置来解决这个问题、但没有成功。

    更新占空比的方法是否比使用比较器值更好? 即使需要更改方法、我也愿意采用任何能够消除此抖动的配置。

    以下是我对产品的最终要求:

    • 具有高精度、
    • 使用多个 PWM 模块生成互补 A 和 B 信号、
    • A 和 B 之间的死区、
    • 同步所有 PWM 到 PWM1、
    • PWM 模块之间的相移。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    感谢您提供更多详细信息。 您需要在多大的范围内修改占空比?  占空比范围限制如器件 TRM: https://www.ti.com/lit/ug/spruhm8k/spruhm8k.pdf 的图15-86和图15-89所示。  

    该限制会对 MEP 施加占空比限制。 例如、当 HRPE (周期控制)模式启用时、在低至0%占空比时、精密边沿控制不可用。

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

    您好!

    我熟悉图15-86和15-89、通常这不是问题。 在我们的产品中、占空比仅可在5%和95%之间调节、但在大多数情况下、它介于40%和60%之间。

    在上面我的最后一封邮件的末尾提供了我们的要求之后、您能否为我提供一个符合这些标准的示例代码?

    此致、
    武术

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

    Martial、您好!

    这对于使用 CMPAHR 方法应该是可行的。 我会查看我们的 C2000Ware 示例以重现同一问题、然后与您联系。  

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

    您好!

    好的、谢谢。

    请记住、我在使用示例代码"HRPWM_Ex9_dutyhr_updown_dadband_sfo"(来自 C2000Ware_5_04_00_00)、而不进行任何配置修改、但在"HRPWM_dutyhr_updown_dadband.c"中的特定处理除外(随附于初始问题)。

    此致

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

    Martial、您好!

    我 从 C2000Ware driverlib 示例中运行了 HRPWM_Ex9_dutyhr_updown_dadband_so、但我尚未捕获任何抖动。 我还检查了您的代码、发现您所做的更改可能会导致不必要的抖动。 其中一个问题是、在代码 CMPxHR 中的值可以是零、那么情况不应该是这样、这会导致抖动。

    请参阅 C2000Ware 示例9、因为它实现了精确的占空比控制、并激活了死区模块、高分辨率周期和互补的 PWM 模块。  

    请注意、如果你使用的是高分辨率周期、   当你想结合高分辨率周期功能来控制相位时、用户还需要使能 TBPHSHRLOADE 位。 当高分辨率周期使能以实现向上/向下计数模式时、即使 TBPHSHR = 0x0000、该位和 TBCTL[PHSEN]位也必须设置为1

    是使用常规相移、还是高分辨率相移? 如果要使用具有高分辨率周期的高分辨率相移、则需要使用 TRREM 寄存器。 有关更多详细信息、请参阅 TRM 的 HRPWM 部分: https://www.ti.com/lit/ug/spruhm8k/spruhm8k.pdf。

    此致