工具/软件:Code Composer Studio
为了快速响应过流保护、请使用模拟比较器。 当输出电压低于 某个值或输出电流高于某个值时、定义为发生过流保护。 输出电压使用 C 的模拟比较器、输出电流使用 D 的模拟比较器。初始代码如下:
FaultMuxRegs.ACOMPCTRL1.bit.ACOMP_D_THRESH = OCP_CMP_REF;
FaultMuxRegs.ACOMPCTRL1.bit.ACOMP_D_SEL = 0;
FaultMuxRegs.ACOMPCTRL1.bit.ACOMP_D_POL = 1;
FaultMuxRegs.ACOMPCTRL1.bit.ACOMP_C_THRESH = UVP_CMP_REF;
FaultMuxRegs.ACOMPCTRL1.bit.ACOMP_C_SEL = 0;
FaultMuxRegs.ACOMPCTRL1.bit.ACOMP_C_POL = 0;
如果故障发生、将在快速中断中完成。 它将看到 CimRegs.FIQIVEC.ALL 和 FaultMuxRegs.FAULTMUXINTSTAT.ALL 的标志。
1. 我找不到 CimRegs.FIQIVEC.ALL 的列表。从哪里可以得到它?
2.当过流发生两次并恢复时,模块无法启动。 我通过 PMBus 查看一些信息。 FaultMuxRegs.ACOMPCTRL1.bit.ACOMP_C_INT_EN、Dpwm2Regs.DPWMIP.bit.PRD_INT_EN、Dpwm0Regs.DPWMCTRL1.bit.GPIO_A_EN 的寄存器都是正确的。
如果禁用 C (Vout UVP)的模拟比较 器、则模块可以在过流多次发生后启动。 为什么? 如果始终发生故障、我使用调试 I/O 来查看故障。 但调试 I/O 只会在某个时间发生变化。 波形如下:(CH2:调试 I/o ch3:电流)如果调试 I/O 发生变化、则表示检测到了上拉电阻。
