摘要:介绍了一种通用的电路板自动测试系统的设计与实现。系统从针床到测试软件的各个环节都采用了开放型的设计,通用性很强,可以用于多种电路板的自动测试;具有高达2 Gs/s 的信号采样率,可以比较准确地采集频率为153 MHz 的信号,用于多款电路板的测试。
电路板已经成为当今电子产品的重要组成部分,随着电子技术及印制板制造技术的发展,现代电子产品日趋复杂,印制电路板的密度日趋增加,随之而来的是印制板的测试及修理也愈加困难。为了提高印制电路板的检测及维修的自动化程度,设计电路板的自动测试系统是非常必要的。
目前,印制电路板自动测试技术发展迅速,印制板在线测试系统(ATE)广泛应用于印制板光板及各种产品的印制电路板的生产、检测和维修等环节。由于用户的测试要求、测试对象各不相同,其具体性能(或功能)、测试原理及测试方法也各不相同,它需要量体裁衣、单台定制才能满足用户的要求,并且系统的通用性较差,资源可重复利用率低。鉴于上述状况,本文设计了一款较为通用的自动测试系统,用来测试电路板是否工作正常,实现了对多款电路板的在线测试。
1 系统的总体结构
1.1 系统总体考虑
本系统的主要目的是测试电路板是否工作正常,是通过对电路板上关键信号进行测试来达到的。因此,本系统的任务就是对电路板上的关键信号进行采集,通过PC 端的软件进行分析得出测试结果。系统分为针床、信号采集和传输模块、测试软件3个部分。作为一个通用的测试系统,在3 个部分中均考虑了较强的通用性。
1.2 系统结构
本自动测试系统的结构框图见图1。系统的工作原理是:通过针床将待测信号导出,FPGA 通过控制多路模拟开关将待测信号采集进来,将数据通过相应协议传送到PC 机,用自动测试软件测试各个信号是否正常。
由于待测信号的频率相差较大,有直流信号,也有频率高于103 MHz 的脉冲信号,以及在其间的多种频率的信号,因此本系统采用低频和高频2 组信号采样电路,来适应不同信号采集的需要。
1.3 主要芯片介绍
本系统中用到的主要芯片有:主芯片EP2S63,AD 采样芯片AD7864 和AT84AD331。以下对这3 种芯片进行简要介绍:
EP2S63 是ALTERA 公司的Strati 系列的FPGA,该系列的FPGA 采用先进的93 nm 生产工艺;将FPGA 性能推向了新高度,该系列是业界最快、密度最高的FPGA。EP2S63 拥有多达84个专用LVDS 差分逻辑接收通道,每个LVDS 通道数据传输速率最高达1 Gb/s。其内部具有专门的高速数字锁相环电路,能够产生可供ADC 电路使用的时钟信号。
AD7864 是一种较低速、低功耗、可以4 通道同时采样的12b A/D转换器。它拥有12 位A/D转换器,可同时采样4 个输入通道,并具有4 个采样、保持放大器;单电源供电(+5 V),多个转换电压范围, 对于每一个模拟输入通道均有过压保护电路;4 通道同时工作时,最大采样率为133 kHz。
AT84AD331 是Atmel 公司生产的高速采集芯片。该器件集成了两路(I 和Q)独立的ADC,具有8 b 转换精度,每个通道具有l Gs/s 的采样率,在交错模式下采样率达2 Gs/s。本芯片基于高速应用场合的要求,模拟输入、数字时钟输入、数字时钟输出、数据输出,同步时钟输出都采用差分方式。数据输出采用LVDS标准,其传输率可达1 Gb/s,使用其内部的多路分离器,可以降低输出数据率,也可以方便地与多种类型的高速FPGA 直接相连。
采用1∶2 模式时,输出数据速率降为533 Mb/s,可以满足多数FPGA 接收数据的要求。
2 系统详细设计
2.1 针床设计
针床是电路板测试系统的重要部件,是电路板信号导出的平台。针床的通用性较差,一般是每种电路板对应一个特定的针床,这使系统的通用性受到很大的限制。为使针床具有一定的通用性,本系统中对针床的相关部件进行了一些改进:
(1)探针设计。探针见图2 a。本探针是以目前市场上的探针为基础、自行设计的内含弹簧的探针,易于固定,信号导出方便:
探针的一端为探头,是与电路板接触,并导出信号的部分;另一端是固定座,是绝缘体,中空,内含弹簧,使探头能够伸缩;中间为信号的导出端子。为减少各个信号间的干扰,导线均采用屏蔽线。为适应不同信号要求,按粗细和允许的信号带宽要求探针分为多种型号,使用时根据需要对探针型号进行选择。
(2)探针的固定:在本系统的针床上,探针的固定是采用两块相同的探针固定板和4 块挡板组成,固定板和探针的固定示意图见图2 b 和图2c:固定板的大小与待测板相同,板上固定孔位置需根据电路板的技术文件来确定,孔的大小需根据选取探针的型号来决定。挡板可以在整个针床的底座上进行移动调整,以适应不同尺寸电路板的固定要求;挡板的宽度,前后两个为233 mm,左右两个为73 mm。
2.2 信号采集
电路板上输出的待测信号主要有三类:电源信号、脉冲数字信号、电平变换信号。此外还有一些频率较高的模拟信号,如音视频信号,此类信号一般不作为关键测试信号,若需测试时可按高频信号进行采集。其中电源信号和电平变换信号均可视为直流信号来采集,用AD7864 完成采集。而脉冲数字信号的频率较高,动辄就几十兆赫兹甚至上百兆赫兹,需要用高速的AD(本系统中用的是AT84AD331) 来进行采集,并且需要对频率进行测量。因此本系统信号采集分为低频和高频两个部分,下面分别叙述:
(1)低频部分。本部分主要采集的是电源信号和电平变换信号,采用AD7864 作为采集芯片。AD7864 具有片内时钟、读写允许逻辑、多种通道选择方式以及内部精确的2。5 V 参考电压,这使得其与高速处理器的接口变得非常简单。AD7864 转换后的数据读取采用转换后读取数据的方式,其读取时序见图3。
采集到的数据为D3~D11 共12 位,需根据采集到的数据来计算电压值,计算公式如下:
当D11 位为3 时,电压为正值,计算公式为:
当D11 位为1 时,电压为负值,计算公式为:
以上两式中D 为读取的12 位数据,FSR 为AD7864 的测量范围,本例中为23 V(测量范围为V)。
(2)高频部分。主要是对脉冲数字信号的采集,包括频率测量和信号采集两个部分。脉冲数字信号的频率是确定电路板是否工作正常的重要参数,因此确定脉冲信号的频率是否正常是本测试系统的必要工作。本系统是将待测信号接入FPGA 与53MHz 的高精度时钟同时开始计数,一段时间后,通过两个信号的计数值来计算脉冲信号频率的。信号采集是以AT84AD331 作为采集芯片。AT84AD331 与EP2S63 的连接见图4。
AT84AD331 可以配置成I 路和Q 路单独使用,此时可以同时采集两路信号,最高采样率为1 Gs/s;也可以配置成I 和Q 路的交错采样,此时只能采集1 路信号,等效采样率为2 Gs/s,使用时可以根据需要对该芯片进行在线配置。FPGA 对AT84AD331数据读取时序见图5。
由于AT84AD331 输入信号为差分信号,且信号峰峰值要求不超过533 mV。电路板上的待测信号都是单端的并且峰峰值一般在4 V~5 V 之间。本系统中采用了13∶1 的变压器耦合输入方式,可以完成单端信号到差分信号的转换,并且使信号电压满足要求。
在FPGA 内部完成对LVDS 信号的读取、组合、排序以及存储等操作。一般情况下存储的采样点的值在1 333 以内,然后对这些采样点的值进行计算,可以得到实际电压值,计算公式如下:
2.3 数据传输和控制协议
系统中待测信号较多,低频和高频部分分别是32 个,而数据采集芯片都只有一个,各个信号都是由FPGA 控制模拟开关分时地进行采集的。为使各个通道的数据存储、传输和控制有序地进行,在FPGA 中为每一个信号都设置了工作状态控制模块和数据存储模块(以下称为寄存器和数据存储器)。本系统中所有控制过程的命令都是从PC 端发出的,FPGA 接收控制指令后,按指令进行相应的操作。
(1)寄存器和数据存储器介绍。FPGA 对每一路信号都设有5 bit 的控制寄存器、12 bit 的最终结果寄存器和16 bit 的原始数据存储器。此外在高频部分还拥有一个公共的高速采样数据的存储器,大小为1 kB,及其对应的一个8 bit 的控制寄存器。5 bit的控制寄存器每个通道只设有一个,该寄存器D3 位为数据准备好标志(1 有效),其余4 位为控制位,各位的功能见表1,每一位都是1 为肯定,每一位都可通过PC 端发来的控制指令更改,FPGA 只能向D3 位写1 ,表示数据已经准备好。上电或复位后该寄存器值为33333B。
表15bit控制寄存器的位功能
12 bit 的最终结果寄存器每个通道也只设有一个,该寄存器的值是向PC 机发送的最终结果。该寄存器的数据在低频和高频部分,存放的数据不同:低频部分存放的是13 次采样结果的平均值,高频部分存放的是计算后的频率值。
16 bit 的原始数据存储器,其低频和高频部分的数量是不相同的:高频部分一般是2 个,分别用来存放标准和待测时钟的计数值;低频部分为13 个,用来存放13 个采样点的值,12 bit 的最终结果寄存器的值是根据这13 个数据的平均值。
高速采样数据存储器是高频部分的32 路共有的,由于波形采样的数据量比较大,本系统设计时在同一时刻只允许采样1 路信号,采样点数可以设定(最多为1 K),待这些数据全部发送出后,才可以开始下一次采集。对应的控制寄存器的位功能见表2。
表2 高速采样控制寄存器的位功能
其中D7~D4 为数据采集的点数设置,3333B 表示64 个,1111 表示1 324 个,步进为64。D3~D1 为数据抽取的间隔设置,333 表示抽取间隔为3,全部数据有效;111 表示抽取间隔为28,即每隔28 个点抽取一个点,步进为4。设置这几位的目的是为了适应信号频率的要求,防止采集数据不足一周期的状况发生。D3位为标志位,功能和操作与5 bit 的寄存器的对应位完全相同。本寄存器分高4 位和低4 位两次设置。
(2)控制命令介绍。本系统中的控制命令都是由PC 机发出的,共8 个命令:选择控制寄存器1(低频部分);选择控制寄存器2(高频部分);选择控制寄存器3(高速采样部分);写控制寄存器数据;读取数据1(低频部分);读取数据2(高频部分的频率值);读取波形采样数据;开始/停止测试。
PC 机发送的控制字都是8 位的,其中高3 位为控制命令字,用来区分8 个命令,低5 位为辅助功能,具体见表3。FPGA 接收到主机发来的命令信号后,按命令执行相应的操作。
表3 控制命令的位功能
(3) 数据传输过程简述。系统中与PC 机的通信采用的是RS232 接口,数据的传输完全符合RS232 标准。现将数据的传输过程简述如下:系统启动后,首先进行自检,以确定系统工作是否正常;系统工作正常后,PC 机通过测试软件对FPGA 内部的各个寄存器进行配置;然后发送开始命令,开始对有效的各个信号进行采集;采集完成后向PC 机返回信息,PC 机根据需要通过测试软件从FPGA 读取相应通道的数据,将数据计算后与标准值进行比较并得出测试结果。也可以根据需要读取某一通道的原始数据以及采集某一通道信号的波形。在FPGA 内部还拥有关键信号(电源)的监测:任何一路电源信号不正常则重新进行采集,若3 次采集结果均不正常则直接关闭电路板的供电电源,避免损坏电路板,并向PC 发送电源不正常的消息,并给出出现异常的通道号。
2.4 测试软件设计
测试软件是本系统的人机接口部分,在本系统中需包括如下功能:设置各个通道信号的参数值,并能保存和读取设置的参数;显示各个通道的信号测试结果,并能够保存;能够采集并显示某一通道的信号波形。
拥有上述功能即可进行测试,至于界面方面可以根据个人的习惯和爱好进行设计。本系统的测试软件实现了上述的功能,至于界面并未追求美观,其功能大致如下:
系统主界面见图6,除了“开始停止”键外,有设置、查看信号波形和保存结果3 个按钮,还有一个结果的输出窗口。
设置窗口见图7,本窗口中可以设置每一路信号的属性,也可以直接调出以前保存的设置,设置完成后即可按该设置进行测试。设置完成后,可以将本次的设置保存成文件,以便下次直接调出。
查看信号波形的设置和显示窗口见图8。
3 结语
本文设计的电路板自动测试系统通用性强、使用方便、工作稳定,可以应用于多款电路板的测试;对不同的电路板,只需制作2 块对应的固定板即可。系统已经对123 mm×133 mm 和253mm×213 mm 两款电路板进行测试,结果令人满意。该系统具有一定的推广价值。