新型式接口在分析仪器同微机间讯息里运用
1目前工程中用到的仪器种类繁多,功能各异,一个系统往往需要多台不同类型的仪器工作,而传统意义上的接口方式(如串、并口)难以满足要求。在这种背景下, GP IB接口的总线方式于1978年应运而生,实现了计算机与测量系统的首次结合。
GP IB接口作为桥梁,把各种可编程仪器与计算机紧密地联系起来,测量和仪器领域也由独立的、传统的单台仪器向组成大规模自动测试系统方向发展。利用计算机强大的数据分析处理、结果的图形显示等功能,不仅可以对带有GP IB接口仪器的完全计算机控制,而且也可实现对原仪器功能进行重新定义、设计或扩展而构成一套先进的虚拟仪器系统。基于此,文中以惠普公司的动态信号分析仪HP35670A为对象,利用CON TEC公司的GP IB接口板开发了一套小型的虚拟仪器系统,实现了HP35670A与计算机之间的通讯控制,为数据的进一步分析处理提供了一个良好的软件平台。
2GPIB总线接口介绍
211GPIB总线结构
GP IB总线是一个数字化的24脚(扁型接口插座)并行总线。其中16根线为TTL电平信号传输线,包括8根双向数据线、5根接口管理线、3根数据传输控制线,其余8根为地线和屏蔽线。
GP IB使用8位并行、字节串行、异步通讯方式,所有字节通过总线顺序传送。
由于GP IB的数据单位是字节(8位) ,数据一般以A SC码字符串方式传送。
GP IB系统设备有讲者、听者和控者3种属性。实际设备具有其中的一种、两种或全部具备。讲者能通过总线向其它设备发送数据,听者能从总线上接收讲者发送的数据,而控者可以通过寻址指定连到总线上具有讲者属性的设备成为讲者和具有听者属性的设备作为听者,包括指定它自己。一般来讲,在GP IB系统中计算机是控者,具有讲、听、控3种属性。为避免总线冲突,一次只能有一个讲者,但可以同时有几个听者。在GP IB系统中,为保证多线消息能双向、异步、准确可靠的传递, GP IB母线中设置了三条握手线用于控制设备之间消息字节的传送: DAV (DA TA VAL ID )―数据有效线; NRFD (NOT READY FOR DA TA )―未准备好接收数据线; NDAC( NOT DA TA ACCEPTED)―未收到数据线。
212GPIB总线特点
GP IB是计算机和仪器间的标准通讯协议,它的硬件规格和软件协议已纳入国际工业标准IEEE488 11和IEEE488 1 2中。
GP IB作为最早的仪器总线具有以下特点:
(1) GP IB接口编程方便,减轻了软件设计负担,可使用高级语言编程;(2)提高了仪器设备性能的指标。利用计算机对带有GP IB接口的仪器实现操作和控制,可实现系统的自校准、自诊断等要求,从而提高了测量精度;(3)便于将多台带有GP IB接口的仪器组合起来,形成较大的测试系统,高效灵活地完成各种不同的测试任务,而且组建和拆散灵活,使用方便;(4)便于扩展传统仪器的功能。由于仪器和计算机相连,因此可在计算机的控制下对测试数据进行更加灵活、方便的传输、处理、综合、利用和显示,使原来仪器采用硬件逻辑很难解决的问题迎刃而解。
3硬件组成及软件设计
311硬件组成
文中用到的硬件示意图如1所示,主要有以下3个部分组成,下面分别加以介绍。
日本CON TEC公司的GP 2 IB (CB) F接口板它是PCM C IA类型接口板,完成GP IB仪器与笔记本电脑之间的通讯。其特点是:符合IEEE 2488 12标准;数据最大传速率是1 5M byte s;内置2kbyte F I 2 FO用于数据的传送和接收;内置GP IB总线分析功能;具有自诊断功能。该卡附有驱动程序库― A P I2 PAC(W 32) ,它提供了W IN 32 A P I格式的函数,为各种常用编程语言提供使用方便、统一的软件接口,能够用于W indow s XP、2000、M e、98等操作系统,支持的编程语言包括L abV IEW、V isual C+ +、Boland C+ +、V isual Basic、Delphi、Builder等。当该卡驱动程序在笔记本电脑上成功安装以后,在其属性页中可以对该板卡的诸如板卡名称、板卡主、从地址、查询模式、超时间隔、传输字符结束模式等各种常用属性进行配置,同时,在其属性设置中,还包括该板卡的自诊断功能,可以方便的检查板卡的启动和驱动程序是否正常,并可以将诊断结果以文本方式输出。
惠普公司的动态信号分析仪HP35670A是一款高性能的动态信号分析仪,包括两种型号一双通道和四通道,可以完成动态信号的采集与各种分析,本文所做的研究通用于这两类仪器。HP35670A广泛适用于以下类型的测量:
转动机械测量、结构测量、声学测量、频谱和网络测量以及控制系统测量。当配备了所有的选用件时,其功能相当于频谱分析仪、网络分析仪、声级表、声学强度分析仪、振动分析仪、音频示波器和幅度域分析仪等。它配备有下列仪器工作方式:
快速傅里叶变换(FFT )分析、相关分析、直方图时间分析、倍频程分析、阶次分析和扫描正弦等。
HP35670A在前面板上通过各种功能软键来完成数据的采集、分析、结果的图形显示以及仪器的控制等功能,后面板上配备有GP IB和RS 2 232接口,可与计算机通讯或直接由计算机对其进行远程控制,其控制指令完全符合SCP I(可程控仪器标准命令)标准,此外该仪器也配有软驱通过磁盘来存储数据。本文由计算机来控制HP35670A采集和分析数据,并且通过GP IB接口实现两者之间的数据交换以备后续各种处理。
笔记本电脑作为系统的“主控者”
,通过GP IB接口板对HP35670A进行完全“软件”控制,主要包括以下几个方面:
仪器的控制(初始化、复位、仪器参数设置等);各种数据(采集的原始数据或由HP35670A分析的结果数据等)在仪器与计算机之间的传递;通过特定软件(如模态软件)根据不同的应用需求对HP35670A的数据进行后续处理(如模态分析)等。
312软件设计
软件部分设计主要用到的是GP IB板卡的W IN 32 A P I函数驱动库以及HP35670A自身的SCP I命令库。
A P I函数库封装了对GP IB板卡初始化、从GP IB设备读取数据、向GP IB设备写入数据或命令以及GP IB设备的清除等各种控制操作。
HP35670A提供了几百种SCP I命令,可实现仪器的状态设置、数据的显示、文件的管理以及前面板的控制等各种操作。本文采用可视化编程环境V isual C + + 6 1 0作为开发平台,在W IN 2000系统下开发了GP IB仪器控制程序,界面如2所示。其主要功能包括:
时域数据的存储、删除;频域数据(频响函数)的存储、删除;当前图形上任意内容数据的存储、删除;仪器的初始化、控制权的转换以及操作结果的状态显示等。
仪器的初始化主要包括板卡的初始化和HP35670A的初始化。
在GP IB系统中,每个设备至少应具有一个0到30之间的GP IB地址,在同一系统中,不同的设备应具有不同的地址,一般GP IB板卡设置地址0, GP IB仪器地址从1到30.板卡在计算机安装成功以后,在其属性页中,默认地址已设置为0。对于HP35670A ,其地址设置可以是1到30中的任意一个整数,但前提是程序中设置的地址必须与HP35670A中设置的GP IB地址一致,否则初始化会失败。还有一点要注意的是, HP35670A仪器有两种工作模式―“SYSTEM CON TROLLR”和“AD 2 DRESSBL ONL Y”,分别代表“主控制级”和“被控制级”,在默认情况下(即不用GP IB总线控制的时候)是前一种工作模式,在本文所涉及的GP IB系统中,HP35670A作为被控者而计算机作为主控者,因此,其工作模式必须要变为“ADDRESSBL ONL Y”。
初始化函数原型为: DWORD Gp Ini(void)。当返回值为0时,初始化成功,此时HP35670A前面板上的各种功能软键除了“Local GP IB”外都失效,系统的控制权属于计算机,由计算机通过GP IB总线发送各种控制命令对仪器进行操作。
HP35670A若再得到控制权有两种方式可以实现:一种方法是通过软键“Local GP IB”来得到,另一种是通过程序来控制,由2中的“GTL”按键来实现,其实质是发送命令GpGtl(Yradr)来使仪器得到控制权,参数Yradr指HP35670A的地址。
GP IB的写、读控制该部分主要完成发送仪器的控制命令以及接收数据功能。
发送仪器控制命令函数原型为: DWORD Ret=GpTalk (Cm d, Srlen, Srbuf)。Cm d是包含三个元素的数组, Cm d<0>指讲者和听者的数目总和,本系统中只有计算机和一个GP IB仪器HP35670A ,所以设定为2;Cm d <1>指讲者的地址; Cm d<2>指听者的地址。
Srlen指发送命令字符串的长度。
Srbuf是字符串指针,存放要发送的控制命令。
接收数据函数原型为: DWORD Ret= GpL isten(Cm d, Srlen, SrBuffer)。
Cm d参数意义同上。
Srlen返回接收到的数据长度。
SrBuffer存放接收到的字符串数据。
本文主要是得到每次试验的时域和频域数据,三个步骤即可实现此功能,首先设置当前图形要显示的数据(时域、频域) ,其次设置数据的显示方式(实部、虚部、对数或者其它等) ,最后取出当前图形的数据。对应的主要SCP I命令分别为:CALC1: FEED‘XT IM : VOL T 1’;3 WA I; DA 2 TA CALC1: FEED‘XFR: POW : RA T 2, 1’; FORM REAL;3 WA I;DA TA对于HP35670A ,由于数据存储针对于当前图形进行操作,因此在存储完毕以后要保证当前图形中显示的内容前后一致,此时需要在存储前读出当前图形中的显示状态,存储后据此即可恢复到原来的状态。
系统中的同步实现方法在HP35670A执行命令的过程中,后一种操作有可能取决于前一种操作的执行结果,而前一种操作可能要花上一段时间才能执行完毕。在这种执行情况下,必须要保证前一种操作执行完毕之后才能执行后一种操作,否则,结果有可能出现错误。这就是同步问题。状态和事件报告系统提供了几种方法,如3 WA I,3 OPC等控制命令。用3 WA I命令强制后一个命令必须等前一个命令执行完之后才开始执行,它是最容易实现的一个方法。此外,也可以通过软件延时来达到此目的,即在传输数据时,两条指令之间根据实际情况加一个软件延时,在延时时间段内确保上一条指令数据传输完毕即可。
在文中,主要采用的是3 WA I命令配合软件延时,以保证正确地实现HP35670A与应用程序之间的数据交换。
数据文件的管理由于从GP IB数据总线上接收到数据是字符串形式,而且数据之间有分割符以及结束符等,需要对字符串数据进行管理以便对HP35670A的数据根据特定需要后续处理。本文将接收到的数据以A SC码方式存放,可以新建一个文件或者是追加到原有文件,该文件格式可以由MA TLAB或L abV IEW等其它通用软件方便调用。
4结束
文中实现了基于GP IB总线的HP35670A仪器与笔记本电脑之间的通讯,数据传输速度快,操作方便,不仅能够完全替代仪器自身的软驱通过磁盘来传输数据,而且可以在本系统中连结多台GP IB仪器,由GP IB接口设备完成信号的采集、测量与调理,利用计算机强大的软件功能实现信号数据的运算、分析、处理以及显示等,从而构成一套大型多功能的计算机仪器系统即虚拟仪器系统,由此可以充分利用计算机的软件和硬件资源,使本来需要硬件或电路难以实现或根本无法实现的技术软件化和虚拟化,最大限度的降低成本,增强系统的功能和灵活性。
【中国粮油仪器在线】部分信息来自互联网,力求安全及时、准确无误,目的在于传递更多信息,并不代表本网对其观点赞同或对其真实性负责。