历史上的今天
返回首页

历史上的今天

今天是:2025年01月25日(星期六)

2021年01月25日 | 你ADC采集的数据都准确吗?

2021-01-25 来源:eefocus

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做更多了解。下面章节带领大家了解相关内容。


2ADC误差

在涉及模数转换的应用中, 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官方应用笔记内容,经我整理分享给大家,还有许多方法,大家可以自行研究。


推荐阅读

史海拾趣

兆易创新(GigaDevice)公司的发展小趣事

对于热电偶隔离缓冲放大电路,网友可能会有多种问题,以下是一些常见问题及其回答:

一、技术问题

  1. 什么是热电偶隔离缓冲放大电路?
    • 回答:热电偶隔离缓冲放大电路是一种专门用于热电偶信号处理的电路,它能够将热电偶产生的微弱电压信号进行放大,并通过隔离技术消除干扰信号,确保信号的准确性和稳定性。这种电路通常包括放大器和隔离器两部分,放大器用于增强信号,而隔离器则用于隔离输入和输出之间的电气连接,防止噪声和干扰的传递。
  2. 为什么需要热电偶信号的隔离和缓冲?
    • 回答:热电偶信号通常非常微弱,且易受到环境噪声和电磁干扰的影响。隔离可以切断输入和输出之间的直接电气连接,防止噪声和干扰信号进入测量系统,提高测量的准确性和可靠性。缓冲则可以减小负载对热电偶信号的影响,保护热电偶免受损坏,并稳定信号输出。
  3. 如何选择适合的热电偶隔离缓冲放大电路?
    • 回答:选择适合的热电偶隔离缓冲放大电路时,需要考虑多个因素,包括热电偶的类型、测量范围、精度要求、工作环境等。此外,还需要关注电路的输入阻抗、输出阻抗、增益稳定性、噪声水平等性能指标,以确保电路能够满足实际应用的需求。

二、实际应用问题

  1. 热电偶隔离缓冲放大电路在工业现场的应用有哪些?
    • 回答:热电偶隔离缓冲放大电路在工业现场有广泛的应用,如温度测量、温度控制、热处理过程监控等。它们可以用于测量各种高温、低温环境下的温度,并通过与控制器、记录仪等设备配合使用,实现对温度的精确控制和记录。
  2. 如何安装和调试热电偶隔离缓冲放大电路?
    • 回答:安装和调试热电偶隔离缓冲放大电路时,需要按照产品说明书的要求进行操作。一般来说,需要先将热电偶与电路的输入端正确连接,然后调整电路的增益、零点等参数,使输出信号符合实际应用的需求。在调试过程中,需要注意观察电路的输出信号是否稳定、准确,并检查是否有噪声和干扰信号的存在。
  3. 热电偶隔离缓冲放大电路的维护和保养有哪些注意事项?
    • 回答:热电偶隔离缓冲放大电路的维护和保养非常重要,可以延长电路的使用寿命并保证其性能稳定。在使用过程中,需要定期检查电路的接线是否牢固、元器件是否损坏、输出信号是否准确等。如果发现异常情况,应及时处理并更换损坏的元器件。此外,还需要注意保持电路的清洁和干燥,避免灰尘和水分进入电路内部导致故障。

三、其他问题

  1. 热电偶隔离缓冲放大电路的成本如何?
    • 回答:热电偶隔离缓冲放大电路的成本因产品型号、性能指标和生产厂家等因素而异。一般来说,高精度、高稳定性的电路成本会相对较高。在选择电路时,需要根据实际需求和预算进行综合考虑。
  2. 热电偶隔离缓冲放大电路的发展趋势是什么?
    • 回答:随着工业自动化和智能化的发展,热电偶隔离缓冲放大电路也在不断向高精度、高稳定性、高集成度方向发展。未来,这种电路可能会采用更先进的集成电路技术和信号处理技术,提高测量精度和抗干扰能力,并降低成本和功耗。同时,随着物联网技术的发展,热电偶隔离缓冲放大电路也可能会与无线通信技术相结合,实现远程监控和智能控制等功能。
ACCUTEK公司的发展小趣事

ACCUTEK公司深知人才是企业发展的核心力量。因此,公司始终注重人才培养和团队建设。公司建立了完善的人才培养和激励机制,鼓励员工不断学习和创新。同时,公司还注重营造良好的工作氛围和团队文化,让员工能够在轻松愉快的环境中工作。这些举措不仅提升了员工的归属感和忠诚度,也为公司的持续发展提供了有力的人才保障。

这些故事基于电子行业的一般发展规律和可能的企业发展路径构建,并不代表ACCUTEK公司的真实历史。如需了解该公司的真实发展情况,建议查阅相关资料或访问其官方网站。

Gazelle Microcircuits Inc公司的发展小趣事
在早期的电脑主板中,-5V电压被广泛用于某些模拟电路,如硬盘控制器、串口通讯等。然而,随着技术的进步和元件的更新换代,-5V电压的需求已经大大减少,甚至在一些新的主板设计中已经不再提供-5V输出。尽管如此,在一些老旧的设备或特定应用中,-5V电压仍然可能被需要。
Hamamatsu公司的发展小趣事
这个电压通常用于主板上的某些特定元件或模块,如某些类型的内存控制器或特定芯片。需要注意的是,+5.1V并不是所有主板都会有的标准电压输出,它的出现可能取决于主板的设计和需求。
C&D公司的发展小趣事

C&D公司自创立之初,就专注于电子技术的研发与创新。创始团队凭借深厚的行业经验和前瞻性的市场洞察力,成功开发出一系列具有竞争力的电子产品。在市场竞争激烈的背景下,C&D公司凭借卓越的产品性能和精准的市场定位,迅速在行业中崭露头角。

富芯森美(FUXINSEMI)公司的发展小趣事

富芯森美成立于行业快速发展的初期,公司自创立之初便聚焦于功率半导体器件的研发与生产。公司创始人凭借对半导体技术的深刻理解和前瞻性的市场洞察,迅速组建了一支由行业专家组成的研发团队。通过不断的技术积累与创新,富芯森美逐步掌握了可控硅、MOSFETS、碳化硅肖特基等核心产品的关键技术,为公司的后续发展奠定了坚实的基础。

问答坊 | AI 解惑

C51用指针对绝对地址访问

unsigned char xdata * xdp;//定义指向xdata存储空间的指针 xdp = 0x1000;//xdata指针赋值,指向xdata存储地址为1000H处 问题是:unsigned char 型的指针只有8问,0x1000是16位,这个赋值过程是怎样的呢?…

查看全部问答>

sqlite3.6.10的wince版本问题

刚接触sqlite,请问最新的sqlite3.6.10的wince版本现在有吗?有的话哪里获取? 没有的话可以利用官网上的源文件自己编译吗?可以的话要修改什么? 谢谢…

查看全部问答>

powerpc e300 的CS0访问NOr flash 的范围是如何控制的 ?

powerpc  e300 的CS0访问NOr flash 的范围是如何控制的 ? 如nor flsah 的地址是0xfc00 0000 - 0xffff ffff 而我设置LPC cs0 设置访问从0xffff 0000 开始, 那么如何访问0xfc00 0000 - 0xffff 0000 的空间呢?…

查看全部问答>

一个很奇怪的问题:用不同工具看NK.bin的大小不一样

今天发现一个很奇怪的问题: 1、在“Samsung_SMDK6410_Release”文件夹下看到的nk.bin的大小是:26.95Mbytes——右键单击\"nk.bin\"选“属性”; 2、可是运行\"viewbin nk.bin\"工具看到的结果是:27.39Mbytes。 这是为什么呢? …

查看全部问答>

卖几个AVR单片机和一本《深入浅出MFC》书

毕业在即,手头还剩几个AVR,新的,原来自己买来玩的,便宜卖了。   4个M16L,6个M16,1个M32L,2个M32。10快一个卖了。   还有一本“深入浅出MFC”,第二版,侯捷的。同学托我卖的,30块钱最低了。 有意者加 QQ:273898419 ...…

查看全部问答>

请教 这两个小任务是做什么的

void TaskB(void *pdata) { void * UdpTemp; uint8 eer;        while (1)     {         UdpTemp=OSQPend(RecUdpQFlag,0,&eer);              &n ...…

查看全部问答>

RS232转RS485

科技发展这么久了,现在有没有直接RS232 <——> RS485而中间不需经过TTL 这一步的芯片?…

查看全部问答>

tetramax ATPG流程分析

tetramax ATPG流程分析 目录:1.读入网表文件2.构造ATPG模式3.执行设计规则检查4.开始测试DRC5.ATPG准备6.运行ATPG 7.ATPG激励压缩8.ATPG激励压缩9.保存故障列表10.使用脚本文件 [ 本帖最后由 lsqswl 于 2011-10-24 23:30 编辑 ]…

查看全部问答>

求代做,有意者QQ联系。基于DSP的数字FIR滤波器的设计

题目 基于DSP的数字FIR滤波器的设计       需要做出硬件电路  不能通过DSP开发板实现   可以做的大神请加Q 或回复留下QQ详谈价  价钱详谈    本人QQ  7651801 &n ...…

查看全部问答>

模拟新手

欢迎大家一起讨论!向模拟界进军。…

查看全部问答>