IEEE488总线
IEEE488总线是由惠普公司提出的,又叫GPIB(通用接口总线)或叫HP-IB。它是一个并行的外部总线,主要用于仪表之间的连接以及微机与仪表之间的连接。在1975年被采纳为IEEE288标准。它的电气性能有:
(1)数据传输速率不超过1MB/s:
(2)总线上所挂接的设备不能超过15个:
(3)所有连接设备的电缆总长度应小于设备数乘以2(m),且在任何情况下不超过20m,任何两个设备之间的距离不超过4。如果使用电缆过长,会因为延时增大而改变正确的定时关系导致错误。
用IEEE488总线组成系统的示意图如图5.11所示。各个外设(仪器)并联在总线上,数据总线有8位,控制总线也有8位,还有8位地线,7条为逻辑地线,1条为屏蔽地线。挂接在总线上的设备可以具有不同的功能,但可以分为3种:控制器、发话器(讲者)和收听器(收听者、听者)
发话器:指系统中向其他设备发送数据的信息源。一个系统中允许有多个发话器存在,但同一时刻只允许一个发话器工作,以保证发出的信息不丢失,如测量仪器、变送器等。
收听器:指接收数据的设备。在一个系统中,允许多个收听器同时工作,如打印机、绘图仪及纸带穿孔机等。
控制器(控者):指能对挂在总线上的设备指定地址或发出命令的设备。系统中允许有多个控制器存在,但必须指定一个是当前控制器。
IEEE488的引线定义如表5.1所示。
表5.1中的DIO1,~DIO8是8根双向数据线:信号交换线有3根,其中DAV代表数据线上数据有效,NRFD代表没有准备好接收数据,NDAC代表没有收到数据:通用控制线有5根,其中ATN是引起注意信号,IFC是接口清零信号,SRQ是服务请求信号,REN是远程启动信号,EOI是结束或标志:地线有8根。总共由24根线组成。
ATN和FC由控制器使用。IFC用来使母线上的设备处于初始状态。ATN用来启动总线的操作。ATN=1时,DIO线上传送的是地址或命令,控制器通过发送发话器或接收器的地址来指定发话器或接收器:ATN=0时,DIO上传送的是数据。SRQ是设备的请求线,这个信号由总线上的设备发出,告诉控制器该设备需要ATN信号,控制器把它作为中断请求看待。在响应这个中断后,首先查看是哪一个设备请求的服务。REN使设备选择本地操作或远程操作,本信号由控制器发出。发话器使EOI=1,表示数据已经传送完毕,此时ATN=0:控制器使EOI=1,表示进行查询,此时,ATN=1。
数据的传送以发话器检查NRFD和NDAC线的状态开始,在确定所有收听器都准备好接收数据后(即NRFD=O),使DAV变得有效,即DAV=1,通知各收听器接收数据。在发送数据的同时,发话器不断检测NDAC线状态,如果NDAC=1,表示收听器已经收到数据,从而使DAV=0,变得无效,并结束本次数据传送。通过这个过程可以看出,总线的通信协议是互锁式异步通信。