APP下载

一种基于DSP的AD采样自校正软硬件设计

2016-01-18高志斌王力文邹诗苑

自动化与仪表 2016年6期
关键词:增益器件校正

高志斌 ,邹 波 ,张 丽 ,王力文 ,邹诗苑

(1.上海机电工程研究所,上海 201100;2.上海自动化仪表有限公司,上海 200072)

TMS320F28335型DSP的A/D转换模块是12位带流水线的模数转换器,理论上来讲,ADC模块的采样精度还是较好的,但是根据工程经验,一般ADC模块的采样精度实际都会比理论值少3位,也就是说12位的ADC模块,在采样精度比较好的情况下可以达到9位,也就是1/512,约为0.2%。但是在实际应用过程中,ADC模块的精度往往不尽如人意,采样值和实际值之间的相对误差有时候最大可以达到15%,这给实际应用带来了很大的困扰[1]。

1 影响AD采样精度的误差来源

ADC的模拟电路包括前端模拟多路复用开关(MUXs)、采样/保持(S/H)电路、变换核心、电压调节器以及其他模拟支持电路部分。模数转换器的数字电路为本文中所指的外围部分,包括可编程的转换序列发生器、结果寄存器、与模拟电路的接口、与设备外围总线的接口以及与其他芯片模块的接口[2]。

1.1 偏移与增益误差

AD器件理想输出与实际输出之差定义为偏移误差。所有数字代码都存在这种误差。在实际中,偏移误差会使传递函数或模拟输入电压与对应数值输出代码间存在一个固定的偏移。

增益误差是预估传递参数和实际斜率的差别,增益误差通常在模数转换器最末或最后一个传输代码转换点计算。

1.2 积分非线性和差分非线性误差

模数器件的精度指标是用积分非线性值INL来表示的。这个参数表示了ADC器件在所有的数值点上对应的模拟值和真实值之间误差最大的那一点误差值。也就是输出数值偏离线性最大的距离,单位是LSB(即最低位所表示的量)。

差分非线性值DNL是指ADC相邻2个刻度之间最大的差异。理论上说,模数器件相邻2个数据之间模拟量的差值都是一样的,就如同一把粗细均匀的尺子。但实际一把分辨率为1 cm的尺子,相邻2个刻度之间也不可能都是整数1 cm。

从数学上来讲,INL是DNL误差的数学积分,一个具有良好INL的ADC保证有良好的DNL。

1.3 温度漂移误差

温度漂移为随着温度的变化而产生的误差。一般用ppm/K或者ppm/℃来表示,计算公式为ΔGain/ΔTemperature。

2 校正AD采样结果的软硬件设计方法

2.1 AD采样校正原理

需要获得当前采样的各项误差参数来决定AD采样的校正措施[4]。通常计算偏移误差方法是测量第一个数字代码转换或“零”转换的电压,并将它与理论零点电压相比较。为了找到零点与最后一个转换代码,可以采用多种测量方式,最常用的是代码平均法和电压抖动法。

代码平均测量就是不断增大器件的输入电压,然后检测转换出的结果。每次增大输入电压都会得到一些转换代码,用这些代码的和算出一个平均值,测量产生这些平均转换代码的输入电压,计算出器件偏移和增益。

电压抖动法采用动态反馈回路控制器件输入电压,根据转换代码和预期代码的差对输入电压进行增减调整,直到2种代码之间的差值为0,当预期转换代码接近输入电压或在转换点附近变化时,测量所施加的“抖动”电压平均值,计算偏移和增益。

根据积分非线性INL、差分非线性DNL和温度漂移误差会做出极为复杂的数学模型,对于实际DSP工业控制应用没有太大意义,在本文中我们重点提出偏移与增益误差的解决方法。

如图 1所示,假设ADC实际增益为Ga,实际偏移量为b,则模拟量输入X与数字量输出Y之间的关系为Y′=GaX+b。我们这里有Ga和b 2个未知量,则只需要知道这2个未知量就可以通过ADC转换结果缓冲寄存器得到数据Y,就可以知道实际输入的电压X。对于二元一次方程,至少需要由2个方程组成的二元一次方程组,且其中的(X1,Y1),(X2,Y2)已知,Ga和b就可以通过求解式(1)方程组得出。

图1 ADC模块的转换特性曲线Fig.1 Transfer characteristic of AD module

在工业控制中,比较常见的一种做法是将2路精准电源提供给ADC的任意2个输入通道,如ADCINA0和ADCINB0,精准电源的输入电压是很容易确定的,也就是X1和X2,然后通过读取ADCINA0和ADCINB0的转换结果来获得Y1和Y2。这样,可以得到转换过程中的实际增益Ga和实际的偏移量 b,如式(2)所示。

然后,可以根据数字量转换结果Y,得到实际输入量 X=(Y-b)/Ga。

2.2 AD采样硬件设计原理

DSP应用环境主要在工业控制领域,考虑到实际软硬件成本和经济效益,需要以一个尽可能小的软硬件开销完成采样精度的要求。

在TMS320F28335的工业应用中,2路高精度电压源成本过高,对于嵌入式设备来说,需要占用大量的PCB空间。而且用2路不同的ADCIN信号来对其他信号进行校准有些浪费。在工程实践中,同样的电压经过相同型号器件组成的滤波、运算电路之后,由于各个通道的各个器件均会有不同的温度漂移误差、积分与差分非线性误差等,DSP寄存器采样的结果是有差别的,也就是说不同ADn采样线路的实际增益Gan和实际的偏移量bn是不同的。对此,本文提出一种新的采样自校正方法,其中某一路n的硬件原理如图 2所示。

图2 AD自校正硬件原理Fig.2 Hardware principle block diagram of AD self-tunning

在继电器1和继电器2的选用中,可以选择由一个线圈控制多路触点吸合的继电器以降低成本,也可以选择一个线圈控制一个触点的继电器,但是通过DSP同一个或多个GPIO口来控制继电器吸合。

在TMS320F28335控制模块中,利用GPIO口通过放大电路给继电器1和继电器2的线圈通断电来控制继电器的吸合。在DSP启动过程中,可以先将继电器1,2的a触点吸合,取得在基准电压X1下的数字量输出Y1n,然后将继电器2的b触点吸合,取得在基准电压X2下的数字量输出Y2n,然后可以根据式(2)算出该路的实际增益Gan和实际的偏移量bn,最后将继电器1的b触点吸合,接入待采样信号来进行实际信号的采样工作。

实际工程经验表明,该基准电压源1和2接近待采样电信号电压范围上下限容易经校正后获得较为精确的结果。为更进一步降低造价可以将基准电源2去掉,该路直接接地,这样可以得出该采样路的实际偏移量bn,但是会降低一部分采样的精度。

2.3 AD采样软件设计原理

进行AD采样的步骤如下[4]:

步骤1初始化系统控制、PLL、看门狗、使能外设时钟等;

步骤2初始化GPIO及外设等;

步骤3设置ADC的采样率等;

步骤4将继电器设置成触点连接到基准电源状态;

步骤5软件启动ADC采样,得出各通道对应的增益和偏移;

步骤6进入主循环,根据需要对各通道进行采样。

对于TMS320F28335型DSP而言,序列模式下对 于 150 MHzSYSCLKOUT, 采 样 率 =1/[(2+ACQ_PS)*ADC时钟 (ns)], 同时采样模式下采样率=1/[(3+ACQ_PS)*ADC 时钟(ns)]。

其中计算增益代码如下:

3 结语

经工程实践检验,采用了本AD采样自校正方法的DSP采样系统的采样精度得到了很大的提高。此校正方法对其他非DSP的嵌入式或非嵌入式AD采样系统有一定参考作用。

[1]姜艳波.数字信号处理器DSP应用100例[M].北京:化学工业出版社,2009.

[2]竺南直.TMS320 F2812 DSP原理与应用实例[M].北京:电子工业出版社,2009.

[3]刘向宇.DSP嵌入式常用模块与综合系统设计实例精讲[M].北京:电子工业出版社,2009.

[4]刘陵顺.TMS320F28335 DSP原理与开发编程[M].北京:北京航空航天大学出版社,2011.

猜你喜欢

增益器件校正
基于增益调度与光滑切换的倾转旋翼机最优控制
劉光第《南旋記》校正
基于单片机的程控增益放大器设计
基于Multisim10和AD603的程控增益放大器仿真研究
基于MR衰减校正出现的PET/MR常见伪影类型
在Lightroom中校正镜头与透视畸变
机内校正
程控增益射频宽带放大器
旋涂-蒸镀工艺制备红光量子点器件
基于 OLED 显示单元的红外上转换器件研究进展