外部因素导致的 ADC误差来源分析

news/2025/6/21 16:17:33/

前面分享了ADC自身因素带来的误差,现在再分享一波由于外部因素导致的ADC采样误差。

一、模拟信号源输入减少带来的误差

看一个STM32的ADC转换器的示意图:

从图中可以看到,输入源与采样引脚之间存在阻抗RAIN,流入引脚的电压可能因为阻抗的存在产生一定的压降,导致最终输入采样引脚的电压变小。

CADC采样电容通过RADC电阻为其充电,如果RAIN的阻抗选取不合理的话,会导致保持电容充满电所需要的时间变长。

一般而言,RC的充电的时间常量为:

tc =(RADC+RAIN)× CADC

当采样时间 < 通过RADC + RAIN将CADC充满电所需的时间(ts < tc),则ADC转换的数字值会小于实际值。

二、ADC参考电压噪声

我们到知道,ADC输出的数字量转换由模拟信号电压与参考电压之比,再根据ADC转换器的位数换算出来的。

因此模拟参考的参考电压上的任何噪声都会导致转换后数字输出值的变化。

在某些芯片中,VDDA模拟电源会直接用作参考电压(VREF+),因此VDDA电源的质量会直接影响ADC采样转换的误差。

例如:

当模拟参考电压为3.3 V(VREF+ = VDDA)且采样信号输入为1 V时,转换后的结果为: 

(4095/3.3)× 1 = 1240.9 = 0x4D9 

然而,如果模拟的参考电压有波动时,采样输出也会被影响。

假如参考电压的波动为 40mv时,此时的转换值为:

(4095/3.34)× 1 = 1226 = 0x4CA(VREF+在峰值处)

由此,两者的误差:

 误差 = 0x4D9 – 0x4CA = 15 

可见,参考电压对ADC采样转换的影响是很大的,稳定的参考电压源很必要。

三、采样信号的最大输入值与ADC动态范围匹配不合理

正常情况下,为了可以获得最高的 ADC 转换精度,选取的 ADC 动态范围要与待转换的信号最大幅度相匹配。

假设待转换信号在 0 ~ 2.5 V之间变化,最大值不会超过2.5V,并且VREF+ 等于3.3 V。

ADC转换的最大信号值为 3102 (2.5 V),如下图:

从上图中可以看到,有 993 个未被使用的转换(4095 – 3102 = 993)。这意味着浪费了很多的转换范围(简单而言就是影响了分辨率),转换后信号精度下降。

深入分析如下:

(1)如果选取的参考电压为 3.3V,则分辨率为:

3.3/4095 = 0.806mV

(2)如果选取的参考电压为 2.6V,则分辨率为:

2.6/4095 = 0.635mV

两者分辨率之差为:

0.806 - 0.635 = 0.171mV

四、ADC采样电路的设计问题

正常使用过程中,ADC采样电路中往往会伴随高频/低频干扰信号,所以设计时一般会增加滤波电路以增加输入采样信号的干净度。

如下示意:

从上图中可以看到,电阻 RAIN 和 电容 CAIN 组成了RC网络。这部分器件的取值对输入信号是有不同的影响的,如果取值不合理,也是可能会导致ADC转换的结果不准确的。

五、I/O引脚受外部干扰信号的影响

采样电路在设计时就要考虑这个IO附近是否存在高频的信号源存在,如果有高频信号源存在的话,信号变化也会影响采样IO,导致ADC转换结果出现误差。

常见的案例如下:

(1)内部输出高速的数字信号,IO信号的高速变化会产生高频噪声。比如输出PWM信号的频率高达100KHz以上。

(2)高频信号 IO 与采样 IO 距离很近或者PCB的走线出现交叉,这种情况会出现串扰。

六、PCB板走线设计问题

PCB走线是非常重要的,并不是简单的连线接通即可。

如果采样电路附近会产生较高的电磁辐射,那就有可能将电磁辐射引入采样,从而产生高频干扰。

还有一种现象,就是高速信号与GND两者很近,走线平行,那就很有可能会形成电磁场,从而造成干扰。


http://www.ppmy.cn/news/1683166.html

相关文章

项目管理进阶:基于IPD流程的项目管理部分问题及建议书【附全文阅读】

该文档主要探讨了研发项目管理中存在的问题及改进建议。指出项目组织、项目计划、项目监控等方面存在的问题&#xff0c;并给出了相应的设计要点。建议建立跨部门、全流程的项目计划体系&#xff0c;加强风险管理&#xff0c;引入科学的估计方法&#xff0c;建立项目历史数据积…

base算法

package mainimport ("fmt""math""math/rand""strconv""strings""time" ) // PrintBin 十进制转换成二进制 func PrintBin(number int32) []uint {bits : make([]uint, 0)for i : 31; i > 0; i-- {//移i位后与…

ISCC 2025决赛 wp

PWN Dilemma 64位程序没有开启PIE&#xff0c;并且过滤了execve&#xff0c;不能使用system这些的了&#xff0c;所以要考虑ORW来做 进入main函数分析&#xff0c;这里有两个函数一个func_1一个func_2。 这两个函数都有漏洞&#xff0c;以下是详细分析&#xff1a; 对于func…

MyBatis常用方法

由于下面这段代码的重复性很高&#xff0c;我们可以单独创建一个工具类 //1.加载mybatis的核心配置文件&#xff0c;获取SqlSessionFactory String resource "mybatis-config.xml"; InputStream inputStream Resources.getResourceAsStream(resource); SqlSessi…

Java核心基础知识点全解析:从语法到应用实践

一、Java 基础语法要点 1.1 数据类型与变量 8 种基本数据类型&#xff1a; 类型大小&#xff08;字节&#xff09;默认值取值范围byte10-128 ~ 127short20-32768 ~ 32767int40-2 ~ 2-1long80L-2⁶ ~ 2⁶-1float40.0f3.4E38&#xff08;约 6-7 位有效数字&#xff09;double8…

软考软件评测师——数据库系统应用

目录 一、关系数据库基础 1. 候选码定义 2. 自然连接特点 二、关系类型分析 1. 实体间关系 2. 属性分类 三、数据库设计规范 1. E-R图转换原则 2. 范式应用 四、候选码求解步骤 五、Armstrong公理体系 六、视图操作规范 一、关系数据库基础 1. 候选码定义 候选键…

频率非周期性失稳

频率非周期性失稳是电力系统稳定性问题中的一种现象&#xff0c;通常指系统在遭受扰动&#xff08;如大功率缺额、发电机跳闸等&#xff09;后&#xff0c;频率呈现不可逆转的非振荡性偏离&#xff08;如持续下降或上升&#xff09;&#xff0c;最终导致系统崩溃。其核心特征和…

AI练习:毛发旋转效果

1.绘制一个多角星形 选择星形工具&#xff0c;点击画板&#xff0c;设置角点数&#xff1a;20&#xff0c;点击确定&#xff1b; 选中多角星形&#xff0c;设置&#xff1a;描边无&#xff0c;渐变&#xff1a;径向渐变&#xff0c;中心深色&#xff0c;边缘白色&#xff0c;…