微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 模拟电路设计 > 一种提高TMS320F2812 ADC精度的方法

一种提高TMS320F2812 ADC精度的方法

时间:08-23 来源:维库开发网 点击:

CalOffset=b/ma=yL/ma-xL。

  ④ 将所求的校正增益及校正失调应用于其他测量通道,对ADC转换结果进行校正。

  上述即为实现ADC校正的全过程,通过使用这种方法,ADC的转换精度有很大提高。由于这种方法是通过某个通道的误差去修正其他通道的误差,因此要采用这种方法,必须保证通道间具有较小的通道误差。对F2812ADC转换模块,由于其通道间的增益及失调误差均在0.2%以内,所以可以采用这种方法对其进行校正。

  2.2 软件实现

  与一般的ADC转换程序相比,带校正的ADC转换程序需要另外增加两个程序段:校正值的计算以及利用校正值对ADC进行处理。为了方便操作及转换结果获取,实现中定义了结构体变量ADCCALIBRATIONVARS,用来保存ADC转换后的各种数据。另外,提高程序的通用性,采样的方式、参考电压值及高低电压理想的转换值均在ADC转换头文件ADCCalibration.h中定义。ADCCALIBRATIONVARS定义如下:

  typedefSTruct{

  Uint*RefHighChAddr;//参考高电压所连通道地址

  Uint*RefHighChAddr;//参考低电压所连通道地址

  Uint*ChoAddr;//0通道地址

  UintAvg_RefHighActualCount;//参考高电压实际转换值

  UintAvg_RefHighActualCount;//参考低电压实际转换值

  UintRefHighIdealCount;//参考高电压理想转换值

  UintRefLowCount;//参考低电压实际转换值

  UintCalGain;//校正增益

  UintCalOffset;//校正失调

  //校正通道的转换值

  UintCh0;

  UintCh16;

  }ADC CALIBRATION VARS;

  整个A/D转换任务由中断函数intADC()和主函数ADCCalibration()构成。中断函数主要用于转换数据的读取,而校正参数计算及各通道转换结果的修正在主函数完成。校正完后,将结果保存到所定义的结构体变量中。此处,对ADC的校正采用单采样单校正的处理方法,当然也可以采用多采样单校正的处理方法,但是为了提高精度,如果设计系统开支允许,建议最好使用单采样单校正的方法,以提高ADC精度。

  2.3实验结果

  笔者在自己所使用的F2812系统上进行了实验,选用1 V和2 V作为参考电压,选用通道A6和A7作为参考通道,通过对0 V、0.5 V、1.5 V、2.5 V校正前后的数据进行比较,发现采用上述校正方法后,ADC的转换准确度明显得到改善。

  注:由参考电压计算得:CalGain=0.965;CalOffset=6.757。

  表2中所给出的数据只是笔者进行大量实验后所得数据的一组,实验证明通过校正后ADC的误差能被控制在0.5%以内,这对大多数测控系统来说已满足要求,对于转换精度要求更高的系统,可以采用外扩A/D转换器。

  结语

  A/D转换器是数据采集电路的核心部件,其良好的精度与准确性是提高数据采集电路性能的关键。TMS320F2812作为TI公司推出的一款集微控制器及数字信号处理器于一身的32位处理器,以其运行速度高和强大的处理功能得到广泛应用,而对其ADC模块精度的提高,将进一步提高其在控制领域中的应用。本文提出的用于提高ADC模块精度的校正算法,经实际应用证明实用可行。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top