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.

[参考译文] TMS320F28335:28335 ECAP 在 APWM 模式下,在占空比不为0时更改 CTRHS

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/567115/tms320f28335-28335-ecap-in-apwm-mode-change-the-ctrphs-while-duty-is-not-0

器件型号:TMS320F28335

设计  

  我们在将 ECAP 用作 APWM 输出方面存在问题

 我们 使用 ECAP 在 APWM 模式下驱动 IGBT、tECAP 与 ePWM 同步(ePWM 用于驱动其他 IGBT)

2. 要在工作时更改 CTRRPHS,且占空比不为0

3.请注意,如果我这么做,将会出现错误的占空比输出,例如 ,

  A. CAP1 (PWM 周期)为3750, 如果 CTRRPHS 从2500变为500,而 CAP2为2400 (占空比36%)

  b.如果 TSCTR=2400,输出变为高电平, 则如果 TSCTR =2500, 则将 CTRPHS (为500)加载到 TSCTR, 即 TSCTR 从  500重新计数  

 C. TSCTR = CAP1后、输出变为低电平、  

 D、因此 输出占空比确实大于36%、可能是89%(((3750-2400+2000)/3750)、这是危险的且不可接受的

 所以  

 a: ECAP 是否有 EPwmxRegs.AQCSFRC 等寄存 器在 ePWM 中,我可以将 APWM 输出设置为高电平或低电平?如果 是,我可以在更改 CTRPHS 时将 APWM 设置为低电平  

 b. 当 TSCTR =CAP1时,我是否可以设置 CTRPHS 负载?  

 c.除了以上两项之外,是否有解决这一问题的办法?

非常适合 你!

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

    Webber、

    我需要澄清一些问题。

    APWM 信号的"导通时间"是否可以增加一个周期?

    APWM 信号的"关断时间"是否可以增加一个周期?

      如果 ePWM 输出 和 APWM 输出之间的相位发生变化、则必须在一个周期内更改导通时间或关断时间。

    您应该检查您的 ePWM1SYNCO 选择、您也许能够更改此选项并获得更理想的结果。

    请告诉我上述问题的答案、
    Cody

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

    Cody

     感谢您的回复

        当 我更改 CTRPHS 时、"关断时间"仅增加一个周期、这是可以的、    

       "导通时间"不会增加、因为电感可能会饱和

     

     ECAP 与 ePWM 同步、我无法更改 ePWM 相位、因为它用于驱动其他 IGBT、

     

      

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

    首先、我假设您要同步的 EPWM 和 APWM 具有相同的周期。

    我认为、如果您的两个信号同时跟踪、这意味着低电平同时高电平、那么该解决方案将会起作用。 :

    您应反转 PWM 信号、在 AQCTLx 中切换值。(详细信息: PWM 用户指南) 并反转 APWM 的信号、ECCTL2.APWMPOL (详细信息: ECAP 用户指南)。 如果信号在之前的高电平时间同步、则现在应在低电平时间同步。 这将导致低电平同步时持续时间延长、您说过这应该正常。

    与第一种方法类似、您可以更改 TBCTL.SYNCOSEL 中的值以在低电平时间发送同步脉冲(请参阅 PWM 用户指南)。

    很抱歉、我没有机会测试任一种方法、但我认为这两种方法都可以正常工作。 请告诉我、我很高兴能了解这些解决方案中的一个是否适合您!

    此致、
    Cody

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

    感谢 Cody

     据我 所知,您的建议如下

    如果   APWMPOL 为1 (低电平有效,因此如果 TSCTR =CAP1,APWM 输出变为高电平), 并且 CAP1低于 CTRPHS, 则在 SYNC 信号出现之前,APWM 输出为高电平, 然后在 SYNC 信号出现后,TSCTR 重新计数,因此高电平时间延长,  

     2.然后,如果 将 APWMPOL 更改为  0,这意味着在 SYNC 信号出现之前 ,APWM 输出变为低电平,因此 TSCTR 重新计数仅延长了低电平时间

    我 是对的吗?

    但 我在下面有一些问题  

    如果 CAP1大于 CTRPHS,这意味着,在 SYNC 信号出现之前,APWM 输出为高电平,

    2. 同步信号之后、TSCTR 从2500变为500、 从而延长了高电平时间  

    我有4个 APWM 输出,每一个都有90度的延迟, 这意味着

     APWM1的 CTRRPHS 为 0

     APWM2的 CTRRPHS 为 937

     APWM3的 CTRRPHS 为 1875

     APWM4的 CTRPHS 为 2812

    并且占空比不确定(取决于工作环境,从0%~ 80%变化), 因此 当 SYNC 信号出现时,APMWx 输出可以是高电平或低电平,  当 SYNC 信号 出现时,更改 CTRPHS 可能导致延长 高电平时间或低电平时间,或者两者都延长;  这不会影响 APWMPOL 是0还是1  

    我测试 ,结果 就像上面一样;

    巴西!

    Webber

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的、您有一个大致的想法。 如果你有一个可变占空比、这个把戏在100%的时间内都不会工作、那么这是肯定的。 让我思考一下这个问题、我会再回来的。

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

    Webber、

    很抱歉耽误你的时间、ePWM 模块应该能够做到这一点。 您的系统中是否有可用的 ePWM?

    还有一些问题、

      1.您何时从 ePWM 发送同步值?

      每个 APWM 常量之间的相位是否恒定?

      3.如果您的导通时间小于预期值2个背靠背周期,是否正常? (如果可以、您可以重新配置 GPIO 多路复用器并在调整相位时将引脚驱动为低电平。 APWM 将始终在后台运行、而不是驱动 GPIO。)

    此致、
    Cody

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    嗯,不,我没有任何其他可用的 ePWM,所有这些都用于驱动其他 IGBT;

    问题
    1.当 ePWM TBCTR = 0时发送 SYNC
    2、是、APWM 之间的相位是恒定的
    3.如果我突然将引脚配置从 APWM 更改为 GPIO,而 APWM 正在输出会导致一些未知危险,我不会感到很担心。但是,由于您的建议,我认为在调整 CTRHS 时,如果我强制将占空比设置为0,可能是可以的, 我会尝试这个

    谢谢!

    BR

    Webber