当前位置:首页 > 嵌入式 > 嵌入式案例Show
[导读]点击上方蓝字关注我哦~ 01 前言 本篇文章列出了影响模数转换精度的主要误差。这些类型的误差存在于所有模数转换器中,转换质量将取决于它们的消除情况。STM32微控制器数据手册的ADC特性部分规定了这些误差 值。规定了STM32 ADC的不同精度误差类型。为便于参

点击上方蓝字关注我哦~

01

前言



本篇文章列出了影响模数转换精度的主要误差。这些类型的误差存在于所有模数转换器中,转换质量将取决于它们的消除情况。STM32微控制器数据手册的ADC特性部分规定了这些误差 值。规定了STM32 ADC的不同精度误差类型。为便于参考,将精度误差表达为1 LSB的倍数。就 电压而言,分辨率取决于参考电压。通过将LSB数乘以1 LSB对应的电压来计算电压误差。

02

 ADC自身导致的误差


偏移误差

偏移误差是第一次实际转换和第一次理想转换之间的偏离。第一次转换发生在数字ADC输出 从0变为1时。理想情况下,当模拟输入介于0.5 LSB和1.5 LSB之间时,数字输出应为1。仍然是理想情况下,第一次转换发生在0.5 LSB处。用EO表示偏移误差。可通过应用固件轻松校准偏移误差。

示例:

对于STM32 ADC,电压的最小可检测增量变化用LSB表示为:

 1 LSB = VREF+/4096(在某些封装上,VREF+ = VDDA)。 

如果 VREF+ = 3.3 V,则在理想情况下, 402.8 µV (0.5 LSB = 0.5 × 805.6 µV)的输入应导致生成数字输出 1。但实际上, ADC 可能仍然提供读数 0。如果从 550 µV 的模拟输入获得 数字输出 1,则:

 偏移误差 = 实际转换 – 理想转换 

EO = 550 µV – 402.8 µV = 141.2 µV 

EO = 141.2 µV / 805.6 µV = 0.17 LSB

当大于0.5 LSB的模拟输入电压生成第一次转换时,偏移误差为正。如下图:

当小于0.5 LSB的模拟输入电压生成第一次转换时,偏移误差为负。如下图:

增益误差

增益误差是最后一次实际转换和最后一次理想转换之间的偏离。增益误差用EG表示。最后一次实际转换是从0xFFE到0xFFF的转换。

理想情况下,当模拟输入等于VREF+ – 0.5  LSB时,应存在从0xFFE到0xFFF的转换。因此对于VREF+= 3.3 V,最后一次理想转换应发生 在3.299597 V处。如果ADC提供VAIN < VREF+ – 0.5 LSB的0xFFF读数,将获得负增益误差。

示例

按以下公式计算增益误差: 

EG = 最后一次实际转换 – 理想转换 

如果VREF+ = 3.3 V且VAIN = 3.298435 V时生成从0xFFE到0xFFF的转换,则:

 EG = 3.298435 V – 3.299597 V 

EG = –1162 µV 

EG = (–1162 µV / 805.6 V) LSB = –1.44 LSB 

如果VAIN等于VREF+时没有得到满量程读数(0xFFF),则增益误差为正。

正增益误差的表示方法:

负增益误差的表示方法:


微分线性误差

微分线性误差(DLE)为实际步进和理想步进之间的最大偏离。这里的“理想情况”不是指理想传输曲线,而是指ADC分辨率。在下图中,用ED表示DLE。 

ED = 实际步宽 – 1 LSB

理想情况下,1 LSB的模拟输入电压变化量应导致数字代码变化。如果需要大于1 LSB的模拟输入电压才能导致数字代码变化,将观察到微分线性误差。因此,DLE对应于从一个数字代 码变为下一个数字代码所需的最大额外电压。DLE也称为微分非线性(DLE)误差。


示例

给定数字输出应对应于模拟输入范围。理想情况下,步宽应为1 LSB。我们假设1.9998 V至 2.0014 V模拟输入电压范围内的数字输出相同,则步宽为:2.0014 V – 1.9998 V = 1.6 mV。因此,ED等于较高(2.0014 V)和较低(1.9998 V)模拟电压之间的电压差减去1 LSB所对 应的电压

如果VREF+ = 3.3 V,则1.9998 V(0x9B1)的模拟输入可提供介于0x9B0和0x9B2之间的结 果。同样地,2.0014 V(0x9B3)的输入可提供介于0x9B2和0x9B4之间的结果。因此,0x9B2步进所对应的总电压变化量为: 

0x9B3 – 0x9B1,

即 2.0014 V – 1.9998 V = 1.6 mV (1660 µV) 

ED = 1660 µV – 805.6 µV 

ED = 854.4 µV 

ED = (854.4 µV/805.6 µV) LSB 

ED = 1.06 LSB 

假设当步宽小于1 LSB时,电压高于2.0014 V不会导致0x9B2数字代码,则ED为负

积分线性误差

积分线性误差为任何实际转换和端点相关线间的最大偏离。在下图中,用EL表示ILE。端点相关线可以定义为A/D传输曲线上连接第一次实际转换与最后一次实际转换的线。EL是指与每一次转换的这条线的偏离。因此,端点相关线对应于实际传输曲线并且与理想传输曲线不相关。ILE也称为积分非线性(INL)误差。ILE是整个范围内DLE的积分。

示例 

如果从 0 到 1 的第一次转换发生在 550 µV 处并且最后一次转换 (0xFFE 到 0xFFF)发生在 3.298435 V (增益误差)处,则传输曲线上连接实际数字代码 0x1 和 0xFFF 的线为端点相关线。

总未调整的误差

总未调整误差(TUE)为实际和理想传输曲线间的最大偏离。此参数指定可能发生的会导致理想数字输出与实际数字输出之间最大偏离的总误差。TUE是记录到的任何输入电压的理想预期值与从ADC获得的实际值之间的最大偏离。在下图中,用ET表示TUE。TUE不是EO、EG、EL与ED之和。偏移误差影响较低电压的数字结果,而增益误差影响较高电压的数字输出。 

示例

如果VREF+ = 3.3 V且VAIN = 2 V,则理想结果为0x9B2。但是,如果得到的转换结果为0x9B4, 由于DLE和ILE同时发生,因此偏离可能源于偏移。 

TUE = 绝对(实际值 – 理想情况值) 

         = 0x9B4 – 0x9B2 = 0x2 = 2 LSB。

/ The End /

文档来源:how-to-get-the-best-adc-accuracy-in-stm32-microcontrollers-stmicroelectronics.pdf

推荐阅读


STM32 ADC内部原理


STM32 时钟分析


扫码关注我们

看更多嵌入式案例


喜欢本篇内容请给我们点赞、在看

免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读

供电平均值准确,输出频谱仍可能出现固定尖线,因为纹波进入转换结果依赖频率路径和回流路径。ADC供电抑制会随频率下降,地铜也不是零阻抗节点;只换更低噪声稳压器,未必能切断耦合。

关键字: ADC 稳压器 纹波

在树莓派 Pico/Pico2 上运行 Apache NuttX,可将这款小型微控制器板转变为符合 POSIX 标准的多线程系统。通过对称多处理(SMP)技术,充分释放双核的性能潜力;提供熟悉的类 Unix 命令行环境(...

关键字: 微控制器 ADC 多线程系统 树莓派

NAU85L42YG 具备低延迟处理能力,适用于实时无线和清晰语音撷取应用

关键字: 麦克风 ADC 微控制器

作为一名音乐人,我不仅花费大量时间演奏乐器,也经常对音频信号进行调整,因此我一直对声音的视觉呈现充满兴趣。正因如此,我想设计一个基于硬件的实时音频频谱分析仪。

关键字: 微控制器 ADC BLE

多路扫描把一个转换核心分给若干信号,但共享并不只意味着吞吐率相除。ADC系统还会留下上一通道的电荷记忆,并让各通道落在不同采样时刻;一个影响幅值,一个影响相位,必须分开治理。

关键字: ADC 多路扫描 多路器

高速转换失真时,只看采样率往往会得到错误结论。ADC能否保住有效位数,一方面受采样瞬间的不确定性限制,另一方面受驱动、变压器和滤波网络的幅相响应限制,两份预算不能互相替代。

关键字: ADC 抖动 带宽

输入没有超过绝对最大额定值,只能说明器件大概率未被永久损坏,不能说明故障解除后立刻恢复精度。ADC保护要同时限制注入电流与内部过驱,还要控制钳位器件在正常测量中的漏电和电容。

关键字: ADC 电压 钳位电压

高采样率系统常把多个子转换通道交替工作,再经高速串行接口送出数据。ADC链路既要保证子通道在正确时刻取样,也要保证每次上电后的帧和多器件延迟可重复;两种对齐发生在不同边界。

关键字: ADC 采样率 高吞吐

采样后的数字滤波可以删掉已知频带,却不能把已经折叠到目标带内的成分重新分开。

关键字: ADC 数字滤波 滤波器

斜坡测试看到跳码、正弦测试看到谐波,并不必然是同一种非线性。ADC的DNL描述相邻码宽是否均匀,INL描述累计转移曲线偏离参考直线多少;两者的量测、表现和整改方向都应拆开。

关键字: ADC DNL INL
关闭