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.

[参考译文] TMS320F28035:PWM 在 HRPWM 使能时丢失

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/763853/tms320f28035-pwm-lost-with-hrpwm-enable

器件型号:TMS320F28035

大家好、

我们在客户中遇到了 PWM 丢失问题。 详细信息如下:

1:背景:

如图所示、这四个 PWM 输出 EPWM1A/B (通道1/2) EPWM3A/B (通道3/4)。  

它们需要在1/2和3/4之间切换死区。 在每个开关之间、它们将使所有 ePWM 跳闸、作为下图中的消隐。

 

2.问题:

在跳闸后的第一个 PWM 周期中、仅在通道1上观察到一半 PWM。 在以下时间段内、它正常运行。 这仅在  EPwm1Regs.HRPCTL.bit.HRPE = 1时发生。 我知道、F28035 HRPWM 有一些缺陷、您能不能帮助确定这是否是一个不完美的地方?

 

详细信息:  

对于 PWM 跳闸、它们通过配置 AQCTL 实现了这一点。 对于死区、它们也通过 AQCTL 实现、例如:

EPwm1Regs.CMPA = CMP1 - CMPdelta、  

EPwm3Regs.CMPA = CMP1

为了明确、我必须强调、只有 当 EPwm1Regs.HRPCTL.bit.HRPE = 1时才会发生这种情况。

请提供一些建议吗?

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

    根据我的了解、以下是可能的原因:

    当前 AQ 配置为:  

    EPwmRegs.AQCTLA.bit.CAD = AQ_SET;  

    EPwmRegs.AQCTLA.bit.CAU = AQ_CLEAR;

    因此、不带 HR 的 PWM 应该类似于图1中的上波形。

    启用 HR 后、系统通知我所有内部寄存器仅在 CTR=0时加载。 因此、PWM 不会在第一个 CMPA 下降事件时设置。

    加载 AQ 时、在 CTR =0之前不会设置 PWM。  这可能是第一个 PWM 丢失一半的原因。

    但在 CTR = 0时、CMPA 下降事件已通过、此时是否能够设置 PWM?

    感谢您的友好支持。

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

    Weiqi、

    在 HRPWM 中使用向上/向下计数模式时、缺少 CAD 事件是一个已知问题。 这会导致错过 CAD 上的操作、信号将保持不变、直到下一个周期。

    现在、为什么您的信号在 CTR = 0时变为高电平?

    我想您必须有其他东西可以在 CTR=0时将 PWM 设置为高电平。 您是否在 CTR = 0时设置了操作? 或者、对于以 CTR = 0结束的跳闸、可能会有一个消隐窗口? 请确认、但 CAU 或 CAD 以外的器件正在将 PWM 输出设置为高电平。

    最后、如何解决此问题? 您需要将脉冲围绕 PRD 而不是围绕零进行置中。 更改 CAU 以将 PWM 设置为高电平、更改 CAD 以将 PWM 设置为低电平、这将确保在使用 HR 模式时、两个值在 CTR=0处正确加载。

    此致、
    Cody  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Cody、
    很抱歉耽误你的时间。
    1.我的客户正在尝试实现一对互补 HRPWM。 因此、如果一个通道 PWM 在 PRD 周围、另一个通道需要大约为0。 因此、我们仍然会丢失一个通道上的第一个 PWM。 您对如何解决此问题有什么想法吗?

    2.我的客户坚持在 CTR=0时不配置任何操作。 但 PWM 仍设置为 CTR=0。 请您说明其他可能的原因吗?

    无论如何、我相信我们已经找到了这个 PWM 丢失问题的原因。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Weiqi、
    我会研究这个问题,并在明天作出回应。

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

    Weiqi、

    在该器件上使用 HRPWM 时、无法在向上/向下计数模式中将脉冲置于0附近。 不过、我们可能有一些选择。

    查看之前的回复、客户需要:

    • 1A 和1B 之间的死区
    • 2A 和2B 之间的死区
    • 通道1A 和1B 需要对2A 和2B 进行补充

    上面的项目符号是否正确?

    一些选项:

    1. 应用是否需要 HRPWM? 当不使用 HR 模式时、此代码应该工作正常。
    2. 使用 HRPWM 并使用同步链来偏移 PWM2A、以便您的 HR 脉冲围绕 PRD 居中。
      1. 该方法将具有同步链抖动的回拉。 同步链不是高分辨率、因此每次重新同步 PWM 时、可能会引入一个周期或两个抖动。
        1. 每次同步脉冲使两个 PWM 同步时都会发生此抖动。 为了避免这种抖动、您可以同步 PWM 一次。 某些系统不受此抖动的影响。 如果抖动是系统的问题、则系统在使用 HR 模式时能够在 PWM 之间建立相移关系。

    许多权变措施取决于您的系统。 如果不是、请告诉我、以上任意一项都能为您服务。

    此致、
    Cody  

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

    感谢 Cody、

    实际上、我说服我的客户不要使用 HRPWM 来避免这个问题。

    客户需要在高分辨率模式下工作的两个互补 PWM 通道。 这意味着、即使我们设法将一个通道置于 PRD 周围、另一个通道仍需要置于零附近。 所以我相信我们不能满足这项要求。

    由于他们的系统在非常高的开关频率下不工作、我认为他们不需要高分辨率模式。 我将支持他们进一步测试和评估不使用 HR 模式的可能性。

    感谢您的热情和技术支持。