现在使用TMS320F28031做了一个产品,使用PWM1 或PWM3 来触发AD口,AD口是选用第8通道作为EOC触发源,再产生IN的中断 ,再进入分支程序处理。现在的情况是用一个 PWM触发一个AD口是没有问题;但用一个PWM 触发2个通道的AD口就有问题了。 得到采样的值不对应。 请问这是什么原因?
Eric Ma:
jack,
你可以把出现问题的ADC初始化代码贴上来。
关于2803xADC的配置,要注意的两点是:
1.SOC的采样窗不能同时都设为6或7,可以设置为8,9等,也有某些采样窗的值不可以设,参照ADC user guide。
2. 每次采样的时候,第一个SOC对应采样的通道是不准的,需要丢掉。比如你配置SOC0 采样ADCIN1,SOC1采样ADCIN2,然后在中断服务函数读取ADCRESULT0,ADCRESULT1,这时候ADCRESULT1是不准确的。要改成这样子设置, SOC0采样ADCIN1,SOC1采样ADCIN1,SOC2采样ADCIN2,然后在中断服务函数中只读取RESULT1和RESULT2。可以查看一下芯片的errata。
Eric