嵌入式系统中的模拟电路设计
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

第1章 模数转换器(ADC)的驱动电路设计

1.1 影响ADC精度的一些技术指标

1.1.1 选择ADC时需要考虑的一些因素

1. ADC的分类

常用的ADC有积分型、逐次逼近型、并行比较型/串并行比较型/分级型、Σ-Δ调制型、电容阵列逐次比较型及压频变换型。

1)积分型

积分型ADC工作原理是将输入电压转换成时间(脉冲宽度信号)或频率(脉冲频率),然后由定时器/计数器获得数字值。其优点是具有高分辨率,缺点是由于转换精度依赖于积分时间,所以转换速率低,如TLC7135等。

2)逐次逼近型

逐次逼近型ADC由一个比较器和DAC通过逐次比较逻辑构成,从MSB开始,顺序地对每一位将输入电压与内置DAC输出进行比较,经n次比较而输出数字值。其优点是速度较高、功耗低,在低分辨率(<12位)时价格便宜,但高精度(>12位)时价格很高,如TLC0831等。

3)并行比较型/串并行比较型/分级型

并行比较型ADC采用多个比较器,仅作一次比较而实行转换,又称为Flash(快速)型。由于转换速率极高,n位的转换需要2n -1个比较器,所以电路规模极大,价格也高,适用于视频A/D转换器等速度特别高的领域。

串并行比较型ADC结构上介于并行型和逐次比较型之间,最典型的是由2个n/2位的并行型ADC配合DAC组成,用两次比较实行转换,所以称为Half flash(半快速)型。还有分成三步或多步来实现A/D转换的,叫做分级(Multistep/Subrangling)型ADC,而从转换时序角度又可称为流水线(Pipelined)型ADC。现代的分级型ADC中还加入了对多次转换结果作数字运算而修正特性等功能。这类ADC速度比逐次比较型高,电路规模比并行型小,如TLC5510等。

4)Σ-Δ调制型

Σ-Δ型ADC由积分器、比较器、1位DAC和数字滤波器等组成。其原理上近似于积分型,将输入电压转换成时间(脉冲宽度)信号,用数字滤波器处理后得到数字值。因此具有高分辨率,主要用于音频和测量,如AD7705等。

5)电容阵列逐次比较型

电容阵列逐次比较型ADC在内置DAC中采用电容矩阵方式,也可称为电荷再分配型。一般的电阻阵列DAC中多数电阻的值必须一致,在单芯片上生成高精度的电阻并不容易。如果用电容阵列取代电阻阵列,可以用低廉成本制成高精度单片ADC。最新的逐次比较型ADC大多为电容阵列式的。

6)压频变换型(VFC型)

压频变换型(Voltage-Frequency Converter,VFC)是通过间接转换方式实现模数转换的。其原理是先将输入的模拟信号转换成频率,然后用计数器将频率转换成数字量。从理论上来说,这种ADC的分辨率几乎可以无限增加,只要采样的时间能够满足输出频率分辨率要求的累积脉冲个数的宽度。其优点是分辨率高、功耗低、价格低,但是需要外部计数电路共同完成A/D转换,如AD650等。

2. ADC的主要技术指标

1)分辨率

分辨率是指数字量变化一个最小量时模拟信号的变化量,定义为满刻度与2n 的比值。分辨率又称为精度,通常以数字信号的位数来表示。

2)转换速率

转换速率是指完成一次从模拟转换到数字的A/D转换所需的时间的倒数。积分型ADC的转换时间是毫秒级,属于低速ADC;逐次比较型ADC是微秒级,属于中速ADC;全并行/串并行型ADC可达到纳秒级。采样时间则是另外一个概念,是指两次转换的间隔。为了保证转换的正确完成,采样速率(Sample Rate)必须小于或等于转换速率。因此有人习惯上将转换速率在数值上等同于采样速率也是可以接受的。转换速率常用单位是ksps和Msps,表示每秒采样千/百万次(kilo/Million Samples per Second)。

3)量化误差

量化误差是指由A/D的有限分辨率而引起的误差,即有限分辨率A/D的阶梯状转移特性曲线与无限分辨率A/D(理想A/D)的转移特性曲线(直线)之间的最大偏差。通常是1个或半个最小数字量的模拟变化量,表示为1LSB、1/2LSB。

4)偏移误差

偏移误差是指输入信号为零时输出信号不为零的值,可外接电位器调至最小。

5)满刻度误差

满刻度误差是指满刻度输出时对应的输入信号与理想输入信号值之差。

6)线性度

线性度是指实际转换器的转移函数与理想直线的最大偏移,不包括以上三种误差。

其他指标还有:绝对精度(Absolute Accuracy),相对精度(Relative Accuracy),微分非线性,单调性和无错码,总谐波失真(Total Harmonic Distortion,THD)和积分非线性。

不同类型的ADC转换器的结构、转换原理和性能指标方面的差异很大。表1.1列出了常用类型的ADC的主要特点和应用范围。

表1.1 常用类型的ADC的主要特点和应用范围

注:sps为每秒采样次数。

3. ADC及其相应接口电路选择原则

1)ADC的选用的依据

目前市场上有许多厂家(如Analog Devices、Texas Instruments、National Semiconductor、Maxim等)提供不同结构与性能(Σ -Δ、SAR、流水线及闪速架构,6~24位的分辨率,直流到4.3Gsps的采样速率)的ADC。对于一个模数混合系统,选择一款合适的模数转换器是件既容易又困难的事。容易是指有各种各样的ADC可以选择,困难是指有各种各样的ADC不知道怎样去选择。

选择ADC时需要考虑的一些具体问题如下:

● ADC用于什么系统,系统(模数混合系统)精度、分辨率的要求是多少;

● 系统工作在动态条件还是静态条件,带宽要求、要求ADC的转换时间、采样速率如何,是高速应用还是低速应用;

● 输入的模拟信号类型、特性是什么,包括模拟输入信号的范围、极性(单、双极性)、信号的驱动能力、信号的变化快慢;

● ADC输出的数据位数、精度、线性;

● 需要什么样的外界工作条件;

● 系统需要多个通道;

● 是否需要跟踪保持电路;

● 基准电压源的来源,基准源是外部提供还是由内部提供,基准电压源的幅度、极性及稳定性、电压是固定的还是可调的,由外部提供还是ADC芯片内部提供等;

● 对驱动放大器的要求是什么;

● 对数据接口的要求是什么;

● 所要求的数据输出格式是什么;

● 时序条件是什么;

● 电源电压的要求是什么;

● 后续电路对ADC输出数字逻辑电平的要求、输出方式(平行、串行或是穿成字的),是否需数据锁存,与哪种CPU接口或数字电路(三态门逻辑、TTL还是CMOS)、驱动电路;

● 成本及芯片来源等因数。

对于不同的模数混合系统,所考虑的因素会有所不同。在选择ADC时,需要明确地了解系统的要求,其目标是找到一款适合系统设计要求的ADC,而不是找到一个适合ADC的系统设计。

要正确选择ADC,需要对所选择的ADC的技术指标有一个完整的了解,确保其技术指标符合系统的参数要求。虽然大部分厂家的在典型规范提供了有效的测量标准,但当某些指标对系统性能有关键作用时,就不能仅依赖厂家提供的这些参考值了,而应该了解这些指标的测试条件,以确定这些指标能够最大限度地符合所设计的系统的工作条件。

2)与ADC配套使用其他芯片的选用的依据

为了配合ADC的使用,一般在ADC的外围还需要添加其他一些芯片,常见的有多路模拟开关电路、采样/保持器、运算放大器等。

(1)多路模拟开关。多路模拟开关有三选一、四选一、八选一、十六选一等,如CD4051、CD4053B、AD7501、AD7506等。选用原则主要是依据模拟信号的路数、模拟信号的大小以及开关本身的导通电阻的大小等。

(2)采样/保持器。采样/保持器是指在输入逻辑电平控制下处于“采样”或“保持”两种工作状态的电路。在“采样”状态时电路的输出跟踪输入信号;在“保持”状态时,电路的输出保持着前一次采样结束时刻的瞬间输入模拟信号,直至下一次采样状态的结束,这样有利ADC对模拟信号进行数据量化。常见的采样/保持器有:通用芯片,如AD582、LF398;高速芯片,如HTS-0025、THS-0060等;高分辨率芯片,如AD389。采样保持电路中的采样保持电容要选用高品质的聚苯乙烯或聚四氟乙烯电容,制作电路板时要将它紧靠采样/保持集成电路,并保持电路板的洁净。

4. ADC选型

可以通过访问下面几大公司的网站选择所需要的ADC芯片(包括DAC芯片)。

● ADI公司(美国模拟器件公司),http://www.analog.com;

● TI公司(得州仪器),http://focus.ti.com.cn;

● Linear Technology公司(凌力尔特),http://www.linear.com.cn;

● Maxim公司(美信),http://www.maxim-ic.com.cn;

● National Semiconductor公司(国家半导体),http://www.national.com。

1.1.2 ADC的转换函数

如图1-1所示,理论上理想的ADC转换函数是一条直线,然而实际上理想的ADC转换函数是一种均匀的阶梯状的线[1]

图1-1 理想的ADC转换函数

如图1-1所示,一个理想的ADC是用有限数目的数字输出表示特定范围内的所有模拟输入,每个输出的数字代码表示在整个模拟输入范围中的一部分。由于模拟信号是连续的,而数字代码是离散的,所以ADC的量化过程会引入误差。随着离散代码位数的增加,相应的步宽变得越来越小,ADC的转换函数越来越接近理想的直线。在ADC设计时,基本原则是力求每个步长的中点落在这条理想直线上。

一个步长的宽度被定义为1LSB(1个最低有效位),在规范说明中的其他量化标准也参考此单位。同时它也是转换器分辨率的度量,它定义或划分了整个模拟范围被量化单元的数目。1/2LSB表示一个等于1/2模拟分辨率的模拟量。

ADC的分辨率通常用数字输出代码的位数来表示。例如,一个n位分辨率的ADC具有2n个可能的数字编码,它定义了2n个步长。由于第1个(零点)的步长和最后一个步长仅是整个宽度的一半,满量程(Full Scale Range,FSR)可以被分为2n -1个步宽。因此,一个n位的转换器的1LSB=FSR/(2n-1)。

ADC的静态误差是指那些在转换直流(DC)信号时影响转换器精度的误差,通常用偏置误差、增益误差、积分非线性误差及微分非线性误差4个术语来描述整个静态误差。每个误差都可以用LSB单元表示,或者用FSR的百分比表示。例如,一个8位转换器的1/2LSB误差对应于0.2% FSR。

1.1.3 ADC的偏置误差

ADC的偏置误差[1]如图1-2所示,它被定义为标准偏置点和实际偏置点之间的差值。对于ADC当数字输出是零时,偏置点是步长中间值。这种误差以同样的值影响所有编码,通常可以通过修正处理过程来补偿。如果不能修正,则这种误差是指零尺度误差。

图1-2 ADC的偏置误差

1.1.4 ADC的增益误差

ADC的增益误差[1]如图1-3所示,它被定义为偏置误差被修正为零后转换函数标准增益点和实际增益点之间的差值。对于ADC,当数字输出是全标度时增益点是步长中间值。这种误差表示实际转换函数和理想转换函数斜率的差值,以及每一步长中相应的同一百分比误差。通常,ADC的增益误差可以通过修正的方法调整到零。

图1-3 ADC的增益误差

1.1.5 ADC的微分非线性误差

ADC的微分非线性误差(DNL)[1]如图1-4所示(有时视为简单的微分线性)。对于ADC,它是实际步宽和1LSB理想值之间的差值。如果步长的宽度或者高度刚好是1LSB,那么微分非线性误差就是零。如果DNL超过了1LSB,那么转换器可能是非单调的。这意味着在输入幅度增大的情况下,输出幅度反而变小。在ADC中,也有可能会丢失编码,即2n 个二进制编码中的一个或多个将永远不会输出。

图1-4 ADC的微分非线性误差

1.1.6 ADC的积分非线性误差

ADC的积分非线性误差(INL)[1]如图1-5所示(有时视为简单的线性误差),它是指实际转换函数和理想直线的偏差,不考虑增益误差和偏置误差。对于ADC,偏离量是按照转换函数从一个步长到下一个步长来度量的。

图1-5 ADC的积分非线性误差

1.1.7 ADC的绝对精度误差

ADC的绝对精度或者总误差[1]如图1-6所示,是指模拟输入值和理想步长中间值之间差的最大值。它包括偏置误差、增益误差、积分非线性误差,以及在ADC时的量化误差。

图1-6 ADC的绝对精度或总误差

1.1.8 ADC的孔径误差

ADC的孔径误差[1]是采样/保持从采样模式转到保持模式时不确定因素引起的,如图1-7所示。这种变异是由时钟或者输入信号的噪声引起的。孔径误差影响输入的正弦波的最高频率,因为它定义了信号的最大摆率。

图1-7 ADC的孔径误差

对于一个输入的正弦波,输入V被定义为

V=VOsin2πft

最大摆率发生在零交叉点处,为

=2πfVO

如果ADC的孔径误差没有影响到转换精度,那么它必须在最大摆率的点小于1/2 LSB。因此对于一个n位的ADC,有

EA=TA =1/2LSB=

等式替换有

=2πfUOTA

因此,最高频率可以表示为

fmax=

1.1.9 ADC的量化误差

ADC的模拟输入可以是一个具有无限种可能状态的连续信号,然而,ADC的数字输出是一个由ADC器件分辨率决定的、不同状态的离散函数。因此,当从模拟形式转换到数字形式时,模拟信号中的一部分(用不同的电压值表示的输入)在输出端表示成对应的数字编码。而模拟信号中的一些信息被丢失,并且失真也被引入到了信号中,这就是量化噪声。

如图1-8所示,对于理想的ADC阶梯转换函数,假设输入的模拟信号是随机的,则实际输入的模拟信号和输出的数字编码之间的误差,具有均匀概率密度函数特性[1]。它可以在±1/2 LSB或者±q/2间变动,其中q是步长的宽度,即一个LSB。

图1-8 ADC的量化误差

对于在第j步的误差Ej,有

Ej=(Vj -VI

在每一步上的平方误差

对于,有pε)=

在图1.8中,pε)=,否则,如果pε)=0,在每个步长上误差的平均噪声功率(均方)为

即有

在整个转换范围内总的均方误差N2,是每个量化级别的均方乘以它的相关概率。假设ADC是理想的,每个编码步长的宽度是相等的,所以具有相等的概率。理想情况下有

对于幅度是A的正弦波输入F(t)

Ft)=Asinωt

具有F2t)的均方值

F2t)= A2 sin2ωt)dt

它表示信号的功率,因此SNR(信噪比)表示为

SNR(dB)=10lg[]

式中,q=1LSB==

代入q

上式表明,一个n位的ADC,分辨率每增加1位,SNR大约可以改善6dB。

在实际中,1/2LSB差分线性误差的最坏情况是遗漏码,它等价于分辨率减少了1位,因此SNR的值降低了6dB。对于1个具有1/2LSB线性误差的n位ADC来说,SNR值的最差情况为

SNR(最差情况)=6.02n+1.76-6=6.02n-4.24dB

1.1.10 ADC的动态指标

1. FFT图

ADC的动态指标是在频域中来表征的,通常利用快速傅里叶变换(FFT)来得到动态指标。可以以一个周期的方式从ADC的输出中收集大量的数字采样代码,然后进行FFT变换,进而产生FFT图。

ADC的生产厂商通常使用单音、满幅度模拟信号作为A/D转换器的输入,在这个条件下进行测试,得到数据手册中的典型性能曲线。在这种条件下,可以测试到ADC的整个动态范围,然后将这些数据转换成如图1-9所示的图形[2]。在FFT图中,奈奎斯特频率等于ADC的采样频率。FFT图中的基本元素包括基频输入信号(A)、输入信号容限(B)、信噪比(C)、无失真动态范围(D)和平均噪声基底(E)。在图1.9中,频率轴通常采用线性方式,从0到1/2奈奎斯特频率。

图1-9 FFT图

图1.9所示的FFT示例图使用了12位SAR ADC MPC3201的输出信号。12位A/D转换器的时钟频率为1.2MHz,采样速率为100ksps。模拟输入信号频率为9.985kHz。ADC共采样了4096次,每次采样输出12位的数据,利用这些数据生成了FFT图。在图1.9示例中,A是输入信号的基频幅度,B是输入信号容限= -0.5dB,C是SNR(信噪比)=72dB,D是SFDR(无失真动态范围)=78.5dB,E是平均噪声基底= -107dB,F是一次谐波幅度= -79dB,G是二次谐波幅度= -89dB。

幅度轴从0到所接近的负值,取决于ADC的位数和包含在FFT计算中的采样次数。当模拟信号在ADC输出产生满幅度时,在FFT图上其幅度接近0dB。低于满幅度的信号可以通过如下公式转换成数字代码:

DOUT=(2n-1)× 10(M/20)

VOUT(RTI)=DOUT × FSR/2n

式中,DOUT是十进制表示的数字输出代码,DOUT为最接近的整数;M是从FFT图中读出的幅度值,单位为dB;VOUT(RTI)是将DOUT经过数学计算后得到的与模拟输入电压相同单位的电压值,RTI是参考输入,应该与模拟输入电压VIN相等;n是ADC的位数;FSR为模拟输入满量程,单位为V。

在FFT图中,输入信号的基频幅度(A)、输入信号容限(B)、SNR(C)、SFDR(D)、平均噪声基底(E)、一次谐波幅度(F)和二次谐波幅度(G)等参数需要特别关注,这些参数提供了关于系统性能的信息。

2. 输入信号容限

在图1.9中,所显示的最高幅度的毛刺A代表输入到ADC的基频信号。这个信号使ADC产生代码。此时,输入信号可以在这个输入范围内激励ADC。图中的基频信号幅度为0.5dB,为满幅度的94.4%,这给ADC留有一定的容限(输入信号容限,图中的B点)。这样做的目的是保证ADC不会被过激励,避免产生信号钳位现象。如果信号发生钳位现象,在FFT图上会产生一个不同于基频信号的毛刺,以显示信号的失真。

3. SNR

SNR是用于确定ADC电路中噪声的参数(图1.9中的C)。SNR是一个计算值,等于信号功率对噪声功率的比值。SNR的理论极限值为6.02n+1.76dB,其中n为ADC的位数。

对于一个理想的12位A/D转换器,其信噪比SNR为74dB,在FFT计算中则包括所有的毛刺和噪声门限,其计算公式为

式中,rmssignal为信号的均方根值;rmsnoise为噪声均方根值。

利用FFT计算出的SNR中包含各种噪声源。可能的噪声源包括ADC的量化噪声、ADC的内部噪声、电压基准的噪声、ADC的差分非线性误差以及驱动运算放大器的噪声。

4. SFDR

SFDR(无失真动态范围)表征系统中总的失真大小。SFDR为输入信号基频与第一个毛刺的距离(单位为dB)。

由ADC非线性而产生的毛刺,会以输入基频信号倍频的方式出现,即Asin(bx)的形式。否则它们就是混叠的结果。如果这个毛刺是由于混叠产生,则其频率为

finterference=Kfsample-faliased

式中,finterference为计算出的可能高频干扰信号;K 为正整数值;fsample为ADC的采样频率;faliased为出现在FFT图中的折回信号。

通常,与毛刺有关的谐波来源于ADC的误差,与毛刺无关的谐波来源于其他器件或外部噪声源。

如果ADC产生毛刺,则可能是由于转换器有一定程度的积分非线性。信号源的驱动放大器也会产生这些毛刺,但是这些毛刺的频率与通过上面公式计算出的基频频率无关。如果驱动放大器是产生毛刺的罪魁祸首,那么它会产生交越失真,或者不能驱动ADC,或者带宽受限。电路中的其他部分,如数字时钟源或主频率注入的噪声也会产生这种毛刺。

5. 平均噪声基底

图1.9中,平均噪声基底(C)与ADC的位数和用于FFT计算的采样点数有关,它并不反映ADC的性能。根据ADC的位数,需要选择合适的采样点数,使噪声基底位于任何感兴趣的毛刺之下。

平均FFT噪声基底(dB)=6.02n+1.76dB+10lg[3 × M/(π × ENBW)]

式中,M为FFT中的数据点数,ENBW为窗口函数的等效噪声带宽,n为ADC的位数。

6. 总谐波失真(THD)和信噪比+失真(SINAD)

总谐波失真(THD)和信噪比(SNR)+失真(SINAD)也是FFT计算中感兴趣的两个参数。总谐波失真(THD)为谐波成分(毛刺)的均方根功率之和与输入信号功率的比值:

ADC的积分非线性误差通常出现在THD的结果中。多数生产厂家在定义THD参数时,在计算中通常只包含前9次谐波成分。

SINAD是SNR+THD的计算值:

7. FFT精度

在ADC应用中,FFT计算是一个很有效的评估工具[3]。采用FFT,可以利用合适的采样次数得到可靠估计值。这个样本的大小与所感兴趣的“精度”级别或位数有关。如果选择正确的窗口函数,则通过如下公式可给出合适的FFT结果。

FFT精度= ±4/(n )(dB)

FFT精度= ±[-1]×100%

式中,n为位数;K为FFT计算所累积的采样点数。

利用这个公式,可以确定在评估电路噪声时需要采样的次数。例如,一个性能良好的12位ADC精度等于(1/2)12或0.024%。从一个12位ADC电路中进行256次采样,得到的FFT精度仅为0.021dB或0.24%。因此可以说,256次采样并不能得到很好的噪声判决。更合适的采样次数应为4096次,此时FFT精度为0.06%。

1.1.11 系统精度和分辨率

对于一个模数混合的系统,整个系统的精度是必须要综合考虑的问题。在大多数的情况下,ADC只是整个系统的一个组成部分,ADC的精度将由整个系统所需精度来表征。例如,如果一个12位的系统的精度要求为0.012%,那么ADC通常应具有比此要求更高的精度,如可能为0.0006%(13位分辨率),为模拟前端提供一个最低有效位(LSB)的误差预算。当为数字系统选择模拟器件时,一个好的规则是:对模拟器件的精度要求应该是整个系统精度要求的5~10倍。

分辨率和精度是两个不同的参数,不能将二者混为一谈,这两个参数在某种程度上相互制约。分辨率仅表征着理论精度的大小,它不能表明精度能达到什么水平。分辨率可以简单地认为是模拟输入数据被量化的理论级数(2n),这里 n表示分辨率的位数。精度表征的是ADC转换结果和理论极限值接近的程度。与ADC的静态精度有关的4个关键指标是:微分非线性(DNL)、非线性积分(INL)、偏置误差和增益误差。

在理想情况下,一个 n 位的ADC能将一个无限范围的模拟输入值变到2 n -1 的有限数字范围内,此处 n 即为转换器的分辨率。ADC的位数和最低有效位值之间的关系见表1.2。

精度用于描述一个ADC接近其理论分辨率的程度。ADC的精度受理论量化噪声限制,而理论量化噪声在转换函数中是离散的、非线性的,并且是ADC电路噪声的附加来源。例如一个测温系统,测量温度范围为1000℃,精度要求为0.25℃,那么系统所需分辨率为1000/0.25,或者是4000 个码字。选择一个12 位的ADC,它将提供4096 个编码的分辨率,假定ADC的微分非线性误差为0.5 个LSB,那么其精度为0.244℃。

表1.2 ADC的位数和最低有效位值之间的关系

然而,在一个系统中,ADC不是影响系统精度的唯一部件。在前端模拟信号调理电路上通常还包括仪器放大器、运算放大器、多路选择器和驱动放大器等。总的误差可以通过计算对系统有影响器件的噪声的平方和根值得到。

输入信号的范围也是一个关键因素,输入信号范围对LSB的影响见表1.3。

表1.3 输入信号范围对LSB的影响