各位专家:
我在使用 CMPSS 模块时遇到问题。 我的设置如下:
void CompInit()
{
EALLOW;
CmpssRegs4.COMPCTL.bit.COMPDACE = 1; // Power up comparator
CmpssRegs4.COMPCTL.bit.COMPHSOURCE = 0; // Internal DAC to be used for inverting input
EDIS;
}
.
.
.
.
.
.
void EpwmUpdate ()
{
EALLOW;
EPwm2Regs.TZCTL.bit.TZA = 2;
EPwm2Regs.TZDCSEL.bit.DCAEVT2 = 2;
EPwm2Regs.DCAHTRIPSEL.bit.TRIPINPUT4 = 1;
EPwm2Regs.DCTRIPSEL.bit.DCAHCOMPSEL = 3;
EPwm2Regs.TZSEL.bit.DCAEVT2 = 2;
EPwm2Regs.TZEINT.bit.DCAEVT2 = 1;
EPwmXbarRegs.TRIP4MUX0TO15CFG.bit.MUX6 = 0;
EPwmXbarRegs.TRIP4MUXENABLE.bit.MUX6 = 1;
EDIS;
}
我的应用程序是实施峰值电流模式控制。 我们的观察结果如下:
每当我们增加 DAC 值或第一次给出参考 DAC 值时,电流就会出现较大的过冲。
我尝试在 CompInit()函数中添加以下行-
AnalogSubsysRegs.CMPHPMUXSEL.Bit.CMP4HPMUXSEL = 1;
但是,即使 DAC 值设置为0,电流也会流动。
我怀疑我在设置跳闸操作时发生了一些错误。
请求论坛帮助解决此问题!