基于Labview构成A/D转换芯片的软件测试环境

测量仪表

1473人已加入

描述

所谓的混合信号测试,是指对A/D、D/A、锁相环等兼有数字和模拟两种信号的混合电路芯片的测试。混合信号测试的测试时间长、费用高、测试系统结构复杂,在实现上具有一定的难度。而数字电路测试系统有着出色的测试能力,如足够的向量深度、灵活的数据格式、常规的交直流参数测试能力等。添加必要的程控模拟源以及模拟信号测试设备,运用系统集成的方法,用高信噪比的数字电路测试系统以及带有GPIB或VXI接口的设备构造A/D、D/A等转换芯片的测试环境,完全可以扩展到混合信号电路的测试领域,可以在一定程度上解决混合信号测试的问题。

由NI公司出品的Labview语言,是一种图形化编程语言,也是最通用的工程测试语言。Labview本身附带的软件包提供了大量带有GPIB接口的可程控测试设备的驱动程序,在测试程序中添加这些现成的驱动程序模块,很容易实现对外部设备的操作,使软件编写变得非常简单;Labview库函数中的DSP函数,可以方便地进行数据处理,作频谱分析。

选用Labview构成测试的软件环境,运用系统集成的方法实现数字电路测试系统向混合信号测试的扩展,可以依据不同的测试品种和测试要求,对系统灵活地加以配置,不管是软件编写还是硬件集成都非常方便、灵活、快捷。在构筑测试系统时,要充分考虑到以下三方面问题:系统中各部分的同步协调工作、降低系统噪声、阻抗匹配。

1 A/D转换芯片的测试环境构成

1.1 硬件构成

测试系统的硬件框图如图1。该系统的工作原理是:在SUN工作站运行的测试程序通过GPIB接口程控任意波形发生器产生所需要的测试波形;由数字电路测试系统产生测试A/D转换芯片所必需的数字激励并获取数字响应信号。在测试过程中,每次启动A/D转换的同时提供任意波形发生器的时钟脉冲信号,保证测试的同步进行,同时读入A/D转换器的数字输出信号;测试完毕后从数字电路测试系统的内存中读出转换数据,并进行处理。

芯片

高分辨率A/D的测试对测试系统本身的噪声性能有较高的要求。测试系统必须具有分辨小信号的能力,如果系统噪声太大,滤波不干净,就会扭曲测试结果,甚至无法进行测试。我们使用的数字测试系统为IMS公司的ATS60E测试系统,信噪比可达到90~124dB,可以测试16 Bit音频A/D,完全可以满足测试的要求。而且系统除了图表化的编程界面外,还提供Labview以及C语言的编程环境,很容易对测试过程进行控制。

任意波形发生器内部的存储空间存储数字化的波形,输出时通过D/A将数字信号转化为模拟信号。一般来说,输出频率和分辨率两个指标不可兼得。可以根据测试的A/D品种选择高速、低分辨率或低速、高分辨率的设备。对普通的音频A/D来说,Pragmatic 2711(16位,2MHz)是较好的选择。任意波形发生器产生的A/D常用测试波形一般有斜波(或三角波)和正弦波两种:斜波主要用来测量静态参数,正弦波用来测动态参数。在任意波形发生器后接高阶有源滤波器,以平滑由于波形发生器内部D/A存在量化误差所产生的测试波形上的锯齿,减少测试信号的失真。对高频电路测试,一般的测试系统阻抗都为50Ω,要充分考虑到阻抗匹配的问题,以保证信号的最大通过和最小反射。

1.2 软件构成

测试软件分两部分:IMS-ATS60E数字电路测试系统的IMS测试程序及Labview测试程序(见图2)。

芯片

数字电路测试系统的IMS测试程序完成如下功能:重复进行若干次测试,每次测试都产生A/D的转换控制信号,同时提供一个数字信号作为系统同步时钟,并捕获转换结果;对电路的数字部分进行常规的交、直流参数测试。

Labview测试程序完成的功能有:初始化波形发生器,包括写入测试波形,设置时钟同步方式、波形幅度、偏压等,产生的波形幅度为待测A/D满幅输入时模拟信号的幅度;控制数字电路测试系统,调用测试程序并进行测试,最后从数字测试系统的内存中读出数据并进行处理。

2 A/D转换芯片的几种测试方法

测试A/D芯片的几种常用方法有柱形图(Histogram)分析法、离散参数傅立叶(FFT)变换法、拍频(Beat frequency)测试法等。还有一种正弦波曲线拟合法(Curve fitting),它是在输入波形为正弦波时,算出输出码集与最佳拟合正弦曲线的均方差,与理想拟合误差相比较即可得出结果,这种方法本文不予详细说明。

不同测试方法的故障覆盖是不一样的。通常,FFT测试法与柱形图法或拍频测试法结合使用,以测试出A/D不同的失效状况。下面是三种测试法的基本原理。

2.1 柱形图分析法

在测试A/D的静态参数时,最常用的测试方法为柱形图法。用斜波作为测试波形,程控任意波形发生器,产生的斜波幅度为A/D满幅输入模拟信号,经过高阶Butter worth低通滤波器滤波后作为测试波形。对于n位的理想A/D,一套完全转换码应为2n个,而且每个码值输出的概率应该是相等的。在理想情况下,如果初始化斜波每周期的点数为m•2n(m为正整数),那么每次任意波形发生器输出一个完整的斜波,A/D转换器必然输出2n个码,且每个码的个数为m个。但实际上并非如此,由于A/D每个码对应的码宽不同,因此测试过程中获得的转换码的个数也必然会不同。例如,如果A/D有失码,则必然会有的码出现的次数为0;如果有的码宽超过理想值,则该码出现的次数会超过期望值(见图3)。通过多次测试,对于转换结果可以统计出每个码出现的次数,保存在数组N(i)中(第i个码出现次数为N(i)),并作出每个码对应于该码出现次数的柱形图。而每个码出现次数与总码个数之比必然等于该码的码宽与输入模拟幅值之比,因此利用柱形图可以近似算出该码对应的码宽,进而计算DNL、INL等静态参数。但是,为了得到每个码宽的精确的统计值,就意味着要获得大量的采样数据,对于12位的A/D,即使要获得每个码平均200个值的采样点数,那么采样的总点数也将达到800000个,这就对数字测试系统的向量深度提出了要求。

芯片

在进行实际测试时,要考虑到偏置误差和增益误差的影响,设定的A/D输入模拟幅值一般应略大于标称幅值,这样转换结果中端点的码个数可能会多于其它点的个数。现假设A/D实际设置幅度比理想幅度大s LSB(s的取值一般为5~10),平均码个数为m,则除去第一点和最后一点的影响,码值实际的平均个数k为:

芯片

这也就是1个LSB码宽所对应的码的个数。

所谓的偏置误差定义为偏置点的理想值与实际值的偏差。A/D的偏置点可以用如下方法求得:当数字输出由0向1转变时,模拟输入值减去1/2 LSB的值。增益误差是指在偏置误差得到修正后,增益点的理想值与实际值的偏差。A/D的增益点是指当数字输出转换到最大值时,模拟输入值加上1/2LSB的值。这两种误差都可以通过修正,调整到0。由定义可以推出偏置误差和增益误差按码出现次数的计算公式如下:

芯片

DNL定义为实际转换码宽与理想码宽(1 LSB)的差。INL定义为实际转换点与理想转换点之差,通常要取每个转换码宽的中点与理想转换曲线之差。所谓的理想转换曲线有两种定义,可以是输出转换点的最佳拟合直线,也可以是修正偏置误差和增益误差后的直线,第二种定义由于在计算上很方便所以实际上更常用。按码的出现次数计算,第i个码的DNL和INL值的计算公式为:

芯片

柱形图测试法可以方便地测试出某一测试频率下DNL、INL、增益和偏置误差等参数的具体数值,检测出失码。关于柱形图的计算,在Labview的功能菜单中,选Analysis下的Probability and Statistics子菜单,则有Histogram、Mean等统计模块供选用,以便进行计算。

2.2 FFT测试法

离散参数的快速傅立叶变换(FFT)可以进行A/D的动态参数测试。在这种方法下,任意波形发生器产生纯正弦波,后接高阶Chebyshev滤波器,滤掉信号的噪声和失真,产生测试用的纯正弦波。有些参数(如IMD)的测试,甚至要求测试波形是两种频率相接近的正弦波的叠加,频率不是单一的。

这种测试方法是利用FFT算法对A/D转换芯片的输出码进行数字信号处理,计算A/D的频谱参数,以此看出各种转换误差以及失真在频谱图上表现出的噪声背景。在没有失真的理想情况下,在输入模拟量为正弦波时,输出频谱应为频率等于输入频率的冲激函数的图形。事实上,A/D转换器的量化误差,转换器内部各种噪声,甚至包括测试系统噪声,都会在频谱图上的噪声背景中体现出来;DNL、失码、孔径误差、宽带噪声都会造成频谱图上噪声背景的提升,而INL则会在测试信号的基波偏移带内表现出谐波失真(如图4);转换器内部非线性部件的存在,使输出信号相对于输入信号在频率上不但会有一个微小的偏移,而且会产生一系列的谐波分量(图5)。

芯片

芯片

在计算过程中,如果采样数据集的端点不连续,会因引入采样窗口而增加计算的繁琐程度。而按照相关采样原理,FFT就可以把输出信号看成无穷的周期信号,使计算变得简单。满足相关采样原理的采样方法必须满足如下公式。

芯片

式中,M为采样周期数,必须为奇数。

N为总采样点数,对于FFT算法其值必须为2的幂。

fT为输入模拟正弦波的频率。

fs为采样频率。

为了得到最佳测试结果,测试过程中所选的M与N的值必须要加以限制。为了保证采样数据集端点相匹配,M必须选正整数;FFT算法本身要求采样点数值为2的幂;为获得最佳测试效率和减少测试时间,M和N要求不可约分。而且为了保证FFT变换一定的故障覆盖率,N取值不能太小。

由Nyquist采样定理,采样频率至少是测试信号频率的2倍,才能保证采样不失真。但我们在这种测试中采样频率远大于输入信号频率,所以可以不考虑Nyquist频率的影响。

衡量A/D动态性能的指标有:信号噪声比(SNR)、信号噪声失真比(SINAD)、谐波总失真(THD)、寄生动态范围(SFDR)、交调失真(IMD)等。在计算出A/D转换的频谱后,这些参数按定义都很容易计算。计算中的谐波分量一般要求算到六阶。

例如对于A/D转换存在的量化误差,可以用信号噪声比(SNR)这个参数计算A/D由量化误差引入的噪声背景。

芯片

而SNR理论上的计算公式为:SNR=6.02n+1.76(dB),因为噪声分量中除了量化噪声,还有其它噪声,实际测量结果会比这个值稍低一点。

关于FFT变换的计算,在Labview的功能菜单中,选Analysis下的Digital Signal Processing子菜单,可有Real FFT、Auto Power spectrum等模块供选用,以进行变换和参数计算。程序编写可以参照Labview 安装目录下Examplesanalysismeasuremeasxmpl.llb中的THD.vi程序。

2.3 拍频测试法

“拍频”这个名称说明了这种测试方法的原理,输入正弦波的频率与A/D的采样频率之间有一个微小的差值,因为形成了一个拍频,对测试波形不断的采样和转换结果也是一个正弦波(见图6)。这种测试方法本来是将转换的数字信号经过一个D/A转换后在CRT上显示出来,观察正弦波的平滑性。这样即使是低速的D/A也可以应用于测试。现在我们利用Labview,在测试中将ATS60E测试系统的测试频率设定为fs,波形发生器的输出正弦波的频率设定为fs+Δf。将采样结果在Labview的图表上输出,那么输出点连起来必然为一个正弦波。而转换误差会表现为波形的失真和不连续。对频差的设置最理想的情况是(这种连续的采样)使每个码都有一次采样到的机会,保证图表输出覆盖所有可能的码的故障。例如,10bit A/D,20MHz的采样率,最大3MHz的差频就可以保证每个码至少一次采样。

芯片

拍频测试法可以测试三种误差:DNL、INL和失码,但是无法得出具体数值。最主要的是可以用来测量模拟带宽。

本文主要探讨的是用系统集成的方法进行A/D转换芯片的测试,但是也可以扩展到其它混合信号电路的测试中。比如D/A的测试思路,由数字测试系统产生D/A的控制信号以及转换的数字输入信号,产生的输出模拟转换结果可以用测试系统本身的精密测量单元来测试,也可以由外接程控的高精度万用表来测量。

测试的基本原理和方法和20年前其实没有太大区别,不过是由于软硬件水平的发展,使测试环境更容易构成。尤其是在具有一定规模的实验室,各种测试设备相对比较齐全的情况下,这种扩展方法特别体现了它经济、灵活的优点,很多情况下可以省去配置专门的混合信号测试系统。

责任编辑:gt

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分