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.
在引脚上通过信号源输入ECAP检测的方波,发现ECAP检测到的值是方波的毛刺所在的地方,而不是程序设置的方波下降沿。如果方波波形没有毛刺的话,ECAP就会检测不到数据。具体的配置如下:
ECap4Regs.ECCTL1.bit.CAP1POL = 1;// 0; //0 => Rising Edge; 1 => Falling Edge; ECap4Regs.ECCTL1.bit.CTRRST1 = 0; //0 => Do not reset counter ECap4Regs.ECCTL1.bit.CAPLDEN = 1; //1 => Enable cap load ECap4Regs.ECCTL1.bit.PRESCALE = 0; //0 => Bypass the prescaler ECap4Regs.ECCTL2.bit.CAP_APWM = 0; //0 => Capture mode; 1 => APWM mode ECap4Regs.ECCTL2.bit.CONT_ONESHT = 1; //1 => One shoot mode ECap4Regs.ECCTL2.bit.SYNCO_SEL = 3; //3 => Disable synchronous signal out ECap4Regs.ECCTL2.bit.SYNCI_EN = 1; //1 => Enable synchronous ECap4Regs.ECCTL2.bit.STOP_WRAP = 0; //n => Stop capture sequence after event n + 1 ECap4Regs.ECCTL2.bit.TSCTRSTOP = 1; //1 => Allow TSCTR to run ECap4Regs.CTRPHS = 0; //Synchronous Phase ECap4Regs.ECEINT.bit.CEVT1 = 0; //1 => Enable interrupt for event 1
请看一下zhcs889q_TMS320F2833x、TMS320F2823x 实时微控制器 datasheet (Rev. Q)第34页7.4 建议运行条件:
高电平输入电压是3.3V左右,根据上传的波形来看,黄色波形的峰-峰值似乎都不到2.5V。这可能是eCAP捕获触发失败的原因。有了毛刺以后,峰-峰值符合触发条件,所以产生了随机触发、随机捕获的效果。