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.

[参考译文] TMS320F28069:F28069相移应用-当 TBPHS 寄存器发生变化时、ePWM 错过了一个周期

Guru**** 2535680 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/626892/tms320f28069-f28069-phase-shift-application---epwm-miss-one-cycle-while-tbphs-register-change

器件型号:TMS320F28069

尊敬的所有人:

我的应用是相移全桥拓扑。

我将 EPWM4A/4B 的向上计数用于超前侧 EPWM6A/6B 的滞后侧。

当我将 TBPHS 寄存器从225更改为675 (PRD 900、CMPA 450和 CMPB 400)时。

DPWM 长扩展将会发生一个开关周期。  

我的解决方案是将 AQCTLA 的 CBU 从0更改为1、它可以解决长脉冲问题。

是否有机会在 TBPHS 更新期间错过该边沿?

//EPwm6Regs.AQCTLA.bit.rsvd = 0;//位15 14 13 12
EPwm6Regs.AQCTLA.bit.CBD = 0;//位11 10 //
EPwm6Regs.AQCTLA.bit.CBU = 1;//位9 8 //
EPwm6Regs.AQCTLA.bit.CAD = 0;//位7 6 //
EPwm6Regs.AQCTLA.bit.CAU = 1;//位5 4.  
EPwm6Regs.AQCTLA.bit.PRD = 0;//位3 2.
EPwm6Regs.AQCTLA.bit.ZRO = 3;//位1 0

此致、

Bard

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

    好久不见。

    您使用的是哪种 ePWM 模式? 向上计数模式、向下计数模式还是向上向下计数模式?

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

    长时间不讨论。
    我使用向上计数模式来完成项目、谢谢。

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

    Bard、

    是的、当您增加相移时、可能会错过 CMPA 或 CMPB 事件。

    发生的情况是:

    1. TBCTR 正在递增计数、但仍然小于 CMPA-B
    2. TBPHS 被更新、将 TBCTR 中的值更改为高于 CMPA?B 的值
    3. 跳闸甚至会错过一个周期、因为在 TBCTR=CMPA/B 周期内、跳闸永远不会为真。
    4. TBCTR 向上计数到 PRD、并复位到0。
    5. TBCTR 向上计数至 CMPA/B、并开始正常切换 PWM。

    您可以查看 此帖子 、其中 Hrishi 解释了一些常见的解决方法、例如将 CMPA/B 值调整为 TBPHS+1以强制立即跳闸。

    希望它能帮助你!
    Cody