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.

TMS320F280039C: F280039

Part Number: TMS320F280039C

通过上升,下降沿死区设置,实现如下图驱动波形:

第一个图是需要的波形,通过配置PWM1 模块和PWM2模块上升沿和下降沿死区:将PWM2模块的死区大于PWM1的死区,代码如下:

EPwm2Regs.DBRED.bit.DBRED = uiDeadBandSet + 20 + 30 + 50 + 60 + 80;
EPwm2Regs.DBFED.bit.DBFED = uiDeadBandSet + 20 + 30 + 50 + 60 + 80;

EPwm1Regs.DBRED.bit.DBRED = uiDeadBandSet + 20 + 30 + 50 ;
EPwm1Regs.DBFED.bit.DBFED = uiDeadBandSet + 20 + 30 + 50 ;

通过上面的配置可以实现第二幅图的驱动:PWM1先开,但是PWM1和PWM2还是同时关断;为什么没法实现PWM1先开,并且后关断??

  • 已实现想要功能,通过死区设置加PWM移相。

    但是通过死区下降沿设置为什么不能实现,存在疑问。

  • 您好,根据您的需求,您应该设置ePWM2上升沿延迟,ePWM1下降沿延迟;但是您贴上来的代码中,无论上升沿还是下降沿,都是ePWM2进行了延迟。

  • EPwm2Regs.DBRED.bit.DBRED = uiDeadBandSet + 20 + 30 + 50 + 60 + 80;
    EPwm2Regs.DBFED.bit.DBFED = uiDeadBandSet + 20 + 30 + 50 + 60 ;

    EPwm1Regs.DBRED.bit.DBRED = uiDeadBandSet + 20 + 30 + 50 ;
    EPwm1Regs.DBFED.bit.DBFED = uiDeadBandSet + 20 + 30 + 50 + 80 ;

    你的意思是这样吗?

    但是这样做1A和1B, 2A和2B的占空比是不是不一样了?

  • 是的,如果对精确度要求比较高的话占空比要结合死区时间重新计算。