EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
详述ADC精度和分辨率的概念差异
1 [. B$ r& m0 ?) n+ |, e3 y4 v& C在与使用模数转换器(ADC)的系统设计人员进行交谈时,我最常听到的一个问题就是:
# u6 u) s9 C+ `4 |. }" ~' ~' i; r& v* h9 i/ b
“你的16位ADC的精度也是16位的吗?”/ ^# ^( ^4 F3 u) m4 H( t
/ y; k. Z1 d( V- U2 j
这个问题的答案取决于对分辨率和精度概念的基本理解。尽管是两个完全不同的概念,这两个数据项经常被搞混和交换使用。
9 T$ T/ D t9 F& s% a
/ X2 m% q- a. I: K1 m. d该文详述了这两个概念间的差异,并将深入研究造成ADC不准确的主要原因。
6 M) B, d$ [% G8 Z" P: b+ ^
. n3 i+ m! l$ U9 @" \; c1 ?ADC的分辨率被定义为输入信号值的最小变化,这个最小数值变化会改变数字输出值的一个数值。对于一个理想ADC来说,传递函数是一个步宽等于分辨率的阶梯。然而,在具有较高分辨率的系统中(≥16位),传输函数的响应将相对于理想响应有一个较大的偏离。这是因为ADC以及驱动器电路导致的噪声会降低ADC的分辨率。5 p* F6 b( \* d2 a
0 a/ }0 a& o$ A* q0 i9 Z1 t
此外,如果DC电压被施加到理想ADC的输入上并且执行多个转换的话,数字输出应该始终为同样的代码(由图1中的黑点表示)。现实中,根据总体系统噪声(也就是包括电压基准和驱动器电路),输出代码被分布在多个代码上(由下面的一团红点表示)。系统中的噪声越多,数据点的集合就越宽,反之亦然。图1中显示的是一个中量程DC输入的示例。ADC传递函数上输出点的集合通常被表现为ADC数据表中的DC柱状图。
) ]7 s6 S7 T& G G- C( A9 T5 X![]()
F9 B, }# n0 m图1:ADC传递曲线上ADC分辨率和有效分辨率的图示
! P" O8 v+ V, F3 i/ J" r图1中的图表提出了一个有意思的问题。如果同样的模拟输入会导致多个数字输出,那么对于ADC分辨率的定义仍然有效吗?是的,前提是我们只考虑ADC的量化噪声。然而,当我们将信号链中所有的噪声和失真计算在内时,正如等式(1)中所显示的那样,ADC的有效无噪声分辨率取决于输出代码分布(NPP)。) m/ N- i4 F3 M% `$ B2 k7 D
4 Y" _* ~" i4 c1 A
在典型ADC数据表中,有效位数(ENOB)间接地由AC参数和信噪失真比(SINAD)指定,可使用方程式2计算得出:( z8 e; v j y7 A% t! G; }* H
% ?. k0 E" [# i$ a6 s6 l
下面,考虑一下图1中的输出代码簇(红点)不是位于理想输出代码的中央,而是位于远离黑点的ADC传递曲线上的其他位置(如图2中所示)。这个距离是指示出采集系统精度。不但ADC,还有前端驱动电路、基准和基准缓冲器都会影响到总体系统精度。
$ d$ e& w8 R* M- `% Y7 _7 i![]()
Q. l1 v/ `( V: ?& U图2:ADC传递曲线的精度图示, I2 J7 N" E6 T4 W( I
需要注意的重要一点是ADC精度和分辨率是两个也许不相等的不同参数。从系统设计角度讲,精度确定了系统的总体误差预算,而系统软件算法完整性、控制和监视功能取决于分辨率。 ; F7 d/ K5 Q0 Z
|