ADC采集的数据都准确吗?

想要提高adc采集精度,软件和硬件工程师都应该了解一下相关的内容!
1写在前面
adc:analog digital converter,指模数转换,也就是(电压)模拟量转换成数字量。
大多数mcu中都集成了adc模块,同时adc也是在产品开发中使用率较高的一个模块,相信大部分人都使用过adc这个功能。
在stm32中内置最多四个高级12位adc控制器(adc1、2、3、4)。当然,adc控制器数量多少取决于stm32型号,还有部分stm32具有16位采样的adc(如stm32f373)。他们提供自校准功能,用于提高环境条件变化时的adc精度。
我们平时在使用adc中要求不是很高,可能就没有在于adc转换的值是否精确。但是,有些特定场合就需要更精确的转换值,那么我们就需要对adc做更多了解。下面章节带领大家了解相关内容。
2
adc误差
在涉及模数转换的应用中, adc精度会影响整体的系统质量和效率。为了提高此精度,有必要了解与adc相关的误差。
adc误差主要包含:adc自身和环境导致的误差。
1.adc自身导致的误差
说误差之前,先说下adc精度,为便于参考,将精度误差表达为1 lsb的倍数:
1 lsb = vref+ / 2^12.
a.偏移误差
偏移误差是第一次实际转换和第一次理想转换之间的偏离。第一次转换发生在数字adc输出从0变为1时。理想情况下,当模拟输入介于0.5 lsb和1.5 lsb之间时,数字输出应为1。
仍然是理想情况下,第一次转换发生在0.5 lsb处。用eo表示偏移误差。可通过应用固件轻松校准偏移误差。
正偏移误差的表示方法:
负偏移误差的表示方法:
b.增益误差
增益误差是最后一次实际转换和最后一次理想转换之间的偏离。增益误差用eg表示。
正增益误差的表示方法:
负增益误差的表示方法:
c.微分线性误差
微分线性误差( dle)为实际步进和理想步进之间的最大偏离。这里的“理想情况”不是指理想传输曲线,而是指adc分辨率。
理想情况下, 1 lsb的模拟输入电压变化量应导致数字代码变化。如果需要大于1 lsb的模拟输入电压才能导致数字代码变化,将观察到微分线性误差。因此, dle对应于从一个数字代码变为下一个数字代码所需的最大额外电压。
d.积分线性误差
积分线性误差为任何实际转换和端点相关线间的最大偏离,用el表示ile。
端点相关线可以定义为a/d传输曲线上连接第一次实际转换与最后一次实际转换的线。 el是指与每一次转换的这条线的偏离。因此,端点相关线对应于实际传输曲线并且与理想传输曲线不相关。
e.总未调整误差
总未调整误差( tue)为实际和理想传输曲线间的最大偏离。此参数指定可能发生的会导致理想数字输出与实际数字输出之间最大偏离的总误差。 tue是记录到的任何输入电压的理想预期值与从adc获得的实际值之间的最大偏离。
2.adc环境导致的误差
a.参考电压噪声
由于adc输出为模拟信号电压与参考电压之比,因此模拟参考上的任何噪声都会导致转换后数字值的变化。在某些封装中, vdda模拟电源被用作参考电压( vref+),因此vdda电源的质量会影响adc误差。
b.参考电压/电源调节
电源调节对于adc精度十分重要,因为转换结果是模拟输入电压与vref+值之比。
当连接到vdda或vref+时,如果这些输入上的负载及其输出阻抗导致电源输出下降,将在转换结果中产生误差。
c.外部参考电压参数
当使用外部参考电压源( vref+引脚上)时,该外部参考源有一些重要参数。必须考虑三个参考电压规格:温度漂移、电压噪声和长期稳定性。
d.模拟输入信号噪声
在采样时间内,小而高频率的信号变化可导致较大转换误差。此噪声由电气设备(例如电机、发动机点火、电源线)生成。它增加了不需要的信号,因此会影响源信号(例如传感器)。这样一来,导致adc转换结果不准确。
e.最大输入信号幅度的adc动态范围匹配不佳
为获得最高adc转换精度, adc动态范围必须与待转换信号的最大幅度相匹配。
我们假设待转换信号在0 v与2.5 v之间变化,并且vref+等于3.3 v。 如下图,有部分未使用的adc转换范围,也会使转换后信号精度下降。
3
如何提高adc采集数据准确性
这个问题之前写过相关的内容,只是没有单独提出来说,这里汇总一下。
1.减少adc相关误差的影响
上面描述了“adc自身导致的误差”,使用stm32 adc自校准功能或通过微控制器固件可以轻松补偿偏移误差和增益误差。
之前在分享的代码中有提到,比如:adc_startcalibration(adc1);
2.使外部环境误差最小化
a.参考电压/电源噪声最小化
也就是在vref和vdda引脚连接外部去耦电容。
b.模拟输入信号噪声消除
通过添加外部rc滤波器以消除高频。
c.将adc动态范围与最大信号幅度进行匹配
也就是将参考电压范围匹配采样电压(当然,需要有参考电压引脚的芯片才行)。
同时,也可以使用放大器针对adc范围调整输入信号范围:
d.温度影响补偿
第一种方法是完整描述偏移和增益漂移特性,并在存储器中提供查询表,以便根据温度变化修正测量值。此校准方法需要额外的成本和时间。
第二种方法包括使用内部温度传感器和adc看门狗,以在温度变化达到给定值时重新校准adc。
e.优化pcb布局
将模拟和数字布局分开
隔离模拟和数字电路电源
对供电和接地使用单独的pcb层
3.提高精度的软件方法
a.平均采样
·平均会降低速度但可以提高精度
b.数字滤波(抑制dc值中的50/60 hz噪声)
·设置适当的采样频率(这种情况下,从计时器触发十分有用)。
·对采样数据执行软件后处理(例如,对50 hz噪声及其谐波抑制进行组合滤波)。
c.ac测量的快速傅里叶变换( fft)
·此方法可以显示被测信号中的谐波部分。
·由于使用了更强的计算能力,因此速度较慢。
d.adc校准:偏移、增益、位权重校准
·adc校准可减少内部adc误差。但是,必须知道内部adc结构。
e.使cpu生成的内部噪声最小化
应用设计必须确保
·adc转换期间来自微控制器的干扰尽可能小。
·使采样和转换期间的数字信号变化量最小化(数字静默)。
好了,就写到这里。本文内容参考st官方应用笔记内容,经我整理分享给大家,还有许多方法,大家可以自行研究。

搭载容量提升将带动全球服务器出货规模增长5.53%
共享溜娃小车现身!还在看共享溜娃小车?共享手机iPhone7一天9.9元,还不赶紧去体验?
2019年第一季度电池储能智能电网企业正式公布了获得的风投资金
数字式渗水性测定仪-静水压的简单介绍
亿纬锂能致力打造创新而高效的能源解决方案
ADC采集的数据都准确吗?
window10卸载软件_window10怎么改管理员名称
OPPOR11什么时候上市?OPPOR11最新消息:5大拍照技术创新+骁龙660,携手OPPOR11Plus告别低配高价
安派-Eyes-DU开发板的参数说明
怎样用树莓派使LED闪烁
触控技术可为设备制造商带来市场竞争优势
互动折纸花DIY图解
精确测量可降低设备功耗
成功进入测试的亚马逊2代无人机Prime Air:结果完美,无人机送货时代即将来袭
苹果MIX处理器亮点前瞻
端口映射和端口转发的区别?
SD-WAN网关监控异地组网
GCD-SE1000位置传感器LVDT应用原理
10.2.2 类脑芯片∈《集成电路产业全书》
中国移动出台的20亿物联网终端补贴策略让NB模组成本下降超过了50%