paradoxfx

【原创】TI C2833x介绍---系统自带的ADC(14)

0
阅读(2641)

对漂移误差的校正也可以用一种“全手动”的方式,即不去管ADCOFFTRIM寄存器的值,在使用默认的BootROM修正的情况下,只需要在ADC输入管脚接地时,读取ADC转换结果寄存器的值,这也相当于一个漂移值;只要以后每次在该通道的转换结果中减掉漂移值就行了。前者因为在寄存器中直接配置好,所以不需要额外的软件开销,后者则需要每次多执行额外的加减法运算,但是可以分别针对各个采样通道的漂移误差误差进行补偿。

对增益误差的校正方法则主要通过软件方法来实现,有可能会造成ADC量程的损失。此外,对一个ADC输入通道的校正,还需要另一个ADC输入通道的参与。即在这个参考通道中,分别输入两个参考电压值,这个电压值需要比较稳定、精确,最好是用TI出的REF系列参考电源芯片,再不济用个专用的电压源也可,用电阻分压实在是无法保证精度;然后分别读取两次参考电压输入对应的ADC转换结果值,再利用解析几何里面计算斜率的方法计算出斜率,即

m=(y2-y1)/(x2-x1)

然后在计算采样结果的过程中,将输入乘上这个斜率,并补偿掉前面的漂移误差,就是校正之后的采样结果了。在TI的网站中搜索应用报告SPRAAD8A,可以找到《TMS320280x and TMS3202801x ADC Calibration》原理方面的一些更具体的细节。在2812这些芯片上使用ADC时,必须全部手动进行误差的校正,在28335上进行了改进方法了很多,如果BootROM里面的程序能满足误差要求就不用再做额外的工作了。

         需要补充的是,因为外部电路、电源等存在温度漂移等非线性因素对性能的影响,校正工作有可能需要经常运行以保证精度。