TI中文支持网
TI专业的中文技术问题搜集分享网站

F28069的软件触发AD转换结果有延时

在调试F28069的AD时,使用的是软件触方式,在ADC转换完产生ADCINT1标志,

AdcRegs.ADCSOC12CTL.bit.TRIGSEL = 0; //软件触发转换

AdcRegs.ADCCTL1.bit.INTPULSEPOS = 1;    // ADCINT1 trips after AdcResults latch

AdcRegs.INTSEL1N2.bit.INT1E = 1; /*Enable ADCINT1 */

AdcRegs.INTSEL1N2.bit.INT1CONT = 0; /*Disable ADCINT1 Continuous mode */

AdcRegs.INTSEL1N2.bit.INT1SEL = 12; /*setup EOC2 to trigger ADCINT1 to fire */

在PWM的中断开始使用用软件触发AD转换

并查询ADCINT1FLG得到结果

__interrupt void IsrEpwm(void)  //当计数值为0的时候触发中断

{

    AdcRegs.ADCSOCFRC1.all = 0x1000;

   while(AdcRegs.ADCINTFLG.bit.ADCINT1 == 0); //Wait for ADCINT1

   AdcRegs.ADCINTFLGCLR.bit.ADCINT1 = 1; //Clear ADCINT1

if(i<50)

{

      Result[i++] = (Uint16)(AdcResult.ADCRESULT12 & 0xFFF); //get ADC Result   V相电流

}

  BLDCPWM2_MACRO(Epwm1);//给PWM

}

使用以上程序对AD的结果进行测试,发现得到的电流值要在第四个PWM中断才能得到准确的电流值。

使用示波器测试PWM和AD管脚的电流波形,发现在第三个PWM开始电流波形就发生改变了。AD采样值比实际晚了一次。不知是何原因?

 

赞(0)
未经允许不得转载:TI中文支持网 » F28069的软件触发AD转换结果有延时
分享到: 更多 (0)