基于GPIB总线的虚拟仪器信号自动测试系统设计
扫描二维码
随时随地手机看文章
随着测控技术的发展,要求测试的项目和测试参数日益增多,对自动化测试速度和测试准确度也提出了较高的要求。虚拟仪器是基于计算机和标准总线技术的模块化系统,通常由控制模块、仪器模块和软件组成。由软件将计算机硬件资源与仪器硬件有机的融合为一体,从而把计算机强大的计算处理能力和仪器硬件的测量、控制能力结合在一起,大大缩小了仪器硬件的成本和体积,并通过软件对数据进行显示、存储以及分析处理,广泛应用于民用和军用测量领域Ⅲ。作为虚拟仪器技术的一种,GPIB总线仪器以其良好的可靠性和高精度性使基于该总线的虚拟仪器在自动化测试领域中得到广泛的研究与应用。
GPIB总线是一个数字式的24线并行总线。它由16条信号线和8条接地返回线组成。GPIB的16条信号线分为8条数据线,5条接口管理线,3条握手线等三大组。可以实现诸如总线初始化、设备寻址或地址释放以及为远程或本地编程设置设备模式的任务。GPIB使用8位并行的异步数据传输方案。
由于某弱信号处理模块需要测试的性能指标繁多,传统的手动测量的方法效率较低,人为因素的影响较大,操作失误情况下容易损坏模块,不适用于批量生产的产品测试。研制针对该模块的自动测试设备在批量的产品测试中可以有效的节省人力和时间,减少由于人为因素而产生的差错,提高测试准确性,对于产品的批量生产具有很大的促进作用,并有利于对产品的质量控制。
1 系统的主要功能
该自动测试系统主要应用在对某型弱信号处理模块的自动化检测中,实现对7个大项,100多个小项的自动化检测,取代使用分立的仪器逐项手动测试。测试系统需具备以下几个主要功能。1)为模块提供+12V、-12V直流电源及可变频变幅的正弦及脉冲信号输入;2)测试模块的交流噪声及直流偏置;3)测试交流通道输出波形失真度;4)进行模块的跨阻、高低端截止频率、AGC、隔离度等多项性能参数的自动测试;5)测试直流通道跨阻等性能指标;6)提供高低温测试夹具并实现常温及高低温状态下的测试;7)对结果以波形及数据表等方式记录显示和打印输出;8)自检功能及过流保护功能。测试系统应具有良好的图形用户界面,友好的人机对话环境。软件界面上应包括电源自检和信号源自检以及自校准功能。输入模块的激励信号的频率和幅值可以调节。测试系统应有两种工作方式,可以按照测试项目顺序依次进行测试,也可以对选中的单个或多个测试项目进行程控测试。测试过程中界面上实时显示测试系统的工作状态、测试项目和测得的数据。具有产品测试数据实时记录、储存及打印功能,能自动生成规范的测试报告、测试曲线。测试过程可随时终止,并可查看自动生成的测试表格,自动标识不合格项。测试系统的组成框图如图1所示。测试系统的设计包括硬件没计和软件设计两部分。
2 测试系统硬件设计
测试系统的硬件部分由专用夹具、采集控制板、GPIB接口卡、数字I/O卡、函数信号发生器、数字万用表、数字存储示波器及工控机等组成。工控机通过采集控制板对模块的各引脚通道进行选择并发送信号,待测量通道的信号输入到相应仪器进行测量。工控机与各仪器通过GPIB总线相连,将控制命令发送到各仪器,测得的数据被发送到工控机进行分析处理等工作。采用GPIB总线星型连接方式,可以避免因某个仪器的关闭或非正常工作而影响工控机与其他仪器间的通信。
图2为该系统的硬件组成框图。其中直流稳压源提供模块的工作电压,通过采集控制板向模块专用夹具提供。函数信号发生器、数字万用表和数字存储示波器本身带有GPIB接口,在工控机扩展槽中插入GPIB卡获得工控机的GPIB接口,通过GPIB电缆线连接在一起,可以进行数据和信号的传输。工控机通过GPIB卡和数字I/O卡实现对采集控制板和其他设备的实时控制,向被控对象发出命令,协调它们之间的动作,从测量设备读出数据,并对数据进行分析和处理,将完整的测量结果进行保存或制成报表打印输出。
函数信号发生器采用Agilent 33220A,用来向模块提供正弦信号和脉冲波信号。Agilent 33220A所能提供的正弦波的频率范围为1μHz~20MHz,幅度范围为10mVpp~10Vpp,精度为1mVp-p。Agilent 33220A函数信号发生器带有IEEE488.2标准的GPIB端口,可以和工控机进行通信,并由工控机对其输出波形参数进行设置。数字示波器采用Tektronix公司生产的TDS1002,带宽为60MHz,采样率1.0GS/s,可以满足测试要求;TDS1002示波器带有满足IEEE488.2标准的GPIB端口,可以和工控机进行通信,将测试结果传递给工控机。数字万用表采用Agilent 34401A,具有6位半数字分辨率,最高精度为1μV,交流电压测量量程为15mV~750V,频率测量范围为5Hz~1MHz,最高精度为0.01Hz,带有满足IEEE488.2标准的GPIB端口,可以和工控机进行通信,用来完成模块各通道输出波形的频率和交直流幅值的测量,并检测直流稳压源和函数信号发生器的输出。
2.1 直流稳压电源单元
直流稳压电源为模块提供+12V和-12V电压,为控制板和模块夹具板上的GPLD和继电器提供+5V工作电压。采用DH1718G-4型直流稳压源,此电源有0~+36V和0~-36V两路可调直流电压输出和一路十5V固定电压输出,输出电流分别为0~+3.5A和0~-3.5A,纹波电压有效值为0.5mV。
2.2 主控计算机系统
主控计算机系统由工控机主机、GPIB总线接口卡和数字I/O卡构成。计算机主机采用研华科技有限公司生产的工控机,内存在软件计算和显示中对容量要求比较大,内存容量配置为1Gbytes。GPIB总线接口卡选用了National Instruments公司生产的PCI-GPIB接口卡,该接口卡支持“Plug and Play"标准,接插件采用IEEE488.1的标准24针接头,数据传输支持标准IEEE488和HS488两种模式。数字I/O卡采用National Instruments公司生产的PCI-6503,是PCI总线接口的数字I/O卡,兼容性强,支持“Plug and Play"标准,采用5V TTL/CMOS控制电平,具有3通道共24位输入/输出。
2.3 采集控制板
采集控制电路板分为电源处理、信号输入、信号输出和CPLD控制4个部分。电源处理部分负责8块待测模块工作电源以及增益控制引脚的选通;信号输入部分将信号发生器输出的信号提供给模块待测的一路;信号输出部分把模块待测的一路输出信号送给数字万用表或示波器进行测量。CPLD另设了5个输出引脚A~E用来控制模块夹具板上的继电器通断。为了适合产品和夹具的需要,选用了超小型高灵敏度的电流动作型信号继电器,其导通电阻小,绝缘电阻大,寿命长(开关数可达千万次),体积小,重量轻。
工控机首先向数字I/O卡写控制字,数字I/O卡将8位的命令数据传送给采集控制板上的CPLD,CPLD将接收到的控制命令经过译码产生各继电器的控制信号,在CPLD每个输出引脚采用驱动电路提高电流驱动能力以实现对继电器的控制,从而实现某个待测模块的相应通道的选通。除了采集控制板上的继电器阵列以外,夹具板上还有5个继电器,用以实现模块输入通道的就近接地。CPLD模块采用的是Xilinx公司的XC9572-15PC84,XC9572是Xilinx公司XC9500系列CPLD的一种,采用了先进的Fast FLASH ISP技术,可提供10000次以上编程擦除周期,并提供了先进的系统内部编程及测试功能。
3 测试系统软件设计
整个软件系统设计分为4个模块:人机界面、数据处理、仪器控制和数据传输,如图3所示。其中,仪器控制和数据传输是在测试过程中联合作用的,作为底层的程序进行开发,并按照功能整合成子程序,划分为多个子模块分别进行设计,供测试主程序进行调用,提高了软件的可靠性、可维护性和可扩展性。前台是人机界面,检测并判断用户输入的测试相关信息,形成测试流程并调用相应子程序。后台数据处理部分,将仪器传回的测量数据进行分析判断,形成报表存档。测试软件的工作方式分为两种:自动测试和程控测试。自动测试模式可按顺序依次进行全部项目的测试;程控测试模式可以对选中的单项或多项测试项目进行单独测试。通过软件功能更改可以兼容不同设计的弱信号处理模块。测试系统的软件开发平台采用美国NI公司的LabVIEW8.2。
根据功能需要设置了5个主要界面,分别为登陆、用户管理、参数设置、测试和报表管理。登录界面通过校验屏幕输入的用户名及密码,判断相应的权限。软件系统控制实际仪器对被测模块进行7个大项的测试。控制信号及测得数据均通过GPIB总线传输。在测试过程中,在底层进行数据的处理和分析,判断是否符合指标要求,并进行整理汇总。该测试系统软件将所有硬件资源的驱动程序以驱动程序库的形式加以组织,使测试应用程序通过访问驱动程序库函数实现对各种硬件资源的操作,提高了系统的计算能力。
3.1 登陆界面的实现
通过对用户名和密码的判断可得出对应的权限。如果是系统管理员,则进入Case框的“True"条件,通过对登陆界面上的功能可视属性的设置,显示数据管理、参数修改、测试等所有功能。如果是普通用户登录,则进入Case框的“False'’条件。在内层Case框内,程序对四个功能按钮的Visible属性进行设置,并对右下方的布尔型全局变量“是系统管理员”进行赋值。该全局变量的赋值是为了与数据管理界面进行通信,在数据管理界面上对不同的用户权限进行功能区分。
用户登录后,程序不断检测屏幕上各个功能按钮的状态,一旦有按钮按下,则进入其相应的子界面。子界面均做成VI,存放在于登录界面同一根目录下。在程序中,运用Call By Reference Node函数,对子界面进行动态调用,实质上就是对VI进行动态控制。子界面动态调用程序中,首先分别使用Refnum函数和Open VI Reference函数生成和打开被调用子界面VI的Reference(参考号),再使用Invoke Node函数中的Open FP动作打开子界面的前面板窗口,并通过Property Node函数设置被调用VI的属性。设置被调用的子界面状态为Activate,即可对被调用的子界面上的控件进行操作。使用Call By Refer-ence Node函数进行调用,在调用完毕之后,再使用Invoke Node关闭子界面前面板窗口。最后释放Reference。在整个软件系统中,将相关功能集成在1个子界面中,通过动态调用子界面,使程序运行合理,使用方便。
3.2 测试主界面的实现
测试主界面是整个测试软件中最复杂和功能最集中的部分,对操作者输入的测试信息进行判别并形成测试流程,通过测试流程调用相应测试功能的子VI完成测试任务。需要通过程序对工控机上的数字I/O卡和GPIB接口卡进行控制,使其按照程序的设置进行输入输出;测试过程中实时显示测试进度和测试数据,对于部分测试项目按照要求在界面上显示测得的信号波形;要对测试过程中测得的数据讲行判别。在丰界面设计时,将各个测试项目独立编写形成子VI以便调用。测试项目完成后进行一系列报表整理和数据库的插入等操作,及时更新测量的数据。
由于模块针对不同的温度的合格指标不同,因此主界面上设计了常温、低温和高温三个选项。使用While循环框及Event Structure(事件结构)实现上述功能。外层的While框是令程序循环等待操作者的选择动作的发生,Event Structure框中是响应该动作的程序。
操作者按下“初始化”按钮,系统运行初始化子程序,检测万用表、信号发生器、示波器、稳压电源等是否工作正常,并检查夹具选定测试位置上是否装有模块。初始化程序还测量被测模块的电源电流,并进行测试所需激励信号的自适应校正。以上各项均通过后,初始化程序结束。程序等待操作者按下“开始测试”按钮。取得所测模块的信息和所测项目,形成测试程序流程,按照流程分别进入各测试项目子程序中。
3.3 交流噪声测试
某弱信号处理模块的交流噪声主要于热噪声、散粒噪声和1/f噪声等。交流噪声测试测量各交流通道的交流噪声电压值Vn,测量过程中需要观察噪声波形,应为带宽型非周期性波形。程序通过I/O卡输出控制字,驱动继电器,选通被测芯片,并连通其输入输出管脚和实际仪器之间的电路。被测芯片的各交流输入通道均接GND,被测芯片的输出经过低噪声放大电路放大30倍后,由万用表测得并通过GPIB总线传输到程序。子程序“显示波形30s”调用示波器,采集放大30倍后的噪声波形数据,通过GPIB总线传输到程序后界面实时显示,持续30s。
3.4 参数指标的修改
可以由系统管理员修改参数指标并及时存储作为合格判据。指标参数以二进制文件形式存储在计算机的指定路径,每次运行参数修改界面时先读出该二进制文件,将这些参数初始化到界面的各个相应控件上,向操作者显示出最近的修改结果。操作者修改完成后,将最新的修改情况更新存储到指定路径的二进制文件上,覆盖原有文件,保持指标参数的为最新。
3.5 波形失真度计算
Distortion Measurements.vi是计算波形失真度的程序。谐波失真是指用信号源输入时,输出信号比输入信号多出的额外谐波成分。谐波失真由系统不是完全线性造成,它通常用百分数来表示。总谐波失真度THD计算公式如下:
式中,V2至Vx是基波V1的谐波。X限制在奈奎斯特频率范围。
3.6 测试记录功能设计
程序通过对界面上操作者输入的报表管理信息,形成相应的程序流程。程序可实现对6个模块的测试报表的打印和保存。程序主要使用File I/O类函数中的Write File函数结合格式控制程序进行报表的生成。程序中首先设置报表的头尾显示信息,使用Initialize Report函数初始化成标准报表。使用Append Report Text函数添加打印报表的内容。第1个Append Report Text函数添加报表对应模块的信息,如测试时间,模块序号及批号等。第2个Append Report Text函数添加测试者签名,落款日期及QC签名等备注信息。报表生成后,使用Print Report函数将格式整理好的报表送至联机打印机进行打印输出。使用Append Text Table with diff column widthto Report生成不同列宽表格的报表函数。在For循环结构中,通过层叠型顺序框执行报表格式的整理,通过For结构的循环计数器在测试结果数组中提取数据,并进行重排及插入报表相应位置等操作。
4 实现结果
表1为用测试系统测标准模块的主要参数得到的测试结果。从表1中可以看出,各参数的测试结果准确,且重测一致性较好。本测试系统研制完成后经批量的模块产品测试检验,很好地满足了某弱信号处理模块的测试需求,各种测试参数的指标均达到了设计要求,并且使用方便,用户界面友好,软件功能更改方便灵活。目前已经应用于某红外跟踪产品的批量生产中。