ADC测试相关知识

基本概念

ADC, Analog Digital Converter, 中文名称是模拟数字转换器,主要完成模拟信号(一般是电压信号)到数字信号的转换的器件。和ADC测试相关的参数分为静态参数和动态参数两个部分。这篇文章主要对ADC的这些性能相关的参数做一个简单的介绍,并对这些参数的测试方法做一个简单的说明。

ADC相关的主要名词

  • Resolution分辨率, 一般来说,ADC的分辨率(R)和ADC的位数(N)有R = N^2的关系,ADC的分辨率也就是ADC最终可以输出不同数字信号的数量,一般ADC的位数越高,ADC的分辨率也就越高。
  • Reference Voltage参考电压,ADC工作的基本原理是将输入的电压与一个基准的电压比较,从而实现模拟电压到数字信号的转换,而这个基准的电压就来自于参考电压, ADC的输出代表输入的模拟电压占参考电压的比例,转换过程可以通过以下公式体现:
    D = (Vinput)/(Vref-high - Vref-low)*(2^N-1)

比如一个10位的ADC在5V的参考电压下面转换一个1V的输入信号,
D = 1V/5V * 1023 = 204d = 0xCCh

静态参数

  • DNL, Differential Non Linearity, 差分非线性误差,理想ADC输出数字量在整个范围内随输入线性变化,而实际ADC会有一定的偏差,这个偏差就是非线性误差。通俗的说,理想ADC相邻两个数据之间,模拟量的差值是一样的,就像一把尺子,但实际ADC并不能保证这个差值的一致性,就像尺子中相邻刻度也不是完全的1毫米一样。这个ADC相邻刻度的最大差异就是非线性误差,它以最小分辨率(LSB)为单位,如果DNL超过1LSB,那么ADC可能不是单调的,比如某个点输入电压升高,ADC的输出可能会变小。下图就是一个ADC非线性误差的一个例子,图中可以看出ADC各个分度之前是有一定差异的。
    DNL_Missing_code.png
  • INL, Integral Non Linearity, 积分非线性误差,这个误差是指ADC的输出曲线同理想输出曲线的最大偏差,可以直接通过下图看出。它的含义是ADC测量结果与实际值的一个最大差异,也就是ADC的一个结果的可信度。
    ADC_INL_Offset_chart.jpg
  • Gain Error增益误差,增益误差指的是当去除偏置误差之后ADC最高输出中间值对应的模拟电压与一理想曲线之间的差异。这个差异可能是正的,也可能是负的。
    GainError.png
  • Offset Error偏置误差,在INL的图中实际也有一定的偏置误差,偏置误差指的是ADC输出曲线的差异。对于理想ADC,当输入信号为0.5LSB时候,ADC输出应该从0跳变到1,这时ADC的偏置误差为0,如果ADC从0跳变到1对应的模拟输入不是0.5LSB, 那么这个差异就是偏置误差。

动态参数

  • THD, total harmonic distortion总谐波失真,它指的是输出信号比输入信号多出的额外的谐波成分, 在计算的时候一般把2~10次谐波的RMS值对1次谐波的RMS值取百分比或者按照dB表示。
    THD = 20 * log(sqrt(sum(V2^2 + .. V10^2))/V1)
  • SNR, Signal to Noise Ratio, 信噪比,有效信号的RMS值与噪声RMS的比,一般用dB表示。
    SNR = 20 * log(singal rms / noise rms)
  • SINAD Signal to noise and distortion(SiNAD), 信纳比,它是将信号谐波和噪声两个都考虑在内的一个量化指标,计算公式如下
    SiNAD = 20log(V1/sqrt(sum(V2^2 + .. Vn^2 + Vnoise^2))

它和THD的区别在于多了一个Vnoise。

  • ENOB, effective number of bits,ADC的有效位数,需要说明的是它是ADC在一定采样率下对一定频率信号的一个有效位数,它的计算公式如下:
    ENOB = (SINAD - 1.76) / 6.02
  • SFDR无杂散动态范围,它是指有效信号RMS值与次最大噪声成分或谐波失真成分RMS的比值,通常以dBFS(相对于ADC的满量程范围)表示。

发表新评论