Chinaunix首页 | 论坛 | 博客
  • 博客访问: 499120
  • 博文数量: 104
  • 博客积分: 3045
  • 博客等级: 少校
  • 技术积分: 1230
  • 用 户 组: 普通用户
  • 注册时间: 2008-02-29 10:18
文章分类

全部博文(104)

文章存档

2011年(72)

2010年(1)

2009年(1)

2008年(30)

分类:

2008-03-24 00:42:20

前言

混合信号技术给当今的半导体制造商们带来了很多新挑战,以前一些对数字电路只有很小影响的缺陷如今在嵌入式器件中却可能大大改变模拟电路的功能,导致器件无法使用。为确保这些新型半导体器件达到“无缺陷”水平,需要开发新的测试策略、方法与技术。本文将结合一个简单的混合信号器件——模数转换器(ADC)来对这些策略、技术与方法进行讨论,说明混合信号器件测试的步骤和方法。有了这些基本认识后,就可将其扩展并应用到当前先进的嵌入式半导体器件中,如数字滤波器、音频/视频信号处理器及数字电位计等。

传统半导体器件测试包括基本参数测试(连续性、泄漏、增益等)和功能测试(将器件输出与给定输入相比较),混合信号测试还要再另外增加两个测试,即动态测试和线性测试。动态参数描述的是器件对一个特定频率或多频率时序变化信号的采样(从模拟信号中建立数字波形)和重现(利用数字输入建立模拟信号)能力。线性参数则相反,描述的是器件内在特性,主要关注数字和模拟电路之间的关系。下面将对这两种特性分别作详细说明。

动态测试

模数转换器的动态特性有时也称作传输参数,代表器件模拟信号采样和输入波形的数字再现能力,信噪比(SNR)、总谐波失真(THD)及有效位数(ENOB)等指标可使制造商对器件输出的纯度和数字信息精度进行量化。新型动态测试技术产生于上世纪80年代,主要围绕数字信号处理和傅立叶变换,将时域波形和信号分别转换为频谱成分。这种技术可以同时对多个测试频率进行采样,效率和重复性非常高。图1是对一个普通ADC器件进行快速傅立叶变换(FFT)测试的示意图,图中可以看到模拟信号在时域内转换成数字代码,然后用傅立叶变换转换成频谱。对ADC输出进行傅立叶分析可提供宝贵的性能信息,但如果测试时条件设置不当得到的信息也会毫无意义。为了从器件输出信号的傅立叶分析中提取有意义的性能参数,在讨论FFT结果之前首先需要考虑测试条件,其中包括输入信号完整性、采样频率、一致性及系统测量误差(假频、量化及采样抖动误差)

1 ADC器件傅立叶测试示意图

 输入信号

对于模数转换器来说,输入信号的纯度会影响数字输出的性能。输入信号中的耦合噪声将转换为输出信号数字噪声,如果输入信号中有太多噪声和失真,ADC性能实际上会被测试条件所掩盖。输入信号的精度和纯度最终取决于器件的转换分辨率,一般来说测试设备的精度要比被测器件高10倍以上。另外可以考虑在输入端使用滤波器,除去输入信号之外的噪声和失真。

采样与一致性

采样频率是采样时间的倒数,如果采样数据点选择正确,一个无限时序变化信号可用有限几个数据点来表示。通过奈奎斯特采样间隔定理,即采样频率必须是被测信号频率的两倍以上,我们可以获得正确的采样频率范围,利用采样点再现输入信号。在我们所举例子中,ADC必须以输入频率两倍以上的频率运行或采样,以便正确地数字化再现出输入信号,得到有效动态测试结果。

一致性是动态测试第二个关键的部分,当能对测试信号的生成与采样进行控制时,它可以提供很多东西。一致性采样主要是为了保证采样数据包含完整的输入周期描述信息,使得在有限的样本中收集到尽可能多输入信息。一致性采样定义了测试频率(Ft)、样本大小(M)、采样频率(Fs)以及测试周期(N)之间的关系,如式(1)所示:

M/Ft=N/Fs                                式(1

这里的MN为互质数。

另外,一致性采样还可以保证傅立叶变换将采样数据的频率成分放入离散频段中。

量化、假频与采样抖动

量化误差指的是从时序变化信号中可分离出的最小量值信息,以我们讨论的ADC测试为例,量化误差就是最小步距代表的电压,或建立输入测试信号的模拟信号源最小分辨率。假频是由采样产生的,它将高频信号认作低频信号。实际上当采样频率小于信号频率两倍时,采样周期即已违反了奈奎斯特采样规定,对高频信号采用低采样率的结果就好像它是一个低频信号。抖动误差是指系统输入或采样能力与期望值之间的差异或偏离,换句话说,本来一个有一定幅度的信号预计在时间X产生,但由于抖动误差会使信号比预期的时间提前或推迟出现;同样抖动误差也可能在采样时产生,原来规定在时间X采集数据但实际却比预期时间提前或推迟。量化误差、抖动误差和假频都会使输入信号失真,在频谱上出现错误信息。

如果测试条件都设置正确,同时也遵守采样规则,那么时基采样信号经傅立叶变换后的频率部分将提供重要的器件性能参数。图2是一个典型的傅立叶变换图,突出的部分是基本频率,定义为器件输入频率,在这个例子中是一个1kHz正弦波,图中也显示了在基本频率倍频上出现的谐波频率和最大幅值。对于我们讨论的ADC器件,从频谱可以算出五个重要动态传输特性,分别是信噪比(SNR)、总谐波失真(THD)、无杂散动态范围(SFDR)、信号与噪声失真比(SINAD)以及有效位数(ENOB)


2 傅立叶变换图

·信噪比(Signal to Noise RatioSNR

信噪比是输入信号和噪声(不包括任何谐波以及直流) 的功率比,是定义器件内部噪声大小的基本参数。SNR定义的详细描述如式(2)所示:

             式(2

理论上ADC的信噪比范围取决于系统的位数,式(3)是理想的N bit ADC的理论SNR计算公式:

SNR=6.02N+1.76dB                              式(3

这里N代表位数。

系统内部噪声会使偏离或SNR大于理论值范围,可能造成误差的原因包括:器件量化误差、器件内部噪声和驱动/采样源产生的非线性噪声(应用噪声)。量化噪声关系到转换器的分辨率,转换器内的噪声主要是和输入比较器的完善程度有关。

附声卡中对SNR的定义:SNR是对声卡抑制噪音能力的一个评价。声卡处理的是对我们有用的音频信号,而噪音是指我们不希望有的音频信号,通常是一些规律且难听的声音,是背景噪声(由机箱内电磁干扰产生)与声卡各部件在工作时产生的“杂音”的综合,声卡应该尽量屏蔽和减少这些噪音的出现与功率(音量)。在没有出现饱和与截止情况下,有用信号功率与噪音信号功率的比值就是SNR,单位为dBSNR值越高说明声卡的滤波效能越好,声音听起来也就越清晰。按照微软在PC98中的规定,声卡的SNR值必须不低于80dB

·无杂散动态范围(Spurious-free Dynamic RangeSFDR

无杂散动态范围能对系统失真进行量化,它是基本频率与杂波信号最大值的数量差。杂波通常产生于各谐波中(虽然并不总是这样),它表示器件输入和输出之间的非线性。偶次谐波中的杂波表示传递函数非对称失真,一个给定的输入信号应该产生一个给定的输出,但由于系统非线性,实际输出并不等于预期值,当系统接收到大小相等极性相反的信号时,得到的两个输出不相等,这里的非线性就是非对称的。奇次谐波中的杂波表示系统传递函数的对称非线性,即给定的输入产生的输出失真对正负输入信号在数量上都是相等的。

附:在频域中,SFDR是衡量线性特性的有效方法。如果单音正弦信号加到输入,SFDR定义在一定频率范围内的信号与第二大频率成分的功率差。在大多通信应用中,输入是多音信号,信号由幅度、相位、和频率不同的多个信号组成。测量SFDR时将引起一些混淆,有时更好是用称之为多音功率比(Multi-tone Power RatioMTPR)进行测量,MTPR定义为单音载波与失真的功率比。我们在多个频率施加一定数量的等幅但相位不同的信号。在某点测量该点的输出和该点失真的功率。注意这有几个参数影响MTPR,例如单音幅度、挑选的单音频率、单音数量。在不同情况下,得出的MTPR也不同。当单音数量增加,将形成一个高的峰值。高峰值可能使放大器饱和并使DAC超出范围。我们用峰值/平均值比(PAR)或峰值因子,测量输入信号的峰值与有效值功率,对单音正弦信号PARA2/(A/sqrt(2))2=2。有时PAR也定义为均方根功率比。如果输入单音幅度相等,单音数量和相位决定PAR。多个信号输出的SFDR见式(4):

SFDR6.02×N4.77-10×log(PAR)                   式(4

 

高速DAC根据奈奎斯特采样定理,如果采样时钟为fs,信号带宽为fn=fs/2,但SFDR可能比较差。提高SFDR的一个有效途径是采用比奈奎斯特频率小的带宽,当信号带宽为fB,定义过采样率OSRfs/fB。单个信号输出的SFDR如式(5)所示:

SFDR=6.02×N+1.76+10×log(OSR)                   式(5

采样时钟的抖动影响信号的抖动,并且时钟本身存在杂散,这些杂散通过电路耦合到输出,降低信号质量。

·总谐波失真(Total Harmonic DistortionTHD

总谐波失真是输入信号与系统所有谐波的总功率比,它可提供系统对称和非对称非线性产生的总失真大小,用以表达其对信号的谐波含量的作用或者影响。

    式(6

附:谐波失真是指音箱在工作过程中,由于会产生谐振现象而导致音箱重放声音时出现失真。尽管音箱中只有基频信号才是声音的原始信号,但由于不可避免地会出现谐振现象(在原始声波的基础上生成二次、三次甚至多次谐波),这样在声音信号中不再只有基频信号,而是还包括由谐波及其倍频成分,这些倍频信号将导致音箱在放音时产生失真。

总谐波失真是指用信号源输入时,输出信号(谐波及其倍频成分)比输入信号多出的额外谐波成分,通常用百分数来表示。一般来说,1MHz频率处的总谐波失真最小,因此不少产品均以该频率的失真作为它的指标。所以测试总谐波失真时,是发出1MHz的声音来检测,并希望这个值越小越好。

·信号与噪声失真比(Signal to Noise And DistortionSINAD

信号与噪声失真比SINAD是输入信号和所有输出信号失真功率(包括谐波成分,不包括直流)比,它测量的是输出信号所有传递函数非线性加上系统所有噪声(量化、抖动和假频)的累积效果。其定义如下:

              式(7

在完美的转换器中,SINADSNR是相同的。SNR是转换器所能达到的理想状态,SINAD是反映转换器实际性能参数的指标,当然,我们希望SINAD越接近SNR越好。

·有效位数(Effective Number of BitsENOB

有效位数ENOB是在ADC器件信噪比基础上计算出来的,它将传输信号质量转换为等效比特分辨率。实际上系统噪声使输出信号失真,失真大小就反映在信噪比上。ADC的比特分辨率可以用来计算给定器件的理论信噪比,反过来也成立,所以器件的信噪比测量值也可用来计算有效器件比特分辨率。所有噪声源和器件的不精确性合在一起,可以转化为量化误差与有效器件分辨率。

让我们再次重新温习一下在ADC中的两个重要的概念:

SINAD表示ADC的信噪失真比,指ADC满量程单频理想正弦波输入信号的有效值与ADC输出信号的奈奎斯特带宽内的全部其它频率分量(包括谐波分量,不包括直流分量)的总有效值之比。

SNR表示ADC的信噪比,指ADC满量程单频理想正弦波输入信号的有效值与ADC输出信号的奈奎斯特带宽内的全部其它频率分量(不包括直流和谐波分量)的总有效值之比。

由上文的分析知,一个理想的NADC模块的信噪比可以由SNR的电压形式推导得到,即:SNR6.02×N1.76dB。通过使用快速傅立叶变换(FFT)算法来计算离散傅立叶变换(DFT),制造商可以测量ADC模块的SINAD,并用其来计算有效位数(ENOB),这是更真实表征ADC模块总体性能的规格参数,即:

 ENOB=[SINAD(dB)-1.76dB]/6.02dB                          式(8

由此可知,当ADC的总谐波失真THD一定时,有效位数ENOB取决于SNRADCSNR越高,其有效位数ENOB就越高。

线性测试

动态测试关注的是器件的传输和性能特征,即采样和重现时序变化信号的能力,相比之下,线性测试关注的则是器件内部电路的误差。对ADC来说,这些内部误差包括器件的增益、偏移、积分非线性(INL)和微分非线性(DNL)误差,这些参数说明了静止的模拟信号转换成数字信号的情况,主要关注具体电平与相应数字代码之间的关系。

测试ADC静态性能时,要考虑两个重要因素:第一,对于给定的模拟电压,一个具体数字代码并不能告诉多少有关器件的信息,它仅仅说明这个器件功能正常,要知道器件功能到底如何还必须考虑模拟电压的范围(它会产生一个输出代码)以及代码间的转换点;第二,动态测试一般关注器件在特定输入信号情况下的输出特性,然而静态测试是一个交互性过程,要在不同输入信号下测试实际输出。

总的来说,ADC的误差可以分为与直流(DC)和交流(AC)有关的误差。DC误差又细分为四类:量化误差、微分非线性误差、积分非线性误差、偏移与增益误差。AC误差一般与信噪及总谐波失真问题有关。

量化误差(Quantization Error

量化误差是基本误差,用图3所示的简单3bit ADC来说明。输入电压被数字化,以8个离散电平来划分,分别由代码000b111b去代表它们,每一代码跨越Vref/8的电压范围。代码大小一般被定义为一个最低有效位(Least Significant BitLSB)。若假定Vref8V时,每个代码之间的电压变换就代表1V。换言之,产生指定代码的实际电压与代表该码的电压两者之间存在误差。一般来说,0.5LSB偏移加入到输入端便导致在理想过渡点上有正负0.5LSB的量化误差。

3 理想ADC转换特性

偏移与增益误差(Offset Gain Error

器件理想输出与实际输出之差定义为偏移误差,所有数字代码都存在这种误差。在实际中,偏移误差会使传递函数或模拟输入电压与对应数值输出代码间存在一个固定的偏移。通常计算偏移误差方法是测量第一个数字代码转换或转换的电压,并将它与理论零点电压相比较。增益误差是预估传递函数和实际斜率的差别,增益误差通常在模数转换器最末或最后一个传输代码转换点计算。

为了找到零点与最后一个转换代码点以计算偏移和增益误差,可以采用多种测量方式,最常用的两种是代码平均法和电压抖动法。代码平均测量就是不断增大器件的输入电压,然后检测转换输出结果。每次增大输入电压都会得到一些转换代码,用这些代码的和算出一个平均值,测量产生这些平均转换代码的输入电压,计算出器件偏移和增益。电压抖动法和代码平均法类似,不同的是它采用了一个动态反馈回路控制器件输入电压,根据转换代码和预期代码的差对输入电压进行增减调整,直到两代码之间的差值为零,当预期转换代码接近输入电压或在转换点附近变化时,测量所施加的抖动电压平均值,计算偏移和增益。

微分非线性(Differential nonlinearityDNL

理论上说,模数器件相邻两个数据之间,模拟量的差值都是一样的。就好比疏密均匀的尺子。但实际上,相邻两刻度之间的间距不可能都是相等的。所以,ADC相邻两刻度之间最大的差异就叫微分非线性DNL,也称为差分非线性。同样举例来说明,如果对于12bitADC,其INL8LSBDNL3LSB,在基准电压为4.095V时,测得A电压对应读数为1000b,测得B电压对应读数为1200b。那么就可以判断出,B点电压值比A点高出197mV203mV,而不是准确的200mV

4 DNL误差特性

4中,001b010b码制过渡过程的DNL0LSB,因为刚好为1LSB。但是000b001b过渡就有个0.2LSBDNL,因为此时有1.2LSB的代码宽度。应当注意:如果在ADC或者DACdatasheet中没有清楚说明DNL参数的话,可视该转换器没有漏码,即暗示它有优于正负1LSBDNL

积分非线性(Integral nonlinearityINL

积分非线性表示了ADC器件在所有的数值点上对应的模拟值和真实值之间误差最大的那一点的误差值,也就是输出数值偏离线性最大的距离。单位是LSB。例如,一个12bit的ADC,INL值为1LSB,那么,对应基准4.095V,测某电压得到的转换结果是1000b,那么,真实电压值可能分布在0.999V到1.001V之间。

INL是DNL误差的数学积分,即一个具有良好INL的ADC保证有良好的DNL。

5 INL误差特性

总之,非线性微分和积分是指代码转换与理想状态之间的差异。非线性微分(DNL)主要是代码步距与理论步距之差,而非线性积分 (INL)则关注所有代码非线性误差的累计效应。对一个ADC来说,一段范围的输入电压产生一个给定输出代码,非线性微分误差为正时输入电压范围比理想的大,非线性微分误差为负时输入电压范围比理想的要小。从整个输出代码来看,每个输入电压代码步距差异累积起来以后和理想值相比会产生一个总差异,这个差异就是非线性积分误差。

6 INLDNL

与增益和偏移一样,计算非线性微分与积分误差也有很多种方法,代码平均和电压抖动两种方法都可以使用,但是由于存在重复搜索,当器件位数较多时这两种方法执行起来很费时。一个更加有效计算INLDNL的方法是直方图法,采用线性或正弦直方图。图7说明了线性斜升技术的应用,首先使输入电压线性增加,同时对输出以固定间隔连续采样,电压逐步增加时连续几次采样都会得到同样输出代码,这些采样次数称点击数

7 计算直方图

从统计上讲,每个代码的点击数量直接与该代码的相应输入电压范围成正比,点击数越多表明该代码的输入电压范围越大,非线性微分误差也就越大;同样,代码点击数越少表明该代码输入电压范围越小,非线性微分误差也就越小。用数学方法计算,如果某个代码点击数为9理想”情况下是8,则该器件的非线性微分误差就是(9-8)/80.125。非线性积分是所有代码非线性微分的累计值,对于斜升直方图,它就是每个非线性微分误差的和。从数学观点来看,非线性积分误差等于在代码X-1的非线性微分误差加上代码X和代码X-1的非线性微分误差平均值。

附相关计算公式:

SNR10×log10Ps/Pn

SINAD=10×log10(Ps/(Pn+Pd))

THD=10×log10(Pd/Ph(1))

SFDR=10×log10(Ph(1)/max(Ph(2:10)))

这里:Ps代表信号功率;Pn代表噪声功率;Pd是由第2到第5次谐波引起的失真功率;Ph(1)是基次谐波功率;Ph(2:10)是从第2到第9次谐波功率。

 

续:其他半导体器件的测试技术和策略

很多嵌入式半导体器件由不同的模拟和数字电路混合而成,利用前面讨论的混合信号测试原理,我们可以确保在器件运行过程中不会出现问题。下面简单介绍两种器件的测试技术和策略,分别是数模转换器和数字滤波器。

数模转换器(DAC)与模数转换器相反,它是将输入端得到的数字代码转换成模拟输出电压。实际上所有前面讨论的线性和静态测试方法在这里都成立,将正弦波以器件代码的形式进行数字处理,然后输入数模转换器,再检测模拟输出的电压波形,由此可计算出动态参数(SNRTHDSFDRSINAD),对输出采用傅立叶变换可将其从时域转换成频域。除了线性误差是以理想状态计算的模拟输出电压为参考外,静态和线性参数(偏移、增益、非线性微分、非线性积分)都可以用模数转换器同样的方法计算。

数字滤波器顾名思义就是一个数字控制的滤波器,其特性参数(增益、频率相应、相位余量)都是数字化的,测试主要集中在器件对不同输入频率的动态输出响应上。测试器件的频率和响应增益时,用一个连续且含多个非重叠频率的多音调信号作为输入,对器件的输入输出信号分别进行采样和数字化处理,并对波形做傅立叶分析。比较每一输入频率的输入信号和输出信号幅值计算出增益,滤波器截止频率和-3dB点则是通过在这些点上选择34个输入频率,用数学方法从每一个滤波器响应频率的幅值推导这些点而计算出。数字滤波器相移的计算根据傅立叶转换提供的波形相位数据,计算方法是将输出频率的相移减去输入频率的相移,负相移表示正延时或输出波形滞后于输入波形,正相移表示输出波形在输入波形的前面,也即负延时。

 

参考文献:

[1] Defining and Testing Dynamic Parameters in High-Speed ADCs, Maxim Application Note.

[2]

[3]

[4]

[5]

 原文地址:http://blog.chinaunix.net/u1/48368/showart_417329.html

阅读(16876) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2009-10-12 15:50:09

请问博主是否深入研究过ADC的性能测试方法和编程,以及设计过TIME-INTERLEAVED ADC系统过没有?如果做过的话,我们是否可以一起做一下相关项目的研究,尤其是算法研究?谢谢!