历史上的今天
返回首页

历史上的今天

今天是:2025年03月03日(星期一)

正在发生

2021年03月03日 | 单片机提高ADC精度总结

2021-03-03 来源:eefocus

在常用传感器中,模数转换器是其中至关重要的环节,模数转换器的精度以及系统的成本直接影响到系统的实用性。因此。如何提高模数转换器的精度和降低系统的成本是衡量系统是否具有实际应用价值的标准。

 

 

                                                                     图 1    ADC工作流程

一、ADC简单介绍                                                                             

ADC可分为SAR型、积分型、Σ-Δ型、折叠型等方式。SAR ADC因其功耗低、精度高、面积小等特点而被用于超大规模IC和片上系统中。SAR ADC的精度是关键参数。SAR ADC有采样、量化和编码等三种功能。三种功能中,采样最重要。采样的精确性决定了ADC的转换精度。逐次逼近型 ADC 中电路模块主要包括:S/H 电路、电容阵列、比较器、逐次逼近控制逻辑、时钟及偏置电路等,而 S/H 电路、电容阵列、比较器是高精度逐次逼近型 ADC 设计的关键。


首先由采祥保持电路采集并保持某点信号一段时间,在保持的这段时间里,对该点信号进行量化处理,以0或1数字编码形式输出,该串数字码与不同权重的参考电压相乘再相加,就是该点的电压值。按照这种方式,每隔一定周期就可以量化连续的模拟信号某点的电压值,采样点越多,还原的模拟信号就会越精确。

 

 

                                                                      图 2    不同ADC架构性能总结

ADC的精度是整个电路和系统精度至关重要的部分。ADC的精度和分辨率是两个不同的概念。精度指转换后所得结果相对与实际值的准确度;分辨率是指转换器所能分辨的模拟信号的最小变化值。一般来讲,分辨率越高,转换误差越小;但影响精度的因素较多,分辨率很高的ADC,可能并不一定具有很高的精度。


所谓嵌入式模数转换器是指将模拟多路开关、采样保持、A/D转换、微控制器集成在一个芯片上。经常采用逐次比较型进行A/D转换,模拟输入信号一般为非负单极性。且输入信号的电压范围为0~AVREF。


二、影响ADC精度参数                                                                    

在验证ADC性能的时候,可以通过相关参数衡量其性能优劣,这些参数大体分为两大类,即静态参数和动态参数。



1、ADC静态特性参数静态特性与时间无关,它是指实际量化特性与理想量化特性之间存在的偏差,包括:积分非线性误差(Integral Non-Linearity:INL)、微分非线性误差(Differential Non-Linearity; DNL)、增益误差(Gain error)、失调误差(Offset error)、分辨率(resolution)。


(1)增益误差(Gain error)

ADC 模块的输入、输出是线性关系。但实际上, ADC模块是存在增益误差和偏移误差的, 其中增益误差是实际曲线斜率和理想曲线斜率之间的偏差, 偏移误差(或失调误差)是0 V输入时实际输出值与理想输出值(0 V)之间的偏差。

(2)积分非线性误差(Integral Non-Linearity:INL)

模数转换器的积分非线性误差用来衡量实际特性曲线与理想特性曲线的最大差值,它表示了实际有限精度曲线相对与理想有限精度曲线的偏移量,可以用来估算谐波失真,通常以百分数或LSB为单位。

(3)微分非线性误差(DNL)

微分非线性误差为每个量化阶梯上测量的相邻编码之间的距离,通常是由电路元器件的非理想因素引入的模拟増量偏移值,以百分比或LSB为单位。

 2、ADC动态特性参数

ADC的动态特性参数通常与ADC的转换速率和输入信号频率相关。主要包括:信噪比(SNR)、信噪失真比(SNDR)、无杂散动态范围(SFDR)、总谐波失真(THD)、有效位数(ENOB)。


3、温度湿度环境及电源电压的波动引起的误差、采样电压的波动

在实际应用中,由于环境温度、湿度等参数的变化可能会引入一些误差。电源电压的不稳定也会带来一定的误差,采样电压的波动(可能是由于高频信号叠加,或者其他随机干扰信号),对整个系统的精度产生影响,电源电压变化引起的转换误差在高精度要求场合不可忽略。


4、其他因素

模数转换器(ADC)想要在实际应用中达到标称的精度,仅仅依赖ADC模块本身是不够的,实际的测量精度还会受到一系列外在因素的影响,例如:

          •ADC时间配置(包括采集时间、转换时间、采样时间、采样时钟抖动等等)

          •电源性能(噪声和内部阻抗)

         •数据采集系统中数字和模拟部分的隔离情况

         •内部阻抗与外部阻抗的匹配

         •输入/输出开关切换的影响

         •PCB布局布线

三、提高ADC精度方法                                                                   

软件算法提高精度(常用的方法)

在运用具有内置模数转换模块的嵌入式单片机来进行模数转换的过程中,为了提高分辨率或对微弱信号采样识别,目前比较常用的方法主要是采用过采样技术来实现低于最小采样分辨率的微弱信号采样。该技术是通过多次对输入的采样信号叠加白噪声后,再模数转换输出,然后对输出取平均值。 在采样过程中,导致采样电压波动的因素有很多。可能是由于外界的随机信号干扰引起。也可能是由于电路中产生的谐波信号引起的周期性干扰信号。用软件滤波方法则可以有效减小此类误差。常用滤波算法如下:

      算术平均滤波法

      递推平均滤波法(又称滑动平均滤波法)

      中值滤波法

      一阶滞后滤波法

       加权平均滤波法

 针对环境及电压波动解决方案如下:

     (1)采用高精度稳定电源供给,减少电源电压变化误差。

        基准电压是提供ADC转换时的参考电压,是保证转换精度的基本条件。在要求较高精度时,基准电压要考虑单独用高精度稳定电源供给。此外,外加模拟电源和数字电源也要尽量采用稳定性高(电源电压敏感度<0.002%)、受温度变化小的电源。当然可以选择温度系数比较好、精度比较高的电源模块提供稳定的电压。但是由于高精度的电源管理模块价格往往不菲,会大大增加系统的成本。在本设计中,采用市场上面比较常见的LDO作为电源电压。

     (2) 利用数学变换减小运算误差,减小温度漂移、湿度、环境等及电源电压的波动引起的误差。

 

 

(3)利用软件滤波方法。


针对增益误差和偏移误差解决方案如下:

     (1)最小二乘法和一元线性回归(直线拟合问题) 用稳定信号源产生多个标准电压, 通过输入ADC通道记录采样值。然后利用最小二乘和一元线性回归思想处理数据, 求出的拟合最佳曲线, 使得各个坐标点到该最佳曲线的距离的平方和(残差平方和)最小。

     (2)在用计算机对模拟信号采集情况下,将编码器零电平信号读入计算机内存中相应的单元,然后才开始采样程序的执行。在采样程序中,将采集到的数据与零电平相减,从而基本上消除偏移温漂误差。


ADC时间配置

在器件中,采样时间等于一个ADC时钟周期。该ADC模块的采样时间不仅依赖于ADC时钟,还与其他配置有关,如NXP芯片中可以通过修改ADCx_CFG1寄存器中的ADLSMP位和ADCx_CFG2寄存器中的ADLSTS位来对采样时间进行配置。因此,总的转换时间并不会随采样时间增加而显著增加,这种特性在高输入阻抗的情况下尤其有用。

ADC硬件处理


为了使ADC达到最佳的性能,我们需要正确地设计和配置整个系统。在硬件方面,可进行以下配置,例如: • 在芯片电源引脚间放置0.1uF的电容,电容应尽可能地贴近芯片封装(每对电源引脚间放置一个电容)

      •在芯片电源引脚间放置约为100uF的电容

      •PCB走线长度应该尽量短 •在实际应用设计中应充分考虑PCB走线上寄生参数的影响

       •必须小心处理模拟电源以及参考引脚,使它们的噪声幅度最小 •针对数字部分和模拟部分使用不同的供电电源和地平面

      •如果数字部分和模拟部分连接到了相同的供电电源,则应该在数字部分和模拟部分之间使用一个小的电感或磁珠进行连接

      •使用地平面将有噪声的数字元件与模拟元件隔离开来,走线时用模拟地将模拟信号包围起来

     外部RC元件的取值会从本质上影响ADC转换的精度,为了获得最佳的ADC性能,我们需要小心对待并设计外部RC元件,在选取采样时间时也必须参考采样电容充电的时间常数


推荐阅读

史海拾趣

Antiference公司的发展小趣事

近年来,随着物联网、5G等技术的快速发展,电子行业面临着巨大的变革。Antiference公司敏锐地捕捉到这一趋势,及时调整战略方向,将研发重点转向物联网设备的电磁兼容性研究。通过不断创新和优化产品,Antiference成功抓住了物联网发展的机遇,实现了业务的快速增长。

COILCRAFT公司的发展小趣事

多年来,COILCRAFT公司凭借其卓越的产品质量、创新能力和良好的服务赢得了广泛的赞誉。在电子行业中,COILCRAFT已经成为高性能磁性元件设计、制造和分销领域的知名品牌。许多知名企业都选择与其合作,共同推动电子行业的发展。同时,COILCRAFT还积极参与行业交流和合作,为推动行业的进步贡献自己的力量。

以上这些故事只是COILCRAFT公司发展历程中的一部分,它们共同展示了这家公司在电子行业中的成长与壮大。未来,随着科技的不断发展和市场需求的不断变化,COILCRAFT将继续保持创新精神,为客户提供更优质的产品和服务。

Ercona Corp公司的发展小趣事

多年来,COILCRAFT公司凭借其卓越的产品质量、创新能力和良好的服务赢得了广泛的赞誉。在电子行业中,COILCRAFT已经成为高性能磁性元件设计、制造和分销领域的知名品牌。许多知名企业都选择与其合作,共同推动电子行业的发展。同时,COILCRAFT还积极参与行业交流和合作,为推动行业的进步贡献自己的力量。

以上这些故事只是COILCRAFT公司发展历程中的一部分,它们共同展示了这家公司在电子行业中的成长与壮大。未来,随着科技的不断发展和市场需求的不断变化,COILCRAFT将继续保持创新精神,为客户提供更优质的产品和服务。

ApexTool Group公司的发展小趣事

在电子行业中,不同客户对电动工具的需求各异。Apex Tool Group深知这一点,因此提供了定制化服务,根据客户的具体需求设计和生产电动工具。有一次,一家大型电子企业因为特殊生产工艺的需要,对电动工具提出了特殊要求。Apex Tool Group迅速响应,组织研发团队进行攻关,最终成功研发出符合客户需求的定制化产品。这一成功案例不仅展示了Apex Tool Group的技术实力,也进一步巩固了与客户的合作关系。

Everett Charles Technologies (ECT)公司的发展小趣事

随着全球电子产业的快速发展和市场竞争的加剧,ECT不断加快全球化战略的实施。公司在全球范围内设立分支机构,积极拓展海外市场,加强与国际知名企业的合作与交流。同时,ECT也注重培养本土人才和创新能力,不断提升公司的核心竞争力。展望未来,ECT将继续秉承“创新、质量、服务”的理念,致力于成为全球领先的电子测试系统供应商和服务商。

以上五个故事概述了Everett Charles Technologies (ECT) 公司的发展历程和关键节点,每个故事都体现了公司在技术创新、市场拓展和全球化战略方面的努力和成果。这些故事不仅展现了ECT的辉煌过去,也预示着其更加美好的未来。

上海国芯(Gcore)公司的发展小趣事
优化电源设计,加入滤波电容等元件以减小电源波动对电路的影响;采用温度补偿等措施提高电路的温度稳定性。

问答坊 | AI 解惑

电话遥控到多网络遥控

多网络遥控,有几分发展前景?希望涉足这方面的大虾给予指教!…

查看全部问答>

SIP2010信号与图像处理国际会议(Ei&ISTP index)征文

Signal and Image Processing (SIP 2010) Special Track within WiCOM2010                               CALL FOR PAPERS     ...…

查看全部问答>

wince6.0+6410 flash 分区问题

最近在研究用ce6.0+6410定制系统,打算把flash分成两个区,一个存放系统镜像文件等, 剩下的空间用作存储设备,存放应用程序等。目前按照以下的代码修改后,存在一些问题, 例如:系统启动后,只是加载整个flash作为一个分区(表明分区不成功), ...…

查看全部问答>

寻使用过AT926x系类ARM内置看门狗的高手

在网上查了很多资料,AT926x系类的ARM内置看门狗基本上很少用,都推荐使用外部看门狗,我尝试了好多天使用内置的看门狗来监控自己的应用程序,但都没有找到切入点,十分不甘心,向大家学习。 先把我的尝试简单介绍一下: Kernel\\Watchdog目录下 ...…

查看全部问答>

UCOS-II中信号量用法

最近在移植UCOS-II,但是发现里面的信号量用法不是成对使用的. 既在一个任务里用 OSSemPend(Signal,0,&err); 而在另一个任务里用OSSemPost(Signal); 我不明白其中的原理,不是成对使用的吗? 在一个任务里 OSSemPend(Signal,0,&err); //自己的 ...…

查看全部问答>

用directshow做camera处理,但我从Transform的IMediaSample *pIn取出来的图像就是花屏,,请问是为什么?怎么办?难道这个手机

用directshow做camera处理,但我从Transform的IMediaSample *pIn取出来的图像就是花屏,,请问是为什么?怎么办?难道这个手机不能用directshow?…

查看全部问答>

建立一个动态WCE Dymanic-Link Library 驱动文件的步骤(急啊,帮忙解决)

我现在的步骤如下:(WINCE6.0) 1、在driver目录下ADD->new sources subproject,然后建立一个WCE Dymanic-Link Library 子工程 2、程序代码有GPIO.app,gpio.h 3、然后定义 GPIO.def LIBRARY GPIO EXPORTS GPI_Init       &n ...…

查看全部问答>

经典C语言书籍【中文版】

本帖最后由 paulhyde 于 2014-9-15 09:00 编辑 经典C语言书籍【中文版】  …

查看全部问答>

大家猜猜这是啥?

本帖最后由 dontium 于 2015-1-23 13:03 编辑 RT,大家猜猜这是啥?     …

查看全部问答>

真正的智能内存清理

有用得着的。请下载!…

查看全部问答>