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.

[参考译文] TMS320F28386S:基于 CMPSS 比较事件的 EPWM A 和 EPWM B 输出的持续时间相同

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1256934/tms320f28386s-equal-on-time-duration-for-epwm-a-and-epwm-b-outputs-based-on-cmpss-compare-event

器件型号:TMS320F28386S
主题中讨论的其他器件:C2000WARE

大家好、我想在 EPWMA 和 EPWMB 引脚上生成对称的波形、输出时间相等。 当发生外部 CMPSS 比较事件时、EPWMA 的输出信号更改为低电平。 EPWMA 输出开启的持续时间、在 相同的持续时间内、EPWMB 输出也应开启。 请参阅随附的图像以进行澄清、其中 "A ON"和"B ON"持续时间应与基于外部电流传感器输入的 CMPSS 比较事件保持恒定频率。

请建议 C2000 MCU 是否可以实现这一点、如果可以、请建议可以使用什么方法来实现这一点。

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

    尊敬的 Vishal:

    请参阅我们的 C2000ware ePWM 示例1 (跳闸区域模块)、该模块演示了通过 ePWM 上的 GPIO 执行 CMPSS 跳闸。

    我认为 A_ON 和 B_ON 的 持续时间不同、因为 CMPSS 事件发生频率可能会有所不同、而您可以 设置为在 Period/CMPx 值处清除 TRIP。

    此致!

    乌坦姆

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

    尊敬的 Vishal:

    是的、 使用 C2000看起来是可行的。  在 ePWM 模块中使用以下功能启用直流计数器比较

    EPWM_enableDigitalCompareCounterCapture (myEPWM0_BASE);和  
    EPWM_setDigitalCompareCounterShadowMode (myEPWM0_BASE、 TRUE);  
     在这里、您捕获跳闸事件并将其影子加载到 CMP_B、并相应地为 EPWM2B 设置 AQ。 如果您还有任何疑问、请告诉我。  
    此 致、
    乌塔姆·雷德迪·派拉
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Uttam 您好、感谢您的解决方案。 我认为这会解决我的目的,这正是我所寻求的机制。

    只是另外一个问题、 通过 DC 捕获模块捕获的 TBCNTR 值应手动影子加载到 ISR 中的 COMP_B 寄存器中或构建机制中的任何寄存器中以自动加载它?

    谢谢。

    维沙尔

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

    作者:Vishal,

    它可以通过  EPWM_setDigitalCompareCounterShadowMode()自动完成,这更简单。  

    您也可以通过 ISR 进行、但不建议这样做。  

    此致、

    乌塔姆·雷德迪·派拉