原创 伪随机测试生成在混合电路参数测试中的应用

2008-5-11 23:18 3158 4 4 分类: 测试测量
伪随机测试生成在混合电路参数测试中的应用



叶明军,颜学龙,雷加,郭学仁

(桂林电子工业学院电子工程系CAT研究室,广西 桂林 541004)
摘要:混合信号电路在通信、多媒体等领域获得越来越广泛的应用。然而,测试也变得更复杂。传统上对模拟电路的测试采用的是直接功能测试,即直接测量电路的性能参数 Z。采用该测试方法,其缺点是测试时间长、测试设备昂贵、且精度差。本文针对这一问题进行研究,详细讨论了利用伪随机技术进行混合信号电路测试的方法。

关键词:混合电路;伪随机测试;多媒体


中图分类号: TP202+4 文献标识码:A 文章编号:1003-353X(2003)09-0025-04

1引言

混合信号电路在通信、多媒体等领域获得越来越广泛的应用。然而,测试也变得更复杂。一般来说,混合电路通常包括一部分模拟电路(运放,滤波器等),一部份数字电路(DSP单元、控制逻辑电路等),还有数模、模数转换器等。传统上,对模拟电路的测试我们采用的是直接功能测试即直接测量电路的性能参数 Z且检查它是否满足我们给出的参数范围。如果被测件(DUT)满足这个范围,那么就是无故障电路;反之,为故障电路。直接功能测试,测试时间长、测试设备昂贵、且精度差。


本文针对这一问题进行讨论,提出了一种利用伪随机进行混合电路测试的方法。


2 系统设计与实现


2.1 原理

采用伪随机测试技术求相关系数的方法,完成对MSC的测试:就是把被测模块置于一个D/A和A/D转换器中,变模拟测试为数字测试,用线性反馈移位寄存器生成带限白噪声作为激励,输入D/A转换器,而在A/D转换器取出,用它与线性反馈移位寄存器的输出作相关运算,得到不同的特征值。而输入的白噪声是各态历经的,且均值为零,所以得到它与被测系统的冲击响应成正比,如图1。



b2637013-5bbe-46d5-b6ba-8629f1ea6d6c.gif

对于模拟电路的伪随机测试,输入激励信号 x[n]是由一随机过程X产生的随机序列。当这个序列通过一线性时不变系统,在输出端得一新的随机过程Y ,而它生成一新的随机序列y[n]。把随机过程 Y看成是输入随机过程X通过一线性系统的线性变换。所关心的是输入与输出随机过程的互相关函数Φ xy[m]=E{x[n]× y[n+m]},因为它与线性系统的冲击响应 h[m]是成正比的。系统的输出是输入与其冲击响应的卷积

y[n]=∑x[n-k]×h[k](1)


由此,得到如下表达式[1]


xy[m]=E{x[n]×y[n+m]}=h[m]×σ2x+μ2x∑h[k](2)

如果x[n]是平稳白噪声,可以得到 E(x[n]×x[n+m -k])=,这里mx和sx 分别是x[n]的均值和标准差。如果m x="0",那么特征值Φxy[m ]将与冲击响应h[m]成正比。


如果随机过程X,Y都是各态历经的,那么可以用时间平均运算来代替统计平均求互相关Φ xy[m]。然而,时间平均运算要求有无限的采样点来计算,x[n]×y[n+ m], n="0",1,…,。但实际上只是输入有限的序列去估计真实的特征值 Φxy[m]。估计值可由下式表示


4dc31b3a-8181-44d2-b4fb-13bb721ae0c5.JPG(3)

在上式两边取均值,可以得到下式


2da02552-2fe8-47f1-9371-2a4e111b89be.JPG(4)

因此,估计值的均值和它的真实值是相等的。从仿真的结果看来,估计特征值的分布非常接近高斯分布。它的标准差与序列长度 N的开方成反比。由于估计特征值的随机性,那么对于DUT的错误分类是不可避免的。但是,如果输入序列很长的话,可以减小标准差的值,从而使得错误分类的概率大大减小。


2.2 被测电路

利用MATLAB与ORCAD进行仿真。首先,设计一个带宽为1k的低通滤波器,如图2。对于被测电路的选取,鉴于仿真软件的关系,暂取一个1k的滤波器即可,对于其他的滤波器,运放等,方法类似。从下公式我们可以得出


K=Fs/BW (5)



a6a567e0-27e0-4b00-a710-185c251284d7.gif

其中Fs是D/A与A/D的采样频率, BW是被测电路的带宽。对于一个1k的滤波器来说,采用20k的采样频率对其采样,那么前20个点基本上包含了这个滤波器的特性,而后面的数据都趋向于零。这也是物理可实现滤波器的特性。同时,滤波器带宽小,速度自然就慢,对于何时开始采样就是一个问题,因为白噪声脉冲脉宽小于它的上升时间。实验中,在不同的时刻进行采样,对结果进行比较,发现他们的差别很小。


2.3 测试序列

选取这样一种测试方法,其中一个好处就是它的测试序列简单。用分立器件搭成线形反馈移位寄存器,外面用移位寄存器串并转换,输出数据接到 D/A的输入端,就是测试信号。要注意的一点是,D/A的输出信号需是一个双极性的电压信号或者输出电流信号,再转化成为双极性电压信号,这样才是均值为零的白噪声。


2.4 测试数据

根据以上电路,可以先得到这个滤波器的输出信号,然后用输入与输出做相关运算,图3是得到的它的冲击响应采样图。从图中可以看到18个点以后所采样的点,都是围着零上下波动。这个波形是一个滤波器元件取值正确的情况,即误差可忽略情况。但是,在集成电路的制程中,有许多干扰源,例如离子注入等。我们不可能直接测量,当这些元件取值存在误差的情况下,这个波形中采集到的点的数据也存在一个误差。实验表明,若是一个正态分布的随机变量,根据电路的要求,可以事先确定这个随机变量的均值,标准差。



8a0b5b80-a772-49b2-8137-1f4f297e737a.gif

2.5 空间映射[1]

从上面可以看到,集成电路制程中干扰使得其中一些元件值存在着误差。而在测试当中,这样既难测又费时。所以采用空间影射的方法。电参数空间,在这里就是电阻值(R,L ,C参数都是类似的)。考虑只有一个电阻有故障的情况,即单故障的情况。性能参数空间是被测滤波器的性能参数,例如通带增益,阻带衰减。(其他电路单元方法类似,如运放:考虑更多的一些性能参数。一个运放可能满足一些参数,而不能满足另一些参数,这种情况在进行分割时更加复杂。在图形上表示就是有一簇无故障电路,而故障电路存在多簇的情况)。最后是特征空间,即冲击响应采样值空间,通常我们取两个值,构成二维空间,这样看起来既简单,又可以达到100%故障覆盖率。

采用MONTLE CARLO 的方法把这几个空间联系起来。首先,对于电参数空间,每次只能选取某个对象,如上面的R1(或C 1)等,根据预设的值,可以给定一个二维空间,对应标出响应的点。这些点可以预先标出很多,标明故障情况和无故障情况。在性能参数空间选取相关的性能参数,然后根据上面标明的点,通过实验设备或仿真得出相应的性能参数,而对于性能参数的范围,事先是有规定的,根据这些规定,在性能空间标出上面电参数空间对应的点,表明这个点是属于故障情况还是无故障情况。这样就把电参数空间和性能参数空间联系起来。然后,对应性能空间上的点,在特征空间上作出相应的点来,方法是对于性能空间上每一个点,都要通过仿真获得他的冲击响应参数,然后选取事先确定的特征值,(即哪两个冲击响应参数,例如 Φxy[4],Φxy[12]。)在特征空间即冲击响应参数空间上标出对应的点。这样就把这三个空间联系起来了。


这里有几点需要说明:(1)在每一个空间中所谓的点,实际上就是某一个电路。不同的点,对应着不同的电路(电路不同,指电路中某个电阻取值不同)。(2)每一个电路,分别在电参数空间,性能参数空间,特征空间对应一个点,即这三个点是指同一个电路,它们是通过上述方法联系起来的。


2.6 仿真结果

对于上面的被测电路,生成大量的点,即改变其中某些电阻值,例如R1,R 2,这一过程常称之为训练过程。同时选取两个冲击响应采样值作为我们特征空间坐标,例如Φxy [4],Φxy[12](这两个采样值的选取没有什么特定的规定,可以先随机选取一些作为特征对)。性能参数空间根据实际需求加以确定,在本论文中采用通带(0 ~400Hz)增益A1>15dB,阻带(>1k)衰减A2<10dB。仿真结果如图4。



b571aaa1-824a-44fe-b5b6-ffc4a0ee9c5b.gif

2.7 分割算法

在K维的特征空间(对每一个电路 Φ被看成一个矢量Φ=(Φ1 ,Φ2,…Φk))得到两组电路。其中N1表示无故障的电路数目,N 2表示有故障的电路。我们的目的是要得到一条分割边界,把两个集合分开,使得错误分割的概率最小。为了方便起见,我们用 W1和W2来分别表示无故障电路集和故障电路集。


首先,我们得到一个k×k 维的协方差阵S 其中,S1和S 2分别是无故障集和故障集的协方差阵,由下式计算:


5a02c996-1d48-4180-a7d1-8e98e594c65c.JPG(6)
5476fadb-0af7-4abb-8eaf-f399d2d235cb.JPG(7)

74041aaf-7944-40fd-9299-4e3887338e5b.JPG(8)

在参数方法中,我们用距离d 1(d2)来作为我们的判决函数,其中 d1(d2)是指待判决电路与无故障(故障)电路间的距离


di=(Φ-Mi)T×S-1×(Φ-Mi)i=1,2(9)

如果d1≥d 2(d1<d2),待判决电路 F*被判决为无故障(故障)电路。


最后,我们得到电阻R1 ,R2的无故障范围如表1 。



3ad296d6-0c5f-4555-897b-ccc8d1506df8.gif
3 结论

讨论了一种伪随机序列的测试方法,用来检测混合信号电路中模拟器件参数故障,这种测试方法,对于大规模集成电路,其内部电路难以测试的情况下,尤为有效。可以把它加入到边界扫描结构中,也可以单独作为BIST模块嵌入到VLSI,也可用于通信系统的自测试中。

文章评论0条评论)

登录后参与讨论
我要评论
0
4
关闭 站长推荐上一条 /2 下一条