首页 » 智能 » 单片机外围模块座谈之二若何提高ADC转换精度_暗记_旗子

单片机外围模块座谈之二若何提高ADC转换精度_暗记_旗子

落叶飘零 2025-01-16 12:17:07 0

扫一扫用手机浏览

文章目录 [+]

1. ADC指标

除了分辨率,速率,输入范围这些基本指标外,衡量一个ADC好坏常日会用到以下这些指标:失落调偏差,增益偏差,微分非线性,积分非线性,信噪比,信纳比,有效位数,总谐波失落真。
让我们以下图为例来看一下这些指标的意义。

单片机外围模块座谈之二若何提高ADC转换精度_暗记_旗子 单片机外围模块座谈之二若何提高ADC转换精度_暗记_旗子 智能

LSB

单片机外围模块座谈之二若何提高ADC转换精度_暗记_旗子 单片机外围模块座谈之二若何提高ADC转换精度_暗记_旗子 智能
(图片来自网络侵删)

参数中常常用LSB作为单位,比如说差分非线性为2 LSB。
这究竟是多大一个值呢?为了大略起见,我们以一个3bit分辨率,满量程为5V的ADC为例。
1个LSB对应的电压大小为5V/7=714mV。
如果是8bit分辨率,那么1个LSB对应5/255=19mV。

图中横轴为输入电压Vin增长方向,纵轴为数字输出。
空想情形下输入电压每增长1LSB(714mV),那么输出会向上跳变一次,对应虚线L1所在转换曲线。
但实际电路每每会引入偏差,转换曲线每每如 L2 所对应曲线。

失落调偏差(Offset Error)

电压从0开始增大时,引起输出第一次跳变的电压值,与理论上该当引起第一次跳变的电压值(0.5 LSB)的差值。
衡量小电压时的转换精度。
如图中,理论上该当在0.5 LSB处跳变,实际电压增大到1 LSB时才跳变,以是Offset Error是 1–0.5 = 0.5 LSB。

增益偏差(Offset Error)

可以理解为实际转换曲线偏离空想曲线的程度。
用最靠近满量程时跳变点电压值和理论跳变点电压值的差表示。

差分非线性 DNL(Differential Non-Linearity)

理论上每增加或减少1 LSB 的电压,都会引起输出对应的一次跳变。
但实际情形可能如图中a,b处所示,电压的步距大于或小于1个LSB的理论步距。

a 处 DNL = 1.5 – 1 = 0.5 LSB;

b 处 DNL = 0.5 – 1 = -0.5 LSB;

积分非线性 INL(Integral Non Linearity)

差分非线性累积起来造成的对实际转换曲线的最大偏离便是INL。
如图中所示,须要把稳的是INL不能表征对空想转换曲线的偏离程度。

总不可调度偏差 TUE(Total Unadjusted Error)

实际转换曲线与空想转换曲线之间最大的偏离。
在最糟糕的一点,我们通过ADC得到的电压,与实际电压的差值。
普通讲便是最不准的一点差多少。

思考一下,如果 DNL 和 INL 都非常好,那么是不是解释 TUE 就非常好?

对,还真不一定。
纵然线性度非常好,如果增益偏差大,还是会导致终极结果大的偏差。

信噪比 SNR(Signal-to-Noise Ratio)

有用旗子暗记与噪声的能量比。
我们总是期望信噪比越大越好。
对付一个 N-Bit 分辨率的ADC来说,如果输入是一个满量程的正弦旗子暗记,在只考虑量化噪声的情形下,可以推导出一个有用的公式:

SNR = 6.02N + 1.76dB

推导过程见参考文档 ADI: MT-001

此公式直不雅观的表明了ADC分辨率和信噪比之间的量化关系。

信纳比 SINAD (Signal-to-Noise-and-Distortion Ratio)

实际ADC是无法达到空想状态的,它的输出除了会引入噪声,还会引入输入旗子暗记的谐波。
SINAD是有用旗子暗记能量,与谐波(Distortion)加噪声(Noise)能量的比,它更能表示现实天下中的ADC性能。

SINAD = 20log(S/(N+D))

而SNR = 20log(S/N)

有效位数 ENOB(Effective Number of Bits)

表示ADC实际性能相称于多少位。
可以从SINAD推出:

ENOB = (SINAD–1.76)/6.02

和空想情形下的位数对应:NOB =(SNR - 1.76)/6.02。

总谐波失落真 THD(Total Harmonic Distortion)

有用旗子暗记能量与谐波能量的比。

THD = 20log(S/D)

2. 如何提高转换精度

仿照电源(VDDA)和电压参考(VREF)

有的单片机ADC模块会引出单独的电源引脚和电压参考引脚,最好用LDO给这些引脚供电,或者用磁珠和滤波电容把这部分电源从数字部分隔离出来。

输入旗子暗记的输出阻抗

下图是ADC采样简化等效电路。
ADC采样和保持电路的等效输入电阻电容Radc,和Cadc,手册中都会给出。
在采样期间,开关SW会接通外部的旗子暗记输入电路,给采样电容Cadc充电至和输入旗子暗记相等(靠近),之后SW断开,ADC对采样电容上的电压进行转换。
如果采样韶光过短,或者输入旗子暗记的输出阻抗过大,将导致采样电压不准。
在旗子暗记源输出阻抗过高时,可以考虑增加一级运放。

高频串扰

如果与仿照输入引脚靠近的IO上有高频翻转的旗子暗记,或者PCB上有与输入旗子暗记长间隔的平行走线,串扰将滋扰输入旗子暗记。
应避免ADC引脚附近旗子暗记高频翻转。
在ADC输入布线和附近的走线之间用地线隔离开也可以避免ADC精度低落。

Wait,Stop模式

如果ADC在Wait和Stop模式下还可以事情,在此种模式下可以最大限度的降落MCU电源的颠簸,提高ADC的转换精度。

过采样(Oversampling)

如果采样频率为fs,那么对付fs/2以内的旗子暗记频率既可以得到完全信息。
过采样是用远高于所需的采样频率去采样,这样噪声就会均摊在全体采样频带内。
我们用数字滤波器可以滤除有用旗子暗记频带之外的噪声,从而使频带内的信噪比提高,得到更高的分辨率。
对多次转换结果进行均匀也可以提高结果的精度。

芯片内部校正

很多单片机内部都有校正机制(Calibration),每次上电后实行一次Calibration,可以以提高ADC的精度。

温度的影响

ADC受温度影响比较大,特殊是失落调偏差和增益偏差。
如果芯片事情温度范围很宽,可以在不同的温度下预先丈量,按温度做出查找表以在实际事情时做校正。

混入白噪声

这种方法对提高直流旗子暗记的分辨率很有用。
如果输入旗子暗记靠近直流而且很稳定,那么输出就不会产生跳变,比如输出一贯是0x15A,我们无法确认输入电平是更靠近0x159,还是更靠近0x15B。
那么我们可以人为地把白噪声混入旗子暗记,使旗子暗记产生小的颠簸从而输动身生跳变,然后再通过数学均匀得出一个精度更高的数值。
实际操作中可以用GPIO产生一个方波然后通过阻容耦合进输入旗子暗记引脚。

参考资料:

ADI: Data Converter Introduction

ADI: MT-001 TUTORIAL Taking the Mystery out of the Infamous Formula,

"SNR = 6.02N + 1.76dB," and Why You Should Care

ST: AN1636 UNDERSTANDING AND MINIMISING ADC CONVERSION ERRORS

ST: AN2834 Application note How to get the best ADC accuracy in STM32 microcontrollers

NXP: How to Increase the Analog-to-Digital Converter Accuracy in an Application

NXP: Cookbook for SAR ADC Measurements

标签:

相关文章

射频芯片在智能家居中的应用_芯片_射频

小编巨微集成电路是一家技能领先的芯片设计公司,拥有全面独立的底层芯片技能,供应具有高市场竞争力的通用无线芯片和传感器芯片和解决方案...

智能 2025-01-16 阅读0 评论0

AR8031千兆PHY调试总结_电阻_电平

AR8031事理图然后检讨PHY芯片的外围电路,创造PIN--LX该当为1.1V电平,但实际为2V,且不稳定,然后仔细检讨事理图创...

智能 2025-01-16 阅读0 评论0