一种提高TMS320F2812 ADC精度的方法
CalOffset=b/ma=yL/ma-xL。
④ 将所求的校正增益及校正失调应用于其他测量通道,对ADC转换结果进行校正。
上述即为实现ADC校正的全过程,通过使用这种方法,ADC的转换精度有很大提高。由于这种方法是通过某个通道的误差去修正其他通道的误差,因此要采用这种方法,必须保证通道间具有较小的通道误差。对F2812ADC转换模块,由于其通道间的增益及失调误差均在0.2%以内,所以可以采用这种方法对其进行校正。
2.2 软件实现
与一般的ADC转换程序相比,带校正的ADC转换程序需要另外增加两个程序段:校正值的计算以及利用校正值对ADC进行处理。为了方便操作及转换结果获取,实现中定义了结构体变量ADCCALIBRATIONVARS,用来保存ADC转换后的各种数据。另外,提高程序的通用性,采样的方式、参考电压值及高低电压理想的转换值均在ADC转换头文件ADCCalibration.h中定义。ADCCALIBRATIONVARS定义如下:
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模块精度的校正算法,经实际应用证明实用可行。
TMS320F2812 转换器 ADC 相关文章:
- 基于DSP的全桥移相控制感应加热电源研究(01-04)
- 有源电力滤波器中的谐波检测电路设计(01-14)
- 基于TMS320F2812控制的有源电力滤波器研制(01-26)
- 一种基于DSP芯片与CAN总线的电源监控系统设计(03-23)
- 基于DSP技术的5kW离网型光伏逆变器设计(05-30)
- RS-232至RS-485RS-422接口的智能转换器(01-24)