大家好、
在我的应用中、DPWM 信号应通过电流限制中断。 因此、我使用了 ACOMP-F、该引脚具有正失调电压、因此我能够检测电流何时变为负极性。 输入电压是否会低于 ZCD_THRESHOLD、当前的 DPWM 周期是否应中断。
//启用 ACOMP-F 引脚并连接到 DPWM-1上的电流限制(ZCD -零电流检测)
FaultMuxRegs.DPWM1CLIM.bit.ACOMP_F_EN = 1;
FaultMuxRegs.ACOMPCTRL2.bit.ACOMP_F_SEL = 0;
FaultMuxRegs.ACOMPCTRL2.bit.ACOMP_F_POL = 0;
FaultMuxRegs.ACOMPCTRL2.bit.ACOMP_F_THRESH = ZCD_THRESHOLD;
在 DPWM 模块中、我具有以下配置:
//激活逐周期电流限制
Dpwm1Regs.DPWMCTRL0.bit.CBC_PWM_AB_EN = 1;
Dpwm1Regs.DPWMCTRL0.bit.CBC_ADV_CNT_EN = 1;
Dpwm1Regs.DPWMFLTCTRL.bit.CBC_MAX_COUNT = 0;
Dpwm1Regs.DPWMFLTCTRL.bit.CBC_FAULT_EN = 1;
实际上 ZCD 可以按预期工作-但只需一次! 它不会在下一个 DPWM 周期重新激活 DPWM、而是保持未激活! 只需再次禁用和启用 DPWM、DPWM 模块便可开始工作-...一次即可开始运行、游戏再次开始!
技术参考手册中介绍了 FAULT_AB 检测的这种行为、但 CLIM/CBC 不介绍!
有人知道如何解决这个问题吗?
感谢您的帮助!
此致、
Andy





