This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
用的F28035写的过流保护,发现当过流时,必须在管子脉冲为下降沿时才会将脉冲封掉,下面是比较器与epwm配置程序,怎么样修改才能让在过流时立马将脉冲封掉,而不是等待该时刻脉冲关闭时封掉。
void InitComp3() //用于过流保护 { EALLOW; Comp3Regs.COMPCTL.bit.SYNCSEL = 1; //比较器输出同步传送 Comp3Regs.COMPCTL.bit.QUALSEL = 2; //持续四个系统时钟 Comp3Regs.COMPCTL.bit.CMPINV =0; //比较器输出反相关闭 Comp3Regs.COMPCTL.bit.COMPSOURCE = 0; //反相输入源 选择DAC Comp3Regs.COMPCTL.bit.COMPDACEN = 1; //使能DAC Comp3Regs.DACVAL.all = 868; //0~1023对应0~3.3 EDIS; } void EPwm6Set(void) { // Setup TBCLK EPwm6Regs.TBCTL.bit.CTRMODE = TB_COUNT_UP; // 增计数 EPwm6Regs.TBPRD =e6PRD ; // 设置计时器周期 20kHz EPwm6Regs.TBCTL.bit.PHSEN = TB_DISABLE; // 禁用相位加载 EPwm6Regs.TBPHS.half.TBPHS = 0x0000; // 相位为0 EPwm6Regs.TBCTR = 0x0000; // 清除计数器 EPwm6Regs.TBCTL.bit.HSPCLKDIV = 0x0; // Clock ratio to SYSCLKOUT EPwm6Regs.TBCTL.bit.CLKDIV = 0x0; // Setup shadow register load on ZERO EPwm6Regs.CMPCTL.bit.SHDWAMODE = CC_SHADOW; EPwm6Regs.CMPCTL.bit.SHDWBMODE = CC_SHADOW; EPwm6Regs.CMPCTL.bit.LOADAMODE = CC_CTR_ZERO; EPwm6Regs.CMPCTL.bit.LOADBMODE = CC_CTR_ZERO; // Set Compare values EPwm6Regs.CMPA.half.CMPA =e6cmpa; EPwm6Regs.CMPB = e6PRD-e6cmpa; // Set Compare B value EPwm6Regs.AQCTLA.bit.ZRO = AQ_SET; // 计数到0时PWM1A输出高电平 EPwm6Regs.AQCTLA.bit.CAU = AQ_CLEAR; // 增计数到比较值A时PWM1A输出低电平 EPwm6Regs.AQCTLB.bit.ZRO = AQ_CLEAR; // 计数到0时PWM1B输出低电平 EPwm6Regs.AQCTLB.bit.CBU = AQ_SET; // 增计数到比较值B时PWM1B输出高电平 EALLOW; EPwm6Regs.DCTRIPSEL.bit.DCAHCOMPSEL = DC_COMP3OUT; //COMP3OUT 输入 EPwm6Regs.TZDCSEL.bit.DCAEVT1= 2; //0:高阻状态,1: EPwm6Regs.DCACTL.bit.EVT1SRCSEL = 0; //DCAEVT1 Source Signal EPwm6Regs.DCACTL.bit.EVT1FRCSYNCSEL = 1; //DCAEVT1 Force Async Signal EPwm6Regs.TZSEL.bit.DCAEVT1= 1; //One-shot DCAEVT1 select EPwm6Regs.TZCTL.bit.TZA =2; //当外部触发事件发生时,定义EPMxA所采取的动作0:高阻态,1:高电平,2:低电平,3:保持 EDIS; }
你好,有参考过这个例程吗?这个例程跟你的程序类似,你可以参考一下。
C:\ti\c2000\C2000Ware\device_support\f2803x\examples\c28\epwm_trip_zone
抱歉,发错了,是这个例程:
C:\ti\c2000\C2000Ware\device_support\f2803x\examples\c28\epwm_dcevent_trip_comp