if((Vbus>200)&&(Short==0)&&(PFC_V==1))
{
PWM3En();
PRD++;
EALLOW;
EPWM_setTimeBasePeriod(EPWM3_BASE,PRD);
EPWM_setCounterCompareValue(EPWM3_BASE,EPWM_COUNTER_COMPARE_A,0.5*PRD);
EDIS;
DT -= 1;
EPWM3_DT(DT);
if(PRD>333)//PRD=300对应330kHz
{
PRD=333;
SSEND1=0;
}
if(DT<20)
{
DT=20;
}
}
上述为软起动代码,将EPWM3配置为普通的EPWM模式,PRD逐渐增大,DT逐渐减小实现高频小占空比启动。
实验中发现在低压下EPWM发波正常,实现了代码的逻辑,如下图:

但是当我继续升高输入电压再进行软起动发现PWM会出现一段持续为高电平的现象,如下:

两者代码完全一致,只是启动电压升高了而已就会造成驱动信号的缺失。
起初怀疑是驱动芯片导致的,因此同时测量了驱动芯片的输入和输出,如下:

黄色为驱动芯片的输出,绿色为驱动芯片的输入,可见从DSP发出的驱动信号就是这样的,因此应该不是驱动芯片导致的。
只是一个普通的PWM模式,实现的功能也仅仅是高频小占空比,为什么低压就是正确的逻辑,而高压就会出现上述问题,是因为干扰导致的吗?