通俗易懂、浅显地解释GPIB通信的概要及术语,解释编程所需要的基础知识。
GPIB(General Purpose Interface Bus)是作为计算机与计量仪器的接口开发的,主要用于连接计算机与计量仪器。美国Hewlett Packard公司的内部规格“HP-IB”获得IEEE (Institute of Electrical and Electronic Engineers: 美国电气和电子工程师协会)的认可,并成为国际标准规格。现在,很多计量仪器标准配置GPIB接口,在使用计算机与计量仪器的计测系统上得到广泛应用。
GPIB的规格有“IEEE488”和“IEEE488.2”两种,其中后者是上位协议,属于现在的主流。IEEE488.2在IEEE488规定的传输方法之上,增加了字符数据和数值表示的语法、各设备共通使用的指令(Command)、查询(Query)等规定,支持IEEE488.2的设备不仅可以遵照IEEE488.2的标准通信,而且在IEEE488规定的范围内也能通信。
GPIB通信产品一览
驮载封装结构的连接器
目前,仍有很多计量仪器配置GPIB接口,之所以能够在计量仪器行业确立标准总线的地位,是因为在与计算机的连接上具有以下的诸多优点。
在1台计算机上连接多台计量仪器,各设备通过程序进行自动计测,用计算机收集计测得到的数据,进行分析、表示处理、数据保存,这是一般的使用方法。
使用GPIB通信设备与计算机的系统示例
由于GPIB通信的制约(整个系统的线缆总长),必须在望远镜附近进行操作和观测,非常不便;研究人员之间想实时共享信息等,有很多要求。
在“计测和控制设备开发”、“网络设备开发”上拥有丰富经验的Contec能够改善此类问题点。
规格规定包括控制器(计算机)在内,一个系统内能够连接的设备数量为15台,超过这个数字的设备不能连接到一个系统上。
菊花链、星形(放射状)及其组合等,能够进行自由度高的连接。但是,禁止环路连接。
菊花链连接
星形连接
注意:禁止环路连接。
各装置间的线缆长度为4m以下,在一个系统中,可用于装置相互连接的线缆最大长度为“2m×装置个数”或者20m,以二者中短的为准
使用8根数据线,以最大1MB/秒的速度,一次传输1个字节的数据。然而,很多计测仪器的通信速度慢,而且连接在同一总线上的设备的通信速度就是通信速度最慢的设备的速度。
在连接在总线上的设备中,将接受数据的设备表示为听话人(Listener),将发送数据的设备表示为讲话人(Talker)。由控制器指定讲话人和听话人。将管理整个系统的装置叫做控制器,通常由计算机(个人计算机)担任。
所谓主端,如同其名称所表达的那样,就是主人(Master),在进行GPIB通信上具有决定权(发送指令等),相对主端,从端就是仆从(Slave),需要遵照主端的指示(接收指令等)运作。在系统构成上,需要主端1台,而需要从端1台以上,而且在控制计量仪器时,计算机是控制器,因此就是主端。
连接到GPIB系统上的各装置在同一系统内具有唯一(固有)的地址,通过该地址识别各装置(将分配给自身的地址叫做我的地址)。如果将设备比作电话,设备地址就相当于电话号码,可向该编号的设备发送数据,或从其接收数据,进行通信。在同一通信系统内,可在“0~30之间”自由设定设备地址,但不得与其他设备的地址重复。
所谓握手,就是发送端向接收端发送“正在发送数据”的信号,接收端接收该信号,从信号线上读入数据。并向发送端返回“已接收数据”的信号,这种通信方式一边由双方共同确认数据的收发,一边传输数据。由此,GPIB实现了可靠性高的数据收发。
为了防止数据冲突,限定某一时刻只有1台GPIB总线上的设备能够发送数据。实现这一点的就是控制器。控制器主要进行以下动作。也就是说,要是用程序来表现这些,可以说就能够构建以计算机为控制器的GPIB系统。
由8根数据线、3根握手线、5根管理总线组成,规格对连接器、信号配置的规定如下。尤其是编写GPIB程序上所需的管理总线,需要透彻理解其职责。
GPIB的连接器芯配置图
用于高效控制连接在总线上的装置,管理信息流动。在控制GPIB的设备上承担重要的职责。
用于发送多路信息或者传输数据。
除了数据线以外,其余的信号线全部采用接地线与双绞线结构。GPIB使用的线缆和连接器采用的是屏蔽结构,抗电磁干扰性优越。
用于数据线的握手。
为了用程序控制GPIB设备,接收数据,除了理解管理总线的操作外,理解SRQ(服务请求)与轮询的动作能够编写高效的程序。
为了向控制器发送异常发生、发送准备完成的通知等,发出中断请求,为此设置了SRQ功能。如果发出SRQ请求,SRQ线为“真”,向控制器传达连接在总线上的某个设备发出了服务请求。然而,只靠SRQ信号分不清哪一设备发出了请求,于是控制器进行轮询(舆论调查)处理,查清发出了服务请求的设备,并确认内容。
这种方法由控制器向认为发出了服务请求的设备,一台一台地依次询问是否发出了SRQ信号。接到串行查询的设备向控制器发送被称为“状态字节”的1个字节的数据。控制器调查各设备的状态字节,把握哪一设备发出了服务请求,提出了什么样的请求。一般多用串行查询。
这种方法将8根数据线分别分配给1台设备,一次性调查哪些设备(最多8台设备)发送了SRQ。如果执行并行查询,各设备向分配的线路发送“0”或者“1”,答复是否向控制器发送了服务请求。
状态字节(1个字节)与收发数据一样,被输出到数据线上。当设备发出了SRQ时,状态字节的第6位为“真(1)”,没有发出SRQ的设备为“假(0)”。状态字节的其余位可以表达各设备固有的含义。例如,可将发出SRQ的原因(计测结束、异常发生等)通知控制器。在被控制器轮询后,状态字节的第6位为恢复为“0”。
GPIB的规格将对象设备的功能分割为接口功能和设备功能,规格只规定了接口功能。但是,连接在GPIB上的设备不必安装所有功能。
具备GPIB的装置的结构
GPIB准备有规格规定的各种各样的信息、指令。使用这些控制GPIB通信设备。
这是为使GPIB连接的设备动作而准备的、规格规定的信息(指令)。这是只有控制器才能使用的信息(指令),使用数据线(8根)发出多路接口信息。有地址指令、通用指令。
这是只有1根信号线才具有意义的信息。当线路为“真”时表示命令开始,为“假”时表示命令结束。
这是只对特定设备使用、由GPIB规格规定的指令(Command)。
这是对连接的所有设备使用、由GPIB规格规定的指令(Command)。
这是符合IEEE488.2标准的设备可共通使用的指令(Command)。可高效地控制GPIB通信设备。 准备有“*RST”、“*CLS”、“*TRG”、“*IDN?”等的指令、查询(Query)。
To PageTop