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.

2803x DeadBand更新



您好,

问题:  因为死区寄存器DBFED =DBRED 是没有Shadow的。而死区更新时刻与TBCTR当前值不做任何关联。即,DBRED DBFED更新时,TBCTR可以是任何值。因此,担心变动死区时,会对驱动逻辑有影响。

测试情况如下:

EPWM配置为AHC模式(Active High, Complementary; OUT_MODE = DB_FULL_ENABLE)。

if(++u16Timer<3000u){

EPwm1Regs.DBFED = EPwm1Regs.DBRED = 0;
GpioDataRegs.GPACLEAR.bit.GPIO18 = 1;}
else{
EPwm1Regs.DBFED = EPwm1Regs.DBRED = 60;
GpioDataRegs.GPASET.bit.GPIO18 = 1;}

实测死区要么为零,要么为60时钟周期。不存在因为死区导致时序混乱的情况,但仍然有些担心。

想请教在其实现原理上来分析,这种担心是否是完全多余的?

  • 是不用有这种担心的,因为从PWM模块的结构上看,DEAD BAND模块是在AQ模块后面的,也就是CMP已经和TBCTR比较后,生成了应该发生的PWM后,再按照DBFED和DBRED来加入死区的。