0

关于投票
伪随机测试生成在混合电路参数测试中的应用
伪随机测试生成在混合电路参数测试中的应用
叶明军,颜学龙,雷加,郭学仁
(桂林电子工业学院电子工程系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。

对于模拟电路的伪随机测试,输入激励信号 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]。估计值可由下式表示

(3)

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

(4)

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

2.2 被测电路

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

K=Fs/BW (5)

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

2.3 测试序列

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

2.4 测试数据

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


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。

2.7 分割算法

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

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

(6)
(7)
(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 。

3 结论

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

系统分类: 测试测量
用户分类: 信号检测
标签: 伪随机测试
来源: 转贴
发表评论 阅读全文(50) | 回复(0)

0

关于投票
VLSI芯片-数字信号测试
VLSI芯片-数字信号测试
本文摘自《半导体技术》
数字信号测试作为VLSI芯片测试的基础,已经是一项应用十分广泛的技术。各个EDA供应商、ATE供应商都有着十分成熟的解决方案,包括功能测试仿真向量的产生,转换和实际测试操作,以及芯片的AC/DC参数测试。作为高速信号测试的基础和芯片测试的基石,我们将在本文中介绍通用的数字信号测试技术、难点和各种解决方案,为下一次文章介绍的高速信号测试抛砖引玉。

数字信号测试中最基本的是功能测试,也就是模拟芯片在实际工作中的状态,输入一系列的信号,在输出端检测输出信号是否和预测的正常输出相符。以最简单的存储器单元为例,输入时钟、写信号、地址、数据,然后再输入读信号、地址,最后在输出端观察输出的数据是否正确。

要将功能测试实际应用在ATE上,需要首先有正确的功能仿真测试向量(包括输入向量和希望的输出向量),然后转换为ATE的测试程序。运行程序时,测试通道向芯片发出驱动波形,比较实际输出向量和希望的输出向量,得出Pass/Fail的结果。

随着VLSI的规模越来越大,内部的功能越来越复杂,功能测试也越来越复杂,其带来的结果是测试向量深度的增加。一颗芯片的测试程序通常会有许多个功能测试向量,以模拟不同的工作状态,测试不同的功能模块。这些向量都会被加载在测试向量内存中,以顺序或并发方式被执行。在实际生产过程中,由于内存大小限制,加载一段向量,测试一段向量,再加载一段向量的做法会使测试成本大为增加,所以大小合适并且可以很容易升级的是衡量ATE系统的一个重要指标。随着DFT扫描测试的应用,许多芯片测试要求的向量深度已经超过 20M,有些甚至达到100M。

功能测试日趋复杂带来的另一个问题就是调试的困难。最直接简便的调试方法莫如将实际得到的波形与预期波形进行比较,以确定问题的状况,找出原由。下图所示的就是在SmarTest软件中的Timing Diagram工具。在这个页面中我们可以看到上部的5个输入波形(包括一个pin group输入的数据)和7个输出管脚的波形。这里的每个波形都是测试通道实际在我们选择的10个cycle中得到的波形,包括每个比较沿和每个脉冲的上升、下降沿的形状,并且可以对时刻、输出电压进行测量。通过这样的波形与预期波形,甚至EDA工具的仿真波形比较,就可以得出是逻辑错误、电气特性问题或其他原因导致的功能测试失败。

随着SOC设计的日益推广,越来越多不同速度的IP被集成到同一颗芯片中。从高速的PCI Express, USB2.0到基本的SDRAM, PCI,测试一颗包含从33Mbps到2.5Gbps如此大速度范围的芯片对 ATE提出了从功能到成本的一系列要求,也带来了从硬件到软件的一系列挑战。在硬件上要求每一个通道都能测试如此大的速度范围必然带来昂贵的测试成本,所以比较好的解决方法就是根据芯片的要求灵活的配置机台,高速、低速测试通道可以存在于同一平台上,做到channel mixing。在软件上,不同IP的时钟频率不同,为了方便调试、节省测试向量内存,可以采用multi-port的技术,针对不同的port采用不同的时钟频率进行转换、测试,同时也可以与其他ports一同进行并行测试(concurrent test)。

数字信号芯片的DC参数测试主要是测量芯片管脚的电气特性。常用的测试项目包括:连接性、输入漏电、高阻抗漏电、输出电流电压等。以常用的输出电压为例,它主要测试管脚的带负载能力。在输出为低时,灌入电流,测量输出电压。随着灌入电流的提高,输出电压也会提高。是否能在一定的负载(灌入电流)下,输出电压保持在一定的范围内,可以衡量这个管脚的电气特性是否合格。

如果要同时测量多个输出管脚的电气特性,需要两个条件:(1)合适的功能测试向量将这些输出管脚同时设置到一定的输出状态;(2)每个输出管脚对应的测试通道都有独立的驱动、测试能力或者PMU(parametric measurement unit)。

数字信号芯片的测试除了上述的功能测试、 DC参数测试外还有AC参数、功耗测试等种种项目,这些内容将在之后的文章中介绍。几乎所有 VLSI芯片的测试都离不开数字信号测试,所以尽管数字信号测试已经十分成熟,但仍是学习芯片测试的基础。

系统分类: 测试测量
用户分类: 信号检测
标签: VLSI芯片
来源: 转贴
发表评论 阅读全文(54) | 回复(0)

5

关于投票
基于CAN总线的测试设备成关注焦点

基于CAN总线的测试设备成关注焦点

同捷公司电子电气分院原理所副所长 刘文超

国际众多厂商越来越看好中国汽车及汽车电子市场的巨大发展空间,纷纷采取跟随原国际知名汽车厂或与中国企业合资的方式进入中国,以期在将来的汽车电子市场占有一席之地。其品牌的知名度、雄厚的资金和技术实力、丰富的管理经验和市场运作能力等都给中国原有的起步晚、技术差的生产厂家带来了新挑战。而在汽车测试领域,众多厂商更是开始了你追我赶的角逐。

在汽车测试领域,中国测试和测量工程师主要关心如下方面的问题:一是组装工艺质量测试问题。汽车电子的使用环境为-40℃~+250℃,同时可能经受几个g的冲击力,这要求其机械设计比其他设备如家庭计 算机更为牢固。

二是设计和生产线测试复杂性问题。随着生产系统越来越复杂,工程师们面临的挑战在于如何保证性能和质量的同时控制成本并加快产品投放市场的步伐。深入分析从设计到制造的整个产品周期,我们可以看到测试始终贯穿于生产过程的每个环节,为解决汽车系统中各个电子单元之间的通信问题开发的CAN总线,能够将各个测控元素集成在一起,因此,基于CAN总线的测试设备选择是中国测试和测量工程师关注的焦点之一。

三是EMI测试问题。随着车内环境日益复杂,汽车工业采用了许多车载电子模块。这样一来,车辆所处的电磁环境也更加复杂。汽车业在多年前就已意识到EMI问题,所有著名厂商都已采取一定措施,通过制定测试标准和立法要求,力图借此减少电磁干扰的影响。如何在汽车电子系统错综复杂的环境中发现和解决EMI问题?这是中国测试和测量工程师面临的挑战。

系统级设计开发流程大致分为三个大的阶段。此三个阶段为系统设计阶段、部件开发阶段和集成测试阶段。在系统设计阶段,要根据对需求的分析,进行方案设计和详细功能设计,并针对每个功能对系统做进一步分解直到单个部件。第二个阶段为部件开发阶段,即根据设计的要求进行单个部件的具体软硬件实现。第三个阶段为集成测试阶段,包括将部件集成为具备一定功能的系统,然后对系统进行功能测试,最终根据需求对系统进行评定。这样,从系统到分系统到部件,再由部件到分系统到系统,完成了一个项目的周期循环。

同捷汽车CAN总线车身控制系统通过CAN总线来控制车身电器,如汽车外部照明、灯光信号、雨刮电机、洗涤电机、喇叭、后除霜加热器、后备箱锁执行器、油箱盖锁执行器、车窗、后视镜等器件。整套控制系统可以采用集中与分散相结合的控制方式。由一个主控模块、几个从控制模块以及遥控语音中控模块组成,从控制模块的具体数量由控制量的多少决定。

系统分类: 测试测量
用户分类: 通信测试
标签: CAN总线
来源: 转贴
发表评论 阅读全文(58) | 回复(0)

0

关于投票
泰克数字串行分析仪获 2008年“最佳测试产品”奖

泰克数字串行分析仪获 2008年“最佳测试产品”奖

摘自中电网

泰克公司日前宣布,其两款产品被Test & Measurement World杂志编辑评选为2008年行业最佳测试产品奖。DSA70000数字串行分析仪已经荣获最佳测试产品奖,这也是它荣获的第12项荣誉;同时,它还入围了“2008年度测试产品奖”。此外,MSO4000混合信号示波器系列获得荣誉奖。这些奖项授予为测试行业带来重大技术进步的优秀产品。

DSA70000已经入围“2008年度测试产品奖”,最终的获奖结果将由杂志读者通过网上投票的方式确定,投票时间从现在起到2008年2月15日,投票网址为:www.tmworld.com/awards。

“准确地调试、检定和测试高速串行电接口设计是一个棘手的挑战,也是工程师们一直面对的重要需求,特别是在当前高速串行数据信号中。”Test & Measurement World总编Rick Nelson说,“我们编辑部认识到,DSA70000是2007年推出的关键产品,可以迎接这类严格的测试问题挑战。我们非常高兴地把DSA70000评选为本年度12种‘最佳测试产品 ’之一。”

“跟测试测量厂商常年打交道的编辑们给予我们这么高的评价,确实是一个很大的荣耀。”泰克公司高性能示波器副总裁Brian Reich说,“Test & Measurement World杂志的编辑们把DSA70000评选为本年度最重要的产品之一,我们感到非常荣幸。DSA70000是业内速度最快的实时示波器,致力于满足工程师们从高速串行数据设计到最终产品一致性测试的各种需求。”

关于DSA70000

由于提供了创记录的20GHz实时带宽、全部4条通道上同时实现50 GS/s的采样率及全部4条通道上200M的存储容量,DSA70000数字串行分析仪是业内速度最快的超高性能示波器。DSA70000系列包括多种示波器型号,涵盖了三个层次:12.5GHz带宽的DSA71254、16GHz带宽的DSA71604和20GHz带宽的DSA72004,可以准确重复地捕获高速串行数据信号的频率谐波。DSA70000为测试高速串行设计提供了理想选择,同时为调试、检定和测试所有电接口设计提供了最佳解决方案。

关于MSO4000

泰克新推出的MSO4000系列混合信号示波器为嵌入式系统设计人员提供了全能混合信号设计验证和调试工具。MSO4000融合了三种强大的功能:先进的实时示波器功能、基本逻辑分析仪、突破性的Wave Inspector波形搜索引擎功能。它拥有两条或四条模拟通道及16条数字通道,提供了最多20条时间相关的通道,在所有通道上提供了长记录长度,全面支持监测、触发和调试并行总线和串行总线,实现了MSO业内最优秀的性能价格比。

系统分类: 测试测量
用户分类: 虚拟仪器
标签: 泰克
来源: 转贴
发表评论 阅读全文(47) | 回复(0)

0

关于投票
基于单片机的高速信号测试接口板的实现

基于单片机的高速信号测试接口板的实现

摘自中电网

在数字电路设计和调试中,对设计单元电路的性能进行实时测试是必不可少的环节。很多情况下,需要通过计算机的比较和分析,来测试设计的电路的性能是否达到要求。这就需要设计一个测试接口板,将计算机产生的测试数据送入单元电路,再将单元电路的输出结果送回计算机。 在电路测试接口板的设计过程中,常常会遇到总线时钟频率较高(如40 MHz以上)、总线宽度较宽(如36 b)、要求测试的数据量较大(几Mb/s)的单元电路。这时实时地进行数据的双向传输比较困难,因为不论采用总线频率较高的PCI数据总线或USB总线[1],都达不到系统要求的数据传输速率,所以必须进行数据的缓存。考虑到PCI总线和USB总线的接口电路复杂、开发周期长,本文介绍一种采用单片机为控制单元,通过RS232C接口,使用高速FIFO存储器件作为缓冲,在单元电路与计算机之间传输数据的方案。该方案实现简单,开发周期短,完全可以满足对于上述的数字单元电路的测试要求。 这里以测试总线频率40 MHz,数据宽度32 b的单元电路为例,介绍用单片机和FIFO实现的高速信号测试接口板方案,整个测试系统结构如图1所示。

1 系统概述

整个系统主要由单片机、FIFO芯片、MAX232芯片以及D触发器芯片构成。图2是系统的原理简图,图中给出 了一些重要的器件和控制信号。

系统的工作流程如下:首先将测试数据从计算机的RS232C口送入单片机,单片机将其变为8 b并行数据写入FIFO1,这期间不对FIFO1进行读操作。FIFO1满后,被测板以40 MHz的总线时钟频率并行读取FIFO1,同时被测板的输出以同样速率写入FIFO2。FIFO2满后,再通过RS232C口将FIFO2中的数据读入PC机,其中的控制操作由单片机及外围电路来完成。下面将分4个步骤介绍系统的工作过程,其中前2个步骤是测试数据从计算机传送到被测板的过程,后面2个步骤描述了被测板的输出结果送回计算机的过程。

1.1 RS232C口与FIFO1的通信(数据从RS232C口输入)

测试数据以串行方式从计算机的RS232C口输出,通过MAX232电平转换后进入单片机的RXD口,再转换为 8 b并行数据从P2口写入到FIFO1。单片机除了控制FIFO1和FIFO2的复位RES(图2中未标出)、FIFO1的写使能WEN1以及FIFO1的写时钟WCLK,还发出一个信号用来辅助读取FIFO1。 由于FIFO1的读取被设置为在数据写入时无效,只有写满了以后才允许被测板读取,因此对于FIFO1满状态的判断及控制非常重要。这里通过计数方式和查询方式同时确定其满状态,方法如下:在单片机内设置一个计数值为256 k的计数器,每送出一个字节,计数器值减1。当计数器减到0,查询FIFO1
管脚的状态,若为低电平,则开启,允许被测板从FIFO1中读出数据,否则向计算机发出错误信号,重新接收数据。

由于FIFO1的读取被设置为在数据写入时无效,只有写满了以后才允许被测板读取,因此对于FIFO1满状态的判断及控制非常重要。这里通过计数方式和查询方式同时确定其满状态,方法如下:在单片机内设置一个计数值为256 k的计数器,每送出一个字节,计数器值减1。当计数器减到0,查询FIFO1的管脚的状态,若为低电平,则开启,允许被测板从FIFO1中读出数据,否则向计算机发出错误信号,重新接收数据。

1.2 FIFO1与被测板的通信(数据输入被测板)

FIFO1与被测板的通信连接包括数据线以及读允许REN1。REN1的的作用是控制被测板的读取过程,只有当此信号为低电平,被测板才能从FIFO1中读数据。 由于被测板的读取速度很高,而单片机的指令周期相对慢得多,当FIFO1被读空后,如果使用单片机来控制读允许使其恢复到高电平,可能在关闭读允许以前被测板已经读入了很多无用数据,所以这里采用FIFO1的空标志位通过D触发器,和单片机的读允许端1.2 FIFO1与被测板的通信(数据输入被测板)
FIFO1与被测板的通信连接包括数据线以及读允许REN1。REN1的的作用是控制被测板的读取过程,只有当此信号为低电平,被测板才能从FIFO1中读数据。 由于被测板的读取速度很高,而单片机的指令周期相对慢得多,当FIFO1被读空后,如果使用单片机来控制读允许使其恢复到高电平,可能在关闭读允许以前被测板已经读入了很多无用数据,所以这里采用FIFO1的空标志位通过D触发器,和单片机的读允许端一起组成控制信号具体电路如图3(a)所示。

1.4 FIFO2与RS232口通信(数据从RS232口输出)

FIFO2的满状态除关断其写允许WEN2外,还给单片机一个中断信号,单片机收到此中断后,立即开启读允许REN2(将其置为低电平),开始从FIFO2的空读取数据,FIFO2的空状态判别同样由计数方式和查询方式同时确定,当计数器为0时,测试FIFO2的空状态输出管脚EF2,若结果为低电平,则通知计算机读取过程结束,同时关闭REN2,禁止读出数据,否则通知计算机出错。 至此,一次完整的测试数据处理传输过程已经全部完成。单片机对FIFO进行复位,准备下一次工作。用户可以分析被测板送回的数据,从而测试单元电路的性能。

2 器件选择

本方案中单片机采用AT89C51芯片,包括4个8 b并行I/O口、1个全双工的串行口、2个16 b的定时/计数器以及2个中断源。晶振的工作频率选用11.095 2 MHz,每个机器周期约1μs。单片机在这里主要完成与RS232C口和FIFO通信以及整体流程控制的工作。相对于被测电路的数据速率,单片机的处理速度很低,因此如何用相对低速的器件控制高速信号是本方案要解决的关键问题之一。本文的方法是采用FIFO和TTL芯片来实现数据缓冲和辅助控制。辅助控制器件中的D触发器采用速度较高的74S系列芯片,最高工作频率为110 MHz。 FIFO是一种先进先出存储器,允许同时异步进行读写操作,读写之间互相独立。这里选用的FIFO为IDT72V36100芯片,容量为64 k×36 b,工作频率高达133 MHz,是IDT公司SuperSyncⅡ系列高性能同步FIFO中的一种。该系列芯片相比以前的FIFO器件有很多独特的优点。例如具有总线匹配功能(即输入输出数据总线宽度可以不同,有几种匹配方式供用户设置),还有标志位可编程功能以及重发功能,使得设计者能够根据需要设置标志位的地址,并且可以重新读取已经读过的数据。这些 优点大大增加了设计灵活性,给使用者带来很大方便。 本方案中用到FIFO的主要管脚包括写使能WEN1(低有效)、读使能REN1(低有效)、数据输入/输出、总线匹配设置、空标志位(低有效)、满标志位(低有效)以及读写时钟等。IDT72V36100芯片的总线宽度有5种匹配方式,分别为36 b/36 b,36 b/18 b,36 b/9 b,18 b/36 b及9 b/36 b,本方案选用的是36 b/9 b和9 b/36 b的总线匹配方式。实际应用中,根据被测电路的实际情况可以选择不同的总线匹配方式,使用者根据所选的匹配方式将相应的FIFO总线设置管脚置为高电平或低电平。

3 软件流程

系统所用到的软件包括PC机的串口通信程序与单片机程序。PC机的串口通信程序完成的是单纯的通过RS232口与单片机通信的功能,这方面的技术资料很多,因此不再赘述。这里主要介绍的是单片机程序,该程序执行流程控制功能和与PC机通信功能。 单片机与PC机通信时,接收采用中断方式,发送采用查询方式。图4是单片机主程序流程图。单片机程序中要用到两个标志位,即联络标志位和数据结束标志位,主程序在初始化过程中应该先将这两个标志位清零并设置好计数器。经过初始化以及开中断后,单片机处于等待方式,不断查询数据结束标志位,判断数据是否接收完毕。当查询到标志位被置1后,继续查询FIFO1的满状态管脚,若FIFO1为满,证明数据接收正确,单片机允许读FIFO2,进入等待状态,等待FIFO2变满产生的中断,然后转向发送子程序。
图5是中断接收子程序的流程图。串口每进入一个字节就产生一次串口中断,进入到该子程序中。每次中断都要先检查联络标志位,若该标志位为0,则表明送入的是联络字节,检查该字节和约定的联络信号是否一致,若一致, 表明通信正常,将联络标志位置1;如果联络标志位已被置1,则检查数据结束标志位,若该标志位为0,则将数据以字节为单位写入FIFO1,每次中断写入一个字节,并将计数器减1,若计数器减到零,表明数据传输结束,将数据结束标志位置1并跳出中断。

发送子程序执行的是将数据从FIFO2发送到PC机的过程,与接收子程序流程基本相同,只是前者为查询方式,后者为中断方式,故不赘述。

4 测试结果

根据以上方案进行了电路设计和调试。被测FPGA(Field Programme Gate Array)单元电路的数据总线频率为40 MHz,数据总线宽度为32 b,要求测试的数据量为2 Mb。RS232口采用19.2 k的波特率,数据输出或输入需要约2.5 min,但比起使用PCI或USB接口的开发代价,这种时间上的微耗是完全可以接受的。 为了验证测试接口板,先令单元电路不对数据做任何处理,只与测试接口板进行时序上的配合,两者进行联调。可以看到从计算机产生的数据文件与送回的数据文件完全相同,这就证明该测试接口板能够准确无误地传送数据。然后再令单元电路在时序配合的基础上加载自己的功能程序,就可以在计算机内分析和比较单元电路的输出结果了,测试结果表明单元电路的输出与计算机仿真的结果完全符合,进一步证明了该测试方案的正确性。 如果需要测试不同数据总线宽度的电路,只需根据需要改变FIFO的总线匹配设置管脚的电平,并修改单片机程序中的相应语句即可。可以看出,该测试接口板在应用方面有较大的灵活性。

5 结语

迄今为止,基于本方案的测试接口板已经成功地完成了多项单元电路的性能测试工作。实践证明其工作稳定可靠,实现简单,并且可以测试不同数据总线速率(110 MHz以下)、数据宽度(36 b以下)以及各种不同功能的单元电路。这种以相对低廉的控制器件为主测试较高速数字单元电路的方案,在通信系统的设计和调试方面有重要的实际应用价值。

系统分类: 测试测量
用户分类: 信号检测
标签: 高速信号测试
来源: 转贴
发表评论 阅读全文(58) | 回复(0)
总共 , 当前 /