GPIB接口及应用简介

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

什么叫GPIB?GPIB简介
GPIB(General-Purpose Interface Bus)-通用接口总线大多数打印机就是通过GPIB线以及GPIB接口与电脑相连。

1965年惠普公司设计HP-IB
1975年 HP-IB变成IEEE-488标准
1987年 IEEE488.2被采纳, IEEE 488-1978变成IEEE488.1-1987
1990年 SCPI规范被引入IEEE 488仪器
1992年修订IEEE 488.2
1993年 NI公司提出HS488
1965年, 惠普公司(Hewlett-Packard)设计了惠普接口总线(HP-IB, 用于连接惠普的计算机和可编程仪器.由于其高转换速率(通常可达
1Mbytes/s), 这种接口总线得到普遍认可, 并被接收为IEEE标准488-1975和ANSI/IEEE标准488.1-1987. 后来, GPIB比HP-IB的名称用得更广泛. ANSI /IEEE 488.2 -1987加强了原来的标准, 精确定义了控制器和仪器的通讯方式. 可编程仪器的标准命令(Standard Commands for Programmable Instruments, SCPI)采纳了IEEE488.2定义的命令结构,创建了一整套编程命令.
多仪器的星型组合和线型组合
我们使用一台计算机,通过GPIB控制卡可以实现和一台或多台仪器的听、讲、控功能,并组成仪器系统,使我们的测试和测量工作变得快捷, 简便, 精确和高效。

通过GPIB电缆的连接,可以方便地实现星型组合、线型组合或者二者的组合。

是一种工程控制用的协议。

最初由HP公司提出,目前成为一种国际标准,遵守的协议为IEEE488。

一般被用来使用任何编程语言如VB、Vc、C++实现电脑对仪器的控制。

当然也有某些仪器制造商自己开发的语言支持GPIB。

如keithley公司使用的testpoint,NI公司的labview等。

实现这种控制首先要被控仪器支持GPIB,其次,工控机安装IEEE488卡,并通过gpib线连接两个设备。

GPIB比串口控制提高了传输速率和同时支持的设备总数。

但是目前已经被传输速率更快支持设备总数更多的lan接口替代。

GPIB接口定义,GPIB接口封装及尺寸图
GPIB接口与USB接口转换电路设计
在进行实时控制、数据采集及自动测试等科研过程中,大量使用着各种智能程控仪器,这些仪器通常都配有GPIB接口,在实际使用中,往往要打印输出测量所得到的数据结果,特别是波形常用的方法有三种:一是采用专用的GPIB接口的打印机或绘图仪,但价格较贵,此时虽有大量的性能优异的通用USB或并行CENTRONICS接口的打印机(包括喷墨及激光打印机)闲置,但却由于接口不同而无法使用,实属可惜;二是采用带有GPIB卡的计算机通过GPIB电缆与仪器相连,在PC机上通过自动测试软件(如Labview软件)的支持,将所测得的数据图形通过PC机输出至通用USB或并行CENTRONICS接口的打印机上,但用这种方法需用一台带有GPIB卡的计算机且有相应的自动测试软件的支撑,故也不甚方便;三是采用自行开发的GPIB-CENTRONICS转换装置,但该转换装置只能用于GPIB接口与通用并行CENTRONICS接口打印机的转换,而随着USB打印机技术的逐渐普及,并行CENTRONICS接口打印机越来越不好买到,而且有些用户的打印机只是USB接口而非并行口,因此这种GPIB-CENTRONICS转换装置的局限性愈加明显。

有鉴于此,为了实现能将具有GPIB接口的程控仪器直接和USB打印机相连进行打印,决定设计开发一款GPIB-USB
打印机的转换装置,负责GPIB接口的程控仪器和USB打印机的连接。

如图1所示,该转换装置介于两种接口之间,一方面与GPIB接口互连通讯接收智能仪器数据信息;另一方面与USB接口互连通讯,向打印机传送数据信息。

基于上述思想,并通过试验,证明该方案是行之有效的。

GPIB接口与USB接口芯片CH375
GPIB接口特点
GPIB总线接口包括有8根数据线,3根联络线和5根管理线。

数据线用来传送命令和数据,通常采用ISO码对它们进行编码,并且采用8位并行,字节串行方式进行传送。

联络线用来传送联络消息,采用三线握手联络方式。

管理线用来传送管理消息,管理GPIB 接口的工作。

在本设计中,用到的是三根联络线DAV,NRFD,NDAC和两根管理线ATN,EOI。

在GPIB总线上传送的消息一律采用TTL电平并用负逻辑表示其逻辑关系。

当某一消息为逻辑1时,说明它处在TTL低电平(≤+0.8V),同时也表示它有效、被激励或为真。

若为逻辑0,则说明它处在TTL高电平(≥+2.0V),同时也表示它无效、未激励或为假。

CH375芯片
CH375 是一个USB总线的通用接口芯片,支持Host主机方式和Slave设备方式。

CH375芯片内部集成了PLL倍频器、主从USB接口SIE、数据缓冲区、被动并行接口、异步串行接口、命令解释器、控制传输的协议处理器、通用的固件程序等。

在本地端,CH375具有8位数据总线和读、写、片选控制线以及中断输出,可以方便地挂接到单片机/DSP/MCU 等控制器的系统总线上。

CH375 的USB 主机方式支持各种常用的USB 全速设备,外部单片机/DSP/MCU可以通过CH375按照相应的USB协议与USB设备通信。

如图2所示,CH375芯片通过被动并行接口芯片可以很方便地挂接到各种8 位单片机、DSP和MCU 的系统总线上,并且可以与多个外围器件共存。

并口信号线包括:8位双向数据总线D7~D0、读选通输入、写选通输入、片选输入、中断输出以及地址输入线A0。

CH375芯片的和可以分别连接到单片机的读选通输出引脚和写选通输出引脚。

可以连接到单片机的中断输入引脚,中断请求是低电平有效。

当和以及A0都为低电平时,CH375中的数据通过D7~D0 输出;当和以及A0都为低电平时,D7~D0上的数据被写入CH375芯片中;当和都为低电平而A1为高电平时,D7~D0上的数据被作为命令码写入CH375 芯片中。

对GPIB接口与USB接口功能大致了解之后,即可设计能互连两种接口并实现功能转换的接口装置。

硬件电路设计
程控仪器GPIB接口与通用USB接口转换电路硬件组成如图3和图4所示:
图3为单片机通过CH375控制USB打印机的硬件电路。

图中CH375芯片通过被动并行接口芯片挂接到8位单片机W77E58的系统总线上,CH375的TXD引脚接地,从而使CH375工作于并口方式。

CH375芯片的8位双向数据总线D7~D0直接与单片机的P0数据口相连,和分别连接到单片机的读选通输出引脚和写选通输出引脚。

片选信号连接到单片机的P28引脚,该引脚为低电平时选通CH375芯片。

可以连接到单片机的中断输入引脚,中断请求是低电平有效。

地址输入线A0连接至单片机的P20引脚,当A0引脚为高电平时选择命令端口,可以写入命令;当A0引脚为低电平时选择数据端口,可以读写数据。

通过以上安排,该接口电路具备了与通用USB接口打印机的互连通讯。

图4为单片机与程控仪器GPIB接口的硬件接口电路。

由于GPIB接口信号采用负逻辑,其功能实现不同于其它接口,故使用74LS240三态反相门,经W77E58的P0口实现与GPIB 接口的八根数据线互连通讯,并由P20同单片机的读选通输出引脚相或后产生对该三态门的选通信号。

GPIB接口的联络线与管理线由W77E58单片机的P3端口部分引线实现,其中P33用于EOI数据传送结束识别管理线;P31用于DAV数据有效的通讯联络线;P34用于NRFD未准备好接收数据的通讯联络线;P30用于NDAC未接收数据的通讯联络线;P35用于ATN注意的接口管理线。

作了以上安排,由该接口电路就可实现GPIB接口功能,并与智能程控仪器互连通讯。

图4中另一个74LS244三态门用于读取该接口转换装置的状态信息,由P21同单片机的读选通输出引脚相或后产生对该三态门的选通信号。

该状态信息由八位微型开关设置,其中addr4~addr0五位用于设置该接口转换电路的地址;另一位LA为1时用于使该接口转换电路总是处于听者状态,即无论其addr4~addr0的地址如何设定总是无条件接收GPIB总线上的数据,即此时地址设定无效,若LA为0,则取决于程控仪器的寻址及addr4~addr0五位设定的地址;还有两位用来设置打印机的分辨率。

在图3中,由W77E58的P0口接收GPIB总线上的数据信息以及接口电路的状态信息。

接口功能的软件设计
软件设计的流程如图5所示。

其中初始化子程序流程如图6所示。

初始化过程分两部分:单片机初始化和打印机的枚举初始化。

单片机的初始化过程就是直接向相应的I/O口写初始化值及设置看门狗,可调用函数watchdog_init()实现设置看门狗。

打印机的枚举初始化过程很重要,要实现打印采集到的并口数据,首先必须成功地枚举初始化打印机。

初始化USB打印机函数init_print()主要用到以下几个主要函数:
◇ get_descr(1),获取设备描述符。

◇ rd_usb_data(buffer),从CH375中读取数据到单片机中。

◇ set_addr(3),设置打印机的USB地址。

◇ get_full_descr(buffer),获取配置描述符。

◇ set_config(unsigned char cfg),加载USB配置值。

此外,在进行软件设计的过程中有以下注意事项:
·仪器是否发送信息是通过查询GPIB接口的DAV线来实现,当DAV线为低电平时表明仪器要发送信息了,而为高电平时表明仪器尚未准备发送信息;
·判仪器发送的信息为命令还是数据是通过查询GPIB接口的ATN线来实现,当ATN 线为低电平时表明仪器发送的是命令,而为高电平时表明仪器发送的是数据;
·在处于无条件接收状态时,对仪器发送的命令不予理会,即进行GPIB接口三线挂钩(NDAC,DAV,NRFD)的空循环,而当仪器发送来数据时,则进行完整的接收;
·在处于寻址的接收状态时,则需判断仪器发出的寻址命令是否寻址本接口装置通过五位微型开关设定的地址,若不是,则亦进行GPIB接口三线挂钩(NDAC,DAV,NRFD)的空循环,若是,则对仪器发送来数据进行完整的接收;
·判仪器是否将数据发送完毕是通过查询GPIB接口的EOI线来实现,当EOI线为低电平时,表明仪器将数据发送完毕,而为高电平时表明仪器尚未将数据发送完毕;
结语
在实际调试中,笔者将在HP逻辑分析仪(HP 1630G)、HP频谱分析仪(HP 8563E)以及HP矢量网络分析仪(HP 8720B)上测得的波形,通过该接口转换电路后在HP Laser 1200等USB接口打印机上的输出,得以通过且打印质量优于专用GPIB接口打印机(HP Thinkjet 系列)。

在该接口转换电路的设计中,均采用了常用的芯片,电路板制作简单、小巧,该电路主要是使用了W77E58单片机,由软件程序模拟接口功能,它的实际使用解决了智能程控仪器GPIB接口与通用USB接口打印机的互连通讯,由通用USB接口打印机即可输出在GPIB 接口的程控仪器上所测得的数据结果,从而为GPIB接口的智能程控仪器的打印输出又增添一条行之有效的方法。

相关文档
最新文档