基于GPIB的车载音响自动测试系统
2009-03-19刘宏勇吕凝
刘宏勇 吕 凝
摘 要:阐述基于GPIB技术的自动测试系统的组成,介绍了GPIB技术的特点和原理,最后介绍已在实际中使用的车载音响测试系统。该系统是在基于GPIB的基础上构建起来的,并在实际中得到应用。整个系统分为硬件和软件两大部分:硬件部分主要由测试仪表构成,软件在Windows XP环境下运行,由Visual C++编写。
关键词:虚拟仪器;GPIB;自动测试;面向对象设计
中图分类号:TP23文献标识码:B
文章编号:1004-373X(2009)03-175-04
Car-audio Automatic Testing System Based on GPIB
LIU Hongyong,LV Ning
(Computer Science and Engineering Institute,Changchun University of Technology,Changchun,130012,China)
Abstract:The composition of automatic testing system based on GPIB technology,characteristics and principles of GPIB,the use of car-audio testing system in practice are introduced.This system is building up on the basis of GPIB,and is applied in practice.The whole system is divided into hardware and software parts:the hardware is mainly composed of test instruments,software run in Windows XP operating environment and is compiled by Visual C++.
Keywords:virtual instrument;GPIB;automatic testing system;object-oriented design
基于GPIB的自动测试系统是计算机技术和自动测试技术相结合的产物,目前广泛应用于众多领域。本文在介绍基于GPIB的自动测试系统组成和GPIB技术原理和特点的基础上,着重介绍了已在工程实际应用中使用的车载音响测试系统,该系统大大提高了测试的自动化程度,使测试人员从繁重的测试任务中解脱出来,只需将精力集中于测试方案的设计和测试序列编写上,从而凸显了自动化测试系统的优越性。
1 自动测试系统
一个测试项目就是计算机向若干台测试仪表发送消息,计算机和测试仪表之间通过GPIB线来连接,这就要求所用的测试仪表必须支持CPIB所发送的消息实际上就是SCPI(Standard Command for Programming Instrument)语言。近年来,新型的测试仪表上具备了GPIB接口,从而可以把它与计算机连接起来,组成一个自动测试系统。该系统不但提高了仪器的测量精度,而且具有数据处理能力,并能用软件来取代硬件甚至完成硬件无法完成的功能。一般来说,一个完整的测试系统由控制器、测试仪表、测试软件和接口总线组成,如图1所示。
2 GPIB技术特点及工作原理
2.1 GPIB的特点
(1) GPIB接口板置于设备内部,设计者不用考虑设计接口的问题,此接口适用于该设备所能参与构成的任何系统。其通用性是不言而喻的。
(2) GPIB具有高级特性,进行操作时仅需搬动设备和插拔电缆插头,并不涉及接头的具体硬件设计,这是因为GPIB引入了一些高级接口的概念,而且功能、电气和机构上的规定制定的相当完善,保证了充分的兼容性。GPIB的这种特性表现在编程上,就是减轻了软件设计的负担,可使用高级语言编程。
(3) GPIB系统组建和拆散灵活,使用方便,用具有GPIB接口设备组建的系统是真正的“积散型”系统,它们“积”成为自动测试系统,“散”可以各自单独使用,表现出无以伦比的灵活性。
(4) GPIB接口比一般接口的价格约贵10%,但考虑到组建测试系统连接多个外设,GPIB接口比一般接口要便宜。因此,从通用性、兼容性、灵活性及经济性等方面来看,GPIB接口是其他接口所无法比拟的。
2.2 GPIB母线
GPIB系统为了进行有效的信息传输,一般要求3种不同的元素:讲者、听者和控者。其数据传输采用位并行,字节串行,双向挂钩和双向异步的方式进行。总线共24条,可分为3类:16条信号线,1条屏蔽线,7条地线。信号线又分为3组:第一组是8位的数据总线,用于传输数据,命令或状态字。第二组是接口管理总线,由5条信号线组成:ATN,IFC,REN,SRQ,EOI用于控制总线进程,起总线指挥作用。最后一组是3条挂钩线(DAV,NRFD,NDAC),用于数据的通讯联络,保证异步传送顺利进行。
2.3 三线挂钩过程
数据传送在讲者和听者间以三线挂钩方式进行。其基本过程是:
(1) 发送者向数据母线上发送数据,但并不宣布数据有效,即令DAV=0;
(2) 接收者相继准备接收数据,共同用NRFD=0向发送者表示已准备好接收数据;
(3) 当发送者确认所有接收者均已做好接收数据的准备,就发出DAV=1的信息,示意接收者放在数据母线上的数据可以接收;
(4) 当接收者确认数据可以接收时,信号NRFD=0已不必再保留下去,因而恢复NRFD=1的状态,为下一次循环做准备;
(5) 接收者开始接收数据;
(6) 由于接收数据速度不同,接收者相继收到数据,当接收速度最慢的那一段设备接收完毕时,使母线NDVC=0,表示所有接收者均已接收完毕;
(7) 当发送者确认各接收者都已接收数据完毕,原来发的“数据有效”信息DAV=1已不必保留了,故发DAV=0,同时将数据母线上的数据撤掉;
(8) 各接收者根据收到的DAV=1信息而恢复NDVC=1,到此DAV,NRFD,NDAC三线均已恢复原状态,表示一次互锁联络循环的结束,并为下一次循环做好了准备。
3 基于GPIB的车载音响测试系统
3.1 硬件系统
3.1.1 测试系统介绍
本项目为车载音响集成机架式测试自动化系统。考虑到系统将来的扩充性,将全面采用测试自动化系统的统一平台结构,在此结构上,实现音响部分的功能。
车载音响测试系统,主要分为5个部分:双通道音频信号发生器与双通道音频信号分析仪,标准信号发生器,音频切换开关,控制器、标准直流电源和软件体系。共同承担起完整的系统功能。其中音频分析仪、信号发生器、直流电源均采用德国的高性能测试仪表,能够完成精准的测试要求。
音频分析仪
包含双通道的音频信号产生和信号分析,具有极高的灵敏度和丰富的声学测试专用功能,其并行工作模式完全符合立体声等测试的要求。
信号发生器
射频信号发生器配合UPV可以产生FM信号和立体声信号,并且可以作为接收测试的干扰源来用。
音频切换开关
音频切换开关由两部分组成:开关箱和开关箱主机。开关箱用于音频信号通路间的矩阵切换,比如:立体声与其他测试项目间的切换;开关箱主机通过PCI板卡来控制开关箱,确保任何测试项目不需要人工介入音频线路连接。
控制器
控制器采用普通的PC机,主要完成控制各个仪表及运行相关软件。
直流电源
标准直流供电电源,主要用来给被测的音响设备供电,它可以满足车载音响的供电需求。
软件体系
软件是使用微软公司的Visual C++来完成的,运行在Windows XP环境下。测试人员所有的测试工作均是在该软件下来完成,包括测试项目的选择、测试序列的控制、测试结果的显示(包括图表的显示等)、测试结果的保存、输出报告等。测试人员的工作仅仅是选择相应的测试项目启动测试,仪表的控制、最后结果的显示和保存均由软件来进行。
3.1.2 测试原理
标准信号发生器SML模拟电台产生射频信号,音频分析仪UPV产生调制信号通过SML的Modulation口对SML产生的射频信号进行调制,调制后的信号通过SML的RF口输出给被测音响,被测音响通过一系列变换产生音频信号后再输出到UPV,音频分析仪UPV对被测音响产生的音频信号进行分析,产生出测试需求的结果。
3.1.3 系统拓扑结构
系统的拓扑结构是整个系统的连接示意图,如图2所示。控制器与测试用仪表之间通过GPIB线连接,音频分析仪与开关箱之间通过音频连接线进行连接,标准信号发生器与开关箱之间通过射频连接线进行连接,收音机与开关箱之间通过音频连接线进行连接,开关箱主机与控制器之间通过网线连接,开关箱与开关箱主机之间通过PCI进行连接。
3.2 软件系统
系统选用Windows XP操作系统为系统的运行环境,用微软公司的Visual C++作为系统软件开发平台,开发了应用程序界面。根据测试用仪表的SCPI命令来使用Visual C++来编写硬件驱动库。
软件采用模块化程序设计方法,划分为不同的功能模块:硬件驱动程序部分、系统界面部分和数据管理部分。
3.2.1 软件设计思想
系统软件的设计主要采用面向对象的设计思想,基于面向对象技术的应用软件结构容易理解、修改和重用,能明显提高软件开发和维护的效率。
软件设计中根据各种不同的设备及其功能将各个测试仪表封装成类,即信号源类、信号分析类、电源类等,将对各仪表操作的函数及变量作为类的方法和属性封装到各个类中。这些类描述了具有公共方法和一般特性的一组相同对象,如信号源类表征了信号源的共有性质,如波形种类选择、波形参数设定等。并采用CObject类来派生一个测量数据类,将采样数据作为测量数据类的主要属性,将各种测量采样方法、数据处理方法、数据表现方法都作为测量数据类的接口方法。使用这种方法并结合设计模式和多态性有助于接口的规范化和自由扩展。
构造测量数据类,采用直接封装结构和数组,由于测量的数据量一般都比较大,全局对象和共享内存文件也是常用的办法。也可以使用模板类,如CArray类、CList类等。它们都支持复杂类的动态添加。
软件使用COM组件技术封装各种数据处理算法,如快速傅里叶变换、滤波等,对数据进行处理,再供用户界面使用。组件对象模型(Component Object Model,COM)定义了各种不同的对象如何利用一种公共约定的协议相互之间进行通信,是一种独立于语言和平台的标准。COM组件最重要的特点是具有面向对象的特性。通过面向对象技术,用户界面不需理会它现在操作的是什么样的硬件,它只需通过公共接口使用约定的协议,向组件收发数据和命令,而具体操作由组件去完成,从而实现设备无关性。
在用户界面中,界面元素之间的制约关系可以用Win32API函数LoadCurroe调用等待光标来暂时封锁其他交互操作,也可以用CWnd::EnableWindow,CWnd::ShowWindow设置相应界面控件来屏蔽部分交互操作。这样可以容易地实现进行某项操作时屏蔽其他操作的功能。
软件设计使用了VC++多线程编程技术,多线程是为了使多个线程并行工作,以完成多项任务,提高系统的效率。本测试系统中,由于数据采集和数据处理并行,因此需要在软件中设计2个线程:一个线程进行测试及读取测试结果的工作;另一个线程进行测试结果的界面显示工作。并行任务可用CWinThread类线程来实现。线程之间是通过消息来通信,用全局变量来传递数据的。此外,还要解决两线程间的协调同步,从而实现测试与显示的同步,并及时响应用户对实验进程的控制。
而且,为了测试的需要,有时需要从某个类别的类发送自定义消息。消息发送有两种形式:SendMessage和PostMessage,还可以用系统注册消息RegisteWindowMessage供多个仪表协作。事件响应技术是消息驱动的,通过响应用户界面上的交互事件可以形成控制指令,测量控制动作则放在消息响应函数中来实现。以消息机制触发测量数据对象的采样方法,去操作仪表驱动程序来获取测量数据;测量数据到达后,经过数据处理、表达,最后呈现给用户,这就是系统软件的工作流程。它是通过用户界面、测量数据两个中心对象以消息作为媒介来实现的。软件测试流程图如图3所示。
3.2.2 硬件驱动程序
亦即接口板的驱动程序,是系统控制软件的最低层,它直接对GPIB接口板进行控制,实现对信号的I/O操作。按照功能设计接口库函数,并将接口库函数包装在动态连接库DLL中(动态链接库是包含函数集和数据的一些模块,它提供了一种模块化应用方式)。硬件驱动的编写是根据测试仪表提供的SCPI命令来完成的,使用Visual C++进行编写。用VC++编译产生的.exe文件,直接放入到应用程序中。通过应用软件产生XML文件,该文件中包含了所写的硬件驱动库信息,用户可以从该文件中查找有关的驱动信息。
3.2.3 系统界面
软件部分的核心,它直接面向用户,是系统控制软件的最上层。系统具有良好的人机界面,一方面,可以使用户灵活地选择所要进行的测试项目,并通过适时的对话框提示告诉用户应该完成的操作,而且能够实时显示目前的测试状态,
如:测试开始,测试正在进行,测试完成。另一方面,用户可以通过界面来完成各种功能,如:选择要测试的项目,包括幅度调制(AM),频率调制(FM),立体声调制(STEREO)以及CD的测试等。每个测试项目都会有若干个子测试项目,例如:AM中就包括限噪灵敏度测试,干扰频率测试,自动放大器测试等。当用户选中测试项目后,它相应的子测试项目会全部罗列出来,供用户进行灵活选择。此外,测试的结果可以在测试完成之后,马上在界面中显示出来。在显示结果的同时所有的结果也被保存下来,用户可以通过界面上的操作按钮来查看保存的结果。这种方式使用户可以实时地监测测试指标是否符合要求,也可以使用户在事后对结果进行分析,为用户提供了极大的方便。同时,还可以根据用户的需求产生输出报告,报告是以Word的方式给出。
3.2.4 数据管理
数据的管理可以是实时的也可以是非实时的。实时是指在测试完成后,测试的结果会马上在界面上显示出来,非实时是指所有的测试结果都能够保存下来,供用户事后使用。对于数据的管理提供了两种方式:一种是以数字方式给出的结果,另一种是以图表方式给出的结果。数字形式的结果会自动保存在文本文档中,图表方式的结果可以由用户自己选择保存的路径,这种方式更加灵活。所有的操作都可以通过界面上的操作来完成。
3.3 测试方法举例
3.3.1 基于GPIB的FM的限噪灵敏度测试
(1) 首先将被测收音机调谐到94.1 MHz;
(2) 用计算机控制将标准信号发生器提供FM调制、94.1 MHz、频偏75 kHz、高频电平设为4 dBμV的信号收音机的天线接口,调制频率1 kHz由音频分析仪产生。
(3) 软件选择的FM的限噪灵敏度测试项目就可以开始测试了。
测试的结果依据TL972标准进行判断,TL972标准规定FM的限噪灵敏度应在4~8 dBμV。
3.3.2 基于GPIB的CD的频率响应测试
(1) 首先播放测试曲目(通常是扫频的曲目,播放20 Hz~20 kHz的扫频曲目)。
(2) 每变换一次频率就通过计算机读取音频分析仪的输出,也即相应频率下的输出电平(单位为dBμV)。将每一次的频率和相应的输出记录下来,待所有频率播放完毕,软件界面上会自动画出频响图,并将相应的频率和输出同时以列表方式给出。
(3) 保存频响图和列表方式的数据,以便日后查用。
用计算机通过GPIB控制测试仪表来完成测试比,通过手动测试大大提高了测试人员的工作量,使测试工作完全自动化,减少人工干预,大大增加了测试速度和准确度。
4 结 语
基于GPIB的自动测试系统,充分发挥了虚拟仪器的优越性,测试结果准确,实时性好,同时软件采用面向对象的设计思想,有利于进一步扩展或修改。本系统已成功应用于汽车音响测试,经实践检验可靠性高,测试结果准确度高,系统稳定,软件升级方便快捷,可移植性好。
参考文献
[1]姚维厦.GPIB接口及其在自动检测系统中的应用[J].集美大学学报,1997,2(3):30-34.
[2]NI Measurement Studio UI(VC) Help[M].USA:NI Press,2002.
[3]NI Measurement & Automation Explorer Help.
[4]徐受钧.智能化测量控制仪表原理与设计.北京:北京航空航天大学出版社,1995.
[5]杨会民,卜云平.自动测试系统的组建与实施[J].电子对抗试验,2001(2):53-57.
[6]鲁昌华,笪许燕,王光春,等.基于GPIB的自动测试系统组态软件的研究[J].电测与仪表,2001,38(12):38-40.
[7]史安彬,朱军,郭占山.各种仪器设备自动测试系统的开发[J].工业计量,2002(5):26-28.
[8]池彬.虚拟仪器技术在自动测试中的应用[D].重庆:重庆大学,2002.
[9]刘宗玉.基于虚拟仪器的自动测试系统的研究[D].西安:西北工业大学,2001.
[10]陈兵舫,杨乐平.虚拟仪器编程基础——VISA标准与应用[J].计算机技术与应用,1998(4):29-34.
作者简介 刘宏勇 男,1979年出生,河南洛阳人,硕士研究生。研究方向为基于虚拟仪器的自动测试系统及应用。
吕 凝 男,1959年出生,吉林长春人,教授,硕士生导师。研究方向为分布式多媒体系统研究。