您好专家、
在 F280049上、我的客户使用 CMPSS6作为 EPWM7的 DCAEVT1和 DCBEVT1的源。 更多 DCAEVT1和 DCBEVT1将在两个通道都处于高电平状态时触发 EPWM7。 它们在40KHz 控制环路中清除跳闸区域标志(TZFLG)。 在控制环路中、它们检查 EPWM7模块 TZCLR 寄存器的 DCAEVT1和 DCBEVT1位、并清除如下标志:
const bool level2_ov_tz =(EPwm7Regs.TZCLR.ALL 和 DCAEVT1_MASK)? true:false; ……… ………μ A ………μ A if (level2_ov_tz) { EALLOW; EPwm1Regs.TZCLR.ALL = EPwm1Regs.TZFLG.ALL; EPwm2Regs.TZCLR.ALL = EPwm2Regs.TZFLG.ALL; EPwm3Regs.TZCLR.ALL = EPwm3Regs.TZFLG.ALL; EPwm4Regs.TZCLR.ALL = EPwm4Regs.TZFLG.ALL; EPwm5Regs.TZCLR.ALL = EPwm5Regs.TZFLG.ALL; EPwm6Regs.TZCLR.ALL = EPwm6Regs.TZFLG.ALL; EPwm7Regs.TZCLR.ALL = EPwm7Regs.TZFLG.ALL; EDIS; } ………… …………μ A …………μ A
但是、他们发现有时 EPWM 因寄存器读数 TZFLG = 4而跳闸、这是意外的。 当它们更改为清零 TZCLR IN 位后、问题永远不会再次出现。 请帮我找出可能的原因。 它可能与信号延迟有关吗?
谢谢
谢尔登