ADC模块采样校正技术20122要点_第1页
ADC模块采样校正技术20122要点_第2页
ADC模块采样校正技术20122要点_第3页
ADC模块采样校正技术20122要点_第4页
ADC模块采样校正技术20122要点_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、ADC模块采样校正技术1. F2812 的 ADC 模块TMS320F2812内部集成了 ADC转换模块,该模块具有如下的功能:1 . 12位ADC核,内置了双采样保持器( S/H);2 .顺序采样模式或者同步采样模式;3 .模拟输入:0V3V;4 .快速转换时间运行在 25MHz, ADC时钟,或12.5MSPS;5 . 16通道,多路选择输入;6 .自动序列化,在单一时间段内最大能提供 16个自动A/D转换,每个转换可编程对 16个 输入通道中的任何一个进行选择。7 .序列发生器可按 2个独立的8状态序列发生器或1个16状态序列发生器。2. ADC模块误差2.1 误差定义常用的A/D转换器

2、主要存在:失调误差、增益误差和线性误差。这里主要 讨论失调误差和增益误差。理想情况下,ADC模块转换方程为y=xxmi,式中x二 输入计数值=输入电压4095/3 ; y=输出计数值。在实际中,A/D转换模块的各 种误差是不可避免的,这里定义具有增益误差和失调误差的ADC模块的转换方程为y=xXma b,式中ma为实际增益,b为失调误差。通过对F2812的ADC 信号采集进行多次测量后,发现 ADC增益误差一般在5%以内,即0.95图1理想ADC转换与实际ADC转换2.2 影响分析在计算机测控系统中,对象数据的采集一般包含两种基本物理量:模拟量和 数字量。对于数字量计算机可以直接读取, 而对于

3、模拟量只有通过转换成数字量 才能被计算机所接受,因此要实现对模拟量准确的采集及处理, 模数转换的精度 和准确率必须满足一定的要求。由于F2812的ADC具有一定增益误差的偏移误 差,所以很容易造成系统的误操作。下面分析两种误差对线性电压输入及A/D转换结果的影响。F2812用户手册提供的ADC模块输入模拟电压为03 V,而实际使用中由 于存在增益误差和偏移误差,其线性输入被减小。下面以y=xXl.05+80为例介绍各项值的计算。当输入为 0时,输出为80, 由于ADC的最大输出值为4095,则由式y=xXl.05+80求得输入最大电压值为 2.8013。因此,交流输入电压范围为1.4007 :

4、1.4007 ,此时有效位数 N=ln4015/ln2=11.971,mV/ 计数位=2.8013/4015=06977,其余项计算同上。表1中的最后一行显示了 ADC操作的安全参数,其有效位数减少为11.865位, mV/计数位从0.7326增加为0.7345 ,这将会使转换结果减少0.2%。在实际应用中,所采集的信号经常为 双极型信号,因此信号在送至ADC之 前需要添加转换电路,将双极型信号转化为单极型信号。典型的转换电路如图2所示。对于ADC模块,考虑到增益误差和失调误差对输入范围的影响,转换电 路需要调整为如图3所示的电路。在图3中,输入增益误差的参考范围已经改 变。图2理想情况下的电

5、压转换电路095/3=1954 ,而由ya=1954 X1.05+80计算得实际转换值,则双极 性增益误差为ya-ye=2132-1954=178(9.1% 误差)。通过计算可以看出,ADC的误差大大增加,因此要使用 ADC进行数据采集,就必须对 ADC进行校正,提 高其转换精度。通过以上分析可以看出,F2812的ADC转换精度较差的主要原因是存在增 益误差和失调误差,因此要提高转换精度就必须对两种误差进行补偿。3. ADCJ正措施3.1 .硬件角度(1)硬件滤波,滤除干扰信号;(2)电路板布线时需要注意不要让ADCINxx引脚运行在靠近数字信 号通路的地方,这样能使耦合到ADCS入端的数字信

6、号开关噪声大大 降低;(3)采用适当的隔离技术,将 AD微块电源引脚和数字电源隔离;(4)如果采样电路部分是经过多路开关切换的,可以在多路开关输出上接下拉电阻到地;(5)采样通道上的电容效应也可能会导致A取样误差,因为采样通 道上的等效电容可能还在保持有上一个采样数据的数值的时候,就对当前数据进行采样,会造成当前数据不准确。如果条件允许,可以在 每次转化完成后现将输入切换到参考地,然后在对信号进行下一次采 样。2.软件角度(1)多次采样取平均值算法,最为简单;(2)数字滤波算法,例如采用中值滤波法,具体方法为:连续采样20个数据,对这些数据进行排序之后,去掉最小的5个和最大的5个,然后取中间1

7、0个采样数据的平均值。(3)软件校正算法。F2812的ADC转换精度较差的主要原因是存在增益误差(Gain Error )和偏置误差(Offset Error ),要提高转换精度就必须对两种误差进行补偿,下面将具体介绍这种实用的补偿方法。理想的12位ADC应该是没有增益误差和偏置误差的,因此其转换的计算公式为:Y=x*mi其中,x=input count=inputvoltage*4095/3.0V丫=output countMi=ideal gain=1但是,实际上F2812的AD是存在增益误差和偏置误差的,其转换的计算公式如式2所示:Y=x*ma+mb其中,ma=actual gainB=

8、actualoffset(与输入为0时相关)Output(y)4095实际的和理想的转换计算曲线如图2所示:actual Gam maactual offset bideal Gain = mi755 lnputw(3.0V)在校正的时候,首先选用 ADC的任意两个通道(例如 A1,A2)作为参考输入通道,并分别 输入已知的直流参考电压, 通过读取相应的结果寄存器获取转换值, 利用两组输出值便可求 得ADC模块得校正增益和校正偏置,然后利用这两个值对其他通道转换数据进行补偿。首先,计算两个通道得参考电压转换后得理想结果。在讲述算法之前,我们先来看看各个参Outputfyl4095yLActua

9、l offsfft b4095 (10 明0IdeaE Gain = miIdeal Input (x)数之间的关系,如下图所示:Actual Gain - ma由图可以得到各参数之间的关系如下:y = x * ma + bma = (yH - yL)/(xH - xL)b = yL - xL*maCalGain = (xH - xL)/(yH - yL) CalOffset = yL * CalGain - xL x = y * CalGain - CalOffset给A1通道加2.5V,给A2通道加0.5V。A1input=VHigh=2.5V ,贝U 2.5*4095/3.0=3413(

10、理想值)A2input=VLow=0.5V ,贝U 0.5*4095/3.0=683(理想值)校正C语言的算法如下:# defineHIGH_IDEAL_COUNT 3413/ 理想高值# defineLOW_IDEAL_COUNT 683/ 理想低值# define SAMPLES20/ 采样次数 /定义所需的各个变量Uint16Avg_HighActualCount;Uint16Avg_LowActualCount;Uint16Sum_HighActualCount;Uint16Sum_LowActualCount;Uint16 CalGain;Uint16CalOffset;Uint16

11、HighActualCountSAMPLES;Uint16LowActualCountSAMPLES;/变量初始化 Voidinitvar (void) (Avg_HighActualCount=0;Avg_LowActualCount=0;Sum_HighActualCount=0;Sum_LowActualCount=0;CalGain=0;CalOffset=0;Uint16 I;For(i=0;i4;/读采样数据LowActualCount=AdcRegs.AdcResult24;If(i=SAMPLES)采样满规定次数 ( i=0;for(k=0;k4;/2.5v实际采样值放寄存器

12、4中。RefLowActualCount=AdcRegs.RESULT34;/0.5v实际采样值放寄存器 3中。If(SampleCountSAMPLES)SampleCount=SAMPLES;Avg_RefHighActualCount=(Avg_RefHighActualCount*SampleCount+Ref HighActualCount)/(SampleCount+1);/2.5V采样软件滤波。Avg_RefLowActualCount=(Avg_RefLowActualCount*SampleCount+RefL owActualCount)/(SampleCount+1);

13、/0.5V采样软件滤波。T2=2730.0;/t2=RefHighActualCount-RefLowActualCount=3413-683=2730.0/实际2.5与0.5v采样值放寄存器后的差值。t1= Avg_RefHighActualCount - Avg_RefLowActualCount; CalGain=t2/t1;/增益误差系数。CalOffset=RefLowActualCount/CalGain-REF_LOW_IDEAL_COUNT;/失调误差系数。/滤波次数。SampleCount+;通过计算出的CalGain和CalOffset ,我们就能得到校正后其他通道的输入电

14、压 了。在AD软件校正方面,我们还可以加入滤波算法,这种方法一般在采样直流 信号中,考虑到成本时用到,一般是把采样值取N个点存储在数组a中,在作处理时比较常用的有两种方法:取 N个点的均值,或者将N个采样点的值按 从小到大进行排列之后,取中间的N/2个值进行求和取平均值。为了使得AD能 够获得比较好的精度,在我们PCB布线时就需要注意,下面这段话引自于TI的手册,以供大家参考:”对 ADCINxx引脚最主要的限制是不要运行在靠近数 字通路的地方,这会使耦合到ADC输入端的数字信号线上的开关噪声减到最小。 此外,可以采用适当的隔离技术,将 ADC模块电源引脚和数字电源隔离。”5.实际的ADC采样

15、电路图我们在项目实际研发过程中采用的AD采样的硬件电路如下图所示:图1为电流信号检测与调理电路,电压信号的检测与调理电路与此相类似。从电流传感器输出的信号CT1首先经过了由R1、C1组成的低通滤波电路,滤除高频干扰信号,然后通过U1构成的电压跟随器, 实现了电路前后两级的隔离。由于2812的I/O 口输入电平必须低于3.3V ,因此在芯片引脚的输入前端加了一个稳压管Z1 ,使AD 输入的电压幅值不超过3V。6. 2327. 23238. 2329. 232310. 23211. 3212 . sgfdg13 .实例一:2.1.1 AD 采样F2812的ADC模块是一个12位的模/数转换器。对于

16、 16路白AD输入 单元,本实验平台为其中的8路AD输入通道确定了功能,配置了相关的单元电路,包括:两路温度信号采集、交流信号采集、温度给定、鼓风机 调速给定、力应变片电桥输出信号采集、压电传感器输出信号采集以及流 量计输出信号采集。如图2.1所示:温度给定和鼓风机调速给定是对电位器上直流电压的 采样(图a),比较简单不作过多介绍;力应变片电桥输出信号采集、压电 传感器输出信号采集(图c)以及流量计输出信号采集(图b)是接口部分,分别与传感器动态试验部分(第四章)和流量仪表部分(第三章)连 接。这里着重介绍温度信号采集和交流信号采集。2.1,1.1温度信号采集两路温度信号分别通过F2812的A

17、D0、AD1通道来采集。由于两个通道完全一样,这里只介绍一路温度信号( ADO)的采集。(1)硬件原理温度传感器采用的是NS公司生产的LM355 ,它具有很高的工作精度和较宽的线性工作范围,它的输出电压与摄氏温度线性成比例,且无需外 部校准或微调,可以提供土 1/4C的常用的室温精度。LM35的输出电压与摄氏温度的线形关系可用下面公式(2.1 )表示,0c时输出为 0 V,每升高1C,输出电压增加10 mV。Vut(T)=10MT(2.1)式中,输出电压 VOUT单位为mV温度T单位为C。其电源供应模式有单电源与正负双电源两种。正负双电源的供电模式 可提供负温度的测量,单电源模式在25c下电流

18、约为 50 mA,非常省电。本系统采用的是单电源模式,可测温度范围0150C。温度传感器电路将测量到的温度信号转换成电压信号输出到信号放大电路,与温度值对应的电压信号经放大后输出至A/D转换电路。电压信号转换成数字量后DSP根据显示需要对数字量进行处理,再送数码管进行显示。关于数码管显示部分的设计在后面“2.2输出单元”中介绍。由于温度传感器 LM35输出的电压范围为 01.5V ,虽然该电压范围在A/D转换器的输入允许电压范围内,但该电压信号较弱,如果不进行放大 直接进行A/D转换则会导致转换成的数字量太小、精度低。系统中选用 低漂移放大器 OPA2335对LM35输出的电压信号进行幅度放大,电压放大 倍数为2倍,电路图如图 2.2所示。(2)软件设计通过定时器在中断中实现AD采样。采用多次采样求平均值的方法使得最后计算出的温度值更准确。主程序实现DSP ADG定时器的初始化,并在数码管上显示温度值。软件流程图如图2.3所示。ADC模块初始化中断服务程序入口配置ADC配置EVA设置定时器1采样计数值清零数码管显示清除AD中断标志并开总中断图2. 3 温度测量单元软件流程图(3)实验结果在实际的使用过程中,我们

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论