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.

[参考译文] CCS/TMS320F28377S:TMS320F28377S

Guru**** 2473700 points
Other Parts Discussed in Thread: TMS320F28377S

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/857799/ccs-tms320f28377s-tms320f28377s

器件型号:TMS320F28377S

工具/软件:Code Composer Studio

您好!

我将 TMS320F28377S DSP 用于全桥转换器、我需要实现输出电流迟滞控制、在该控制中、我将使用 由比较器1高电平和低电平、ePWM X-Bar 和数字比较子模块创建的 DCAEVT1和 DCAEVT2信号。 我将使用进入动作限定符子模块的 T1和 T2信号源、使用 DCAEVT1、 DCAEVT2作为触发信号。 我已经初始化比较器、ePWM X-BAR 和数字比较寄存  器、这样、当 DCAEVT1变为高电平时、ePWMxA 输出变为低电平(关闭高侧 MOSFET)、当 DCAEVT2变为高电平时、ePMWxA 变为高电平(打开高侧 MOSFET)。 我将 ePWMxA 用作死区子模块的输入、从而为高侧和低侧 MOSFET 使用互补 PWM。

问题在于 、当 DCAEVT2变为高电平时、ePWMxA 在不使用跳闸区域的情况下被跳闸区域跳闸。 我使用了 DCBEVT1作为单触发跳闸区域、使用完全不同的比较器和 ePWM X-Bar Trop 引脚、因此我已经加倍检查了跳闸区域和 DCAEVT1-2之间是否存在交互、但当 DCAEVT2变为高电平时、我仍然会获得跳闸。

任何意见和指导都将受到欢迎。

此致、

萨勒曼  

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

    让我们分解一下:

    将 DCAEVT1和 DCAEVT2与 ePWMxA 一起使用:

    DCAEVT1变为高电平:ePWMxA 变为低电平

    2. DCAEVT2变为高电平:ePWMxA 变为高电平

    3.使用了跳闸区域,但您没有将其设置为取决于 DCAEVT2

    使用跳闸区域、但取决于 DCAEVT1

    问题、TZ 在 DCAEVT2上触发?

    NIMA

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

    感谢 Nima 的快速回答、是的、您是对的、但项目4需要更正为"使用跳闸区域、但取决于 DCBEVT1"

    因此、我将其重新编写为如下、并添加5。 和6. 以了解更多说明

    将 DCAEVT1和 DCAEVT2与 ePWMxA (动作限定符子模块)配合使用:

    DCAEVT1变为高电平:ePWMxA 变为低电平

    2. DCAEVT2变为高电平:ePWMxA 变为高电平

    3.使用了跳闸区域,但您没有将其设置为取决于 DCAEVT2

    使用跳闸区域、但取决于 DCBEVT1

    5. DCAEVT1和 DCAEVT2用作 T1和 T2的源(AQTSRCSEL)

    6. T1和 T2应用于操作限定符

    问题、TZ 在 DCAEVT2上触发?

    萨勒曼

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

    您好!

    问题已解决。

    跳闸区域架构使得 DCAEVT1&2和 DCBEVT1&2信号自动触发跳闸区域、即使您不使用跳闸区域、 默认情况下、TZCTL.DCAEVT1和2寄存器位将为零、这意味着当来自数字比较模块的这些信号处于激活状态时、ePWMA/B 输出高阻抗。 那么、我所做的是将这些位从00更改为11、说什么也不做、然后问题得到解决。  
     ePWM[i]->TZSEL.bit.DCAEVT2=0;                 //0:禁用 DCAEVT2作为此 ePWM 模块的 CBC 跳闸源
     EPWM[I]->TZCTL.bit.DCAEVT2 = TZ_NO_CHANGE;  // 11:不执行任何操作,禁用跳闸操作
    谢谢、
    萨勒曼