原作者:llycom
随着时代的发展,很多当年高档的仪器从各部门退下来,流入到二手市场,以往的天价设备,现在也可以被个人所购买。世界顶尖的仪器公司如HP、FLUKE、R&S等生产的高档仪器也经常出现在各大电子爱好者的论坛上了,所以就出现了所谓的“仪器党”,广坛也不例外。
在这些高档仪器上,经常会出现一个附件:GPIB接口或模块。而且越高档的仪器,它出现的机率也越大,甚至可以说有没有GPIB接口是判断一个仪器是否高档的标准。那么什么是GPIB呢?它有什么用?虽然有很多仪器党前辈们对此了如指掌,而且经常使用,但一般人还是不太了解其性能与使用。在此,本人现学现卖,抛砖引玉,介绍一下,就当是给大家当个消遣吧,如果有什么错误请高手指正,不足请补充,本人将十分感谢!
1、什么是GPIB及其发展历史。
在上个世纪50年代,随着计算机的发展和对测试的要求提高,测试内容复杂、测试工作量增加、测试设备的性能、速度、准确度都提出了高要求,人工测量已不能满足这些要求,自然就想到了用计算机自动测量,人们遇到的第一个问题就是如何使得开放式互连设备在机械、电气、性能上相容连接,以保证测量信息在互连设备间准确、无误地传递。这就要出现一个仪器之间的标准。第一个出现的就是HP公司的HP-IP标准,即后来的GPIB也叫做IEEE488总线标准。
说起GPIB,还得从美国的HP公司谈起,从1965年9月起,HP公司开始研究电子测量仪器的数字接口实行标准化。1972年,HP3570A网络分析仪采用了HPIB总线,组建了自动测量系统,大获成功。1975年HPIB经过改进成为IEEE的488标准。后来又经过几次修改最终在1978年颁布了IEEE-488-1978结束了可程控测量设备数字接口的国际标准化。我国在1979年,由电子科技大学就全部采用国产元件研制成了我国第一套HPIB的自动测量系统。由于历史的原因,HPIB,488总线在称呼上有多种如:IEC625、SJ2479、GPIB、IECBUS等都是同一个意思。国内使用的较多的是GPIB(general purpose interface bus),即通用接口总线。
1、 为什么要用GPIB?
如果您有几台高档的万用表,同时测量一个电路的电压、电流、电阻、温度等参数随时间的变化关系,那么在记录时会变得很繁忙,速度快时,甚至是不可能的任务。如果用计算机来完成这些工作,将会方便得多。一、因为计算机速度很快,其记录速度是人几千倍以上;二、计算机很准确,基本上不会记错数据;三、计算机可以按程序来记录,把事先规定好的步骤告诉它,它会一点不差的执行,并且不会忘记。但计算机与仪器之间“对话”必须要大家都听得懂的“语言”,这就是GPIB的由来,它包括:机械接口尺寸大小、接口定义、电平定义、速度定义、对话方式等等。
GPIB共有24根芯,如上表所示。对其的功能可进行分成三类:数据线(8根)、握手线(3根)、界面管理线(5根)
2、 GPIB的主要功能?
GPIB的主要功能就是可以实现计算机控制的自动测量(ATE),比如,通过计算机设置仪器的功能、状态、测量速度等;仪器之间可以相互传递数据,仪器和计算机之间可以传递命令和数据。计算机可以同时控制多台仪器组成的测量网络(最多15台,31个地址),每台仪器都有自已的特定地址,可以用拨码开关设定也可以用软件设定,下图是3456A的地址开关。用GPIB可以进行长时间定时或不间断测量;可以在危险或测试人员难以进入的地方进行测量;
3、 GPIB接口如何实现?
那么如何实现在一个仪器上加GPIB模块呢?这个模块是全世界统一的,所以必须要看IEEE488的标准了。IEEE488是一个国际电工电子委员会制定的一个关于GPIB的标准,里面详细地规定了488总线的(指GPIB,下同)的机械接口、信号通讯方式等。GPIB中的设备分为三种:一、讲者: 是通过总线发送仪器消息的仪器装置。如测量仪器、数据采集器、计算机等。二、听者:是通过总线接受由讲者发出消息的装置。如打印机、信号源等.三、控者: 是数据传输过程中的组织者和控制者。如计算机。
下面这个表里就是规定了仪器之间每个功能的名字,某个仪器不一定都要有这么多功能,比如万用表一般没有并行查询的功能,特定仪器的功能,可以看设备后面GPIB口附近所定的英文。
比如3456A万用表后面板上的标注:
对应每个一功能,比如SH,称之为源挂钩功能,是用来发送命令到其它仪器的。IEEE488中规定了其通信的方法:
首先它规定了一个数据通信的电平时序关系,用到以上定义到的几个针位的电平,称之为“三线握手协议”:三线是:DAV、NRFD、NDAC。
然后对其通讯的逻辑关系做出算法:
从图上可以看出,根据一定的逻辑关系和电平关系可以完成源到目标的信号传递,那么信号的含义又是什么呢?GPIB对信号的含义也进行了定义:分别为器件消息、接口消息、远地消息、本地消息等,其关系如下图所示:
每种消息的格式又有严格的定义,具体含义要查表才能确定。如接口消息的分类如下:
例如要完成一个“讲”(TALK)功能,必须按照以下的状态图进行:
具体的含义比较复杂,请参看相关资料。
4、 GPIB-232的转换电路及制作。
488标准规定是协议,而对其实现的方法并没有规定,那么如何制作实现一个GPIB的模块呢?主要的实现方法有三种:一、用分立逻辑器件搭建,早期的GPIB实现方法,成本高,而且可靠性不好;二、用集成专用GPIB芯片,使用方便,易于集成,比如ISA、PCI的GPIB卡都是这种方法,但价格比较贵,不易DIY,网上有很多的二手GPIB卡,主要分为两种类型:ISA总线、PCI总线的。如果是ISA则必须是老式的电脑主板有ISA总线插槽才能用,这类电脑基本已被淘汰;而PCI的GPIB卡基本在600元以上,不同品牌价格有点差别,这就限制了GPIB卡的普及;三、用MCU纯软件完成,由于GPIB逻辑复杂,所以做起来有点麻烦,而且不容易完全符合GPIB的标准,但成本低,容易DIY。
为了实现本人手中几个有GPIB设备的自动测试功能,本人参考了相关资料,用MCU实现了软件的GPIB采集卡。如下图:
加了铝盒外壳的图:
当然,光有这个GPIB卡还不行,还要有相关的采集软件,这个卡实现的是GPIB转232,所以上位机的软件主要功能是发送、接收和存储232接口的信号。软件界面如下图:
主要可实现如下功能:
一、 可以发送GPIB的命令,控制仪器的工作,不同仪器的命令有点不同,不过也大同小异。如图上所示的_?6,F1R16STG是发送给HP3456A六位半万用表的命令,实现以下功能:设置成DCV(F1),自动量程(R1),六位半显示(6STG),6是3456A的地址代表十进制的22。
二、 实时显示万用表发送的测量数据,并可保存成TXT格式的文件,当文件的大小达到一定时,可自动保存到指定目录的指定文件,并加上保存时间,方便日后分析。
三、 其它的辅助功能:悬浮显示、接收数量、暂停/继续、通信格式、串口选择等。
四、 支持同时多任务采集(多个卡连接到多个仪器),支持232转USB与计算机相连。
5、 GPIB-232的应用实例。
用这个卡可以做以下几个采集实验:
一、基准或万用表的开机及老化数据实验:因为这类实验的数据采集时间长、数据多,如果人一直用笔记录,将是很大的一个工作量。有了这个卡后,可以先发一些命令设置好仪器的工作状态,然后设置成TALK ONLY方式,则万用表不断的把测量数据发送至计算机。计算机自动保存后,可以用数据分析软件,如EXCEL等实现对数据的采集。下图是本人测量的3456A的开机特性。
数据:
、实现快速数据测量:如果一个电压变化得特别快,达到10次以上,人眼是不能记录分析的,但如果用计算机快速采集,则分析起来则相当方便了。当然这个工作可以用数据存储示波器来做,但示波器首先要有数据存储功能,而且灵敏度要高才行,一般的示波器的灵敏度都大于1MV/格以上,对小信号是不精确的,而高位的万用表灵敏度达0.1UV,所以对小信号的干扰记录是优于示波器的。下图是用HP3456A测量基准电压,在打手机时受到干扰而电压波动的情况,3456A设置的采样率是20次/秒。可以看到手机刚接通时的辐射最大,然后慢慢减小,通话时的干扰比较小,挂断时干扰又增大,这与常识是相符的。
高精度基准的测量:用高位的万用表测量高精度电压基准时,由于分辨率极高的情况下,人体的活动都可能对测量结果影响,比如人体接近万用表时,有分布电容、静电、电场、温度等因素的影响,因此可能对读数产生影响。如果用计算机远程测量,则可以避免这些因素的影响。
五、 做为控制器,同时控制多台仪器协同工作:下图为一块GPIB卡同时接两台万用表,分别设置第一台测量直流,自动量程,六位显示;第二台测量交流,自动量程,内触发。所有的功能设置,只要点击一次鼠标即可完成。
原回复:
--- Signature ---
网络搬运工