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个,这就对数字测试系统的向量深度提出了要求。