选择特殊符号
选择搜索类型
请输入搜索
通用接口总线(General-Purpose Interface Bus,GPIB)是一种设备和计算机连接的总线。大多数台式仪器是通过GPIB线以及GPIB接口与电脑相连。
(1) 可以用一条总线互相连接若干台装置,以组成一个自动测试系统。 系统中装置的数目最多不超过15台,互连总线的长度不超过20m。
(2) 数据传输采用并行比特(位)、串行字节(位组)双向异步传输方式,其最大传输速率不超过1兆字节每秒。
(3)总线上传输的消息采用负逻辑。低电平(≤+0.8V)为逻辑"1",高电平(≥+2.0V)为逻辑"0"。
(4) 地址容量。单字节地址:31个讲地址,31个听地址;双字节地址:961个讲地址,961个听地址。
(5) 一般适用于电气干扰轻微的实验室和生产现场。
我们使用一台计算机,通过GPIB控制卡可以实现和一台或多台仪器的听、讲、控功能,并组成仪器系统,使我们的测试和测量工作变得快捷, 简便, 精确和高效。通过GPIB电缆的连接,可以方便地实现星型组合、线型组合或者二者的组合。
与GPIB对应的是一种工程控制用的协议,最初由HP公司提出,后来成为一种国际标准,遵守的协议为IEE E488。一般被用来使用任何编程语言如VB、Vc、C++实现电脑对仪器的控制。当然也有某些仪器制造商自己开发的语言支持GPIB。如keithley公司使用的testpoint,NI公司的Labview等。实现这种控制首先要被控仪器支持GPIB,其次,工控机安装IEEE488卡,并通过gpib线连接两个设备。
GPIB比串口控制提高了传输速率和同时支持的设备总数。但是已经被传输速率更快支持设备总数更多的lan接口替代。
GPIB(General-Purpose Interface Bus)-通用接口总线,大多数台式仪器是通过GPIB线以及GPIB接口与电脑相连。
1965年惠普公司设计HP-IB
1975年 HP-IB变成IEEE-488-1975标准
1977年10月表决通过后IEC(国际电工委员会)便颁布了IEC625标准
1987年 IEEE又将原IEEE-488标准作个别修订定名为IEEE-488.1-1987,并同时颁布了IEEE-488.2-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定义的命令结构,创建了一整套编程命令。
1.台湾ETA6101 GPIB转GPIB 数据线 连接线 转接线 1米 &nb...
接口部分是由各种逻辑电路组成,与各仪器装置安装在一起,用于对传输的信息进行发送、接收、编码和译码;总线部分是一条无源的多芯电缆,用做传输各种消息。将具有GPIB接口的仪器用GPIB总线连接起来的标准接口总线系统。
在一个GPIB标准接口总线系统中,要进行有效的通信联络至少有"讲者"、"听者"、"控者"三类仪器装置。
讲者是通过总线发送仪器消息的仪器装置( 如测量仪器、数据采集器、计算机等),在一个GPIB系统中,可以设置多个讲者, 但在某一时刻,只能有一个讲者在起作用。
听者是通过总线接收由讲者发出消息的装置(如打印机、信号源等),在一个GPIB系统中,可以设置多个听者,并且允许多个听者同时工作。
控者是数据传输过程中的组织者和控制者,例如对其他设备进行寻址或允许"讲者"使用总线等。控者通常由计算机担任,GPIB系统不允许有两个或两个以上的控者同时起作用。
应用微机设计GPIB母线分析仪软面板
介绍了一种以通用微机为主要,加上GPIB接口卡和一套系统软件实现的GPIB母线分析仪软面板的设计方法
基于GPIB的光纤收发器系统的设计与实现
对光纡收发器及GPIB概念和应用理论进行了概述,重点对对基于NAT9914芯片的GPIB接口的实现及其软硬件设计进行了探讨。给出了具体GPIB的硬件设计图,对光纤收发器的光电转换模块进行了选择,同时对GPIB的软件设计进行了简要探讨。通过后续的实物实验,得到了该光纤收发器设计上的合理性与有效性结论。
越来越多的测量仪器提供GPIB(General Purpose Intefface Bus)总线接口,通过该总线可以方便快捷地连接带有GPIB接口的仪器及计算机,组成一个GPlB网络。GPIB设备与计算机连接时,需要借助GPIB接口板卡,但这些GPIB接口板卡价格昂贵,给仪器与计算机连接带来不便。在大多数情况下计算机只连接一台GPIB接口仪器,并不需要这些功能复杂价格昂贵的GPIB板卡。面对单台仪器与计算机连接的功能需求,本文设计了一种性价比突出的RS232一GPIB,该控制器利用计算机最常用的RS232接口,控制带有GPIB接口的仪器,在计算机与仪器之间建立数据传输的通道。同时,支持SCPI(Standard Commands for Prognmnnable Instrumentation)指令集,只需在Windows操作系统自带的工具软件超级终端中输入SCPI指令,便可方便地对仪器进行参数设置和读取测试结果。
控制器的设计,旨在连接计算机和带有GPIB接口的测量仪器,并利用计算机的键盘和显示器来操控仪器进行程控测量。本设计中计算机端接口为RS232接口,使用这个串口作为通信工具,编程方便、连接简单可靠,软件则采用Windows操作系统自带的超级终端。因此,可以很方便地完成计算机串口数据的接收和发送,无需自行开发计算机端软件,节省了控制器的开发时间。所设计控制器的核心是单片机,它一端连接计算机RS232串口,一端连接仪器GPIB接口,单片机接收来自计算机超级终端的SCPI指令,并转发给带有GPIB接口的仪器执行。仪器执行完成指令后将执行结果发送给控制器,控制器再将所收到的数据通过RS232串口传递给计算机.在超级终端中显示。
1 硬件设计
单片机是RS232-GPIB控制器的核心,本设计选用ATEML公司的AT89C51单片机。由于89C51应用领域广泛,拥有丰富的片上资源和总线式I/O口,支持高级语言编程,内部集成了符合RS232数据规范的异步串行控制单元。因此,使用Tx和Rx串行接口线与外部串行传输数据,只需在单片机外部使用MAX232芯片进行电平转换,便可直接连接计算机的串行端口(COM)。控制器的硬件结构如图1所示,其中,GPIB接口控制电路是控制器硬件设计的重点。
需要指出的是:使用智能化的GPIB接口芯片,可以大大简化GPIB接口电路的设计。目前最常用的芯片有两种,一种以美国国家仪器公司生产的TNT4882芯片为代表,将所有接口功能集成在芯片上,完全由硬件完成接口功能,不需要其他辅助芯片,并且直接连接GPIB总线;另一种是以美国德州仪器公司生产的TMS9914芯片为代表,依靠软件编程来完成GPIB接口功能,由接口芯片SN75160和SN75161进行电平转换后连接GPIB总线。这二种芯片的比较如表l所示。考虑到成本等因素,本设计选用与TMS9914芯片完全兼容的NAT9914芯片作为GPIB总线接口芯片。NAT9914是一款标准的GPIB控制芯片,可以执行所有GPIB接口功能,具有直接存储器存取(DMA)功能,可编程时钟和波特率,采用CMOS驱动,并兼容TTL电平,因此使用极为方便。同时,选用SN75160作为数据转换器,SN75162作为握手线和控制线转换器,与NAT9914配套使用,连接GPlB接口。
在图l中,采用89C51的PO口连接NAT9914的数据接口,作为数据总线和GPIB进行双向数据交换;Pl的I/O口作为地址总线,对NAT9914内部寄存器寻址。NAT9914的中断输出连接在89C51的外部中断接口上,采用中断触发的方式管理GPIB接口通信;NAT9914的时钟信号一般采用独立时钟源。本设计中,考虑到控制器的功能仅完成与单台GPIB接口仪器之问的通信,时钟频率的高低对GPIB接口数据传输速度影响基本可以忽略,因此直接使用89C51的ALE信号作为NAT9914时钟信号,这样可以充分利用89C51的片上资源,简化电路,降低硬件成本。
2 软件设计
计算机端软件采用超级终端,用户在超级终端中键入指令语句控制带有GPIB接口的仪器。因SCPI指令集提供一个无缝的控制界面,使其在更换不同公司的同类GPIB设备时,不需要重新设定控制程序,可方便地和不同厂商同类GPIB设备的搡作编程。因此,本设计选取对业界通用的SCPI指令集作为控制指令,以便RS232一GPIB控制器可以和绝大多数GPIB接口仪器配合使用。
本设计中控制器软件采用C51语言编写,编译后烧录在89C51单片机中运行。软件框架采用主程序加中断调用方式.以提高功能模块的内聚性。软件功能分为RS232串口通信程序和GPIB接口通信程序两部分,分别和两个中断相关:(1)串行通信中断。该中断负责RS232串口数据传输。(2)接收NAT9914中断信号的外部中断。该中断处理来自GPIB接口数据通信的各种事件。主程序在完成全部初始化后进入死循环状态,等待这两个中断的发生。其中,RS232串口数据发送在主程序中执行,而串口数据接收由串口中断处理程序完成。串口通信程序较为简单,这里主要给出GPIB通信程序结构。
NAT9914芯片开始工作之前需要对其进行初始化,这部分代码作为主程序中初始化程序的一部分运行,包括设置ICR寄存器、选择时钟信号频率、设置GPIB延迟时问T1、定义通信结束字符EOS、设置GPIB设备地址(规定地址必须在O~30之间,如果写入更大的地址。则设备仍看作30)。初始化完成后将NAT9914接通GPIB总线。初始化流程如图2所示。
GPIB控制部分的代码以中断方式运行,当NAT9914触发89C51芯片的外部中断时,单片机中止正常工作,将现场数据压入堆栈保护,并调用外部中断处理函数,响应NAT9914芯片的中断申请,其中断处理程序流程如图3所示。引起NAT9914向单片机发出中断信号的事件主要有四种:发送数据事件、接收数据事件、接收GET命令事件和接收DCAS命令事件。中断频繁时会影响主程序运行效率,但考虑到所设计的转换器功能单一,主程序基本处于空转状态,四种事件的处理都在中断程序中完成,因此,对主程序运行影响不大。GPIB接收数据和发送数据流程如图4和图5所示。
每次GPIB接口数据接收中,NAT9914接收到第一个字节数据后,即置位寄存器ISR0中的BI位。触发单片机外部中断,单片机进入外部中断处理程序后,读取ISR0寄存器,判断NAT9914触发中断的原因是接收数据事件后,调用接收数据子程序的执行,开始接收来自GPIB仪器的数据。
在主程序中,NAT9914发送完第一个字节数据后.即置位寄存器ISR0中的BO位,触发单片机外部中断。单片机进入外部中断处理程序后,根据BO位判断事件类型为发送数据事件,则调用GPIB数据发送程序,将缓冲区中剩余的数据依次发送到GPIB总线上。
3 运行情况及结果
本文设计的RS232一GPIB控制器已成功用于计算机和泰克TDS210型示波器的GPIB总线连接中。图6是计算机超级终端显示界面的部分截图,其中COMMAND:>为计算机键盘SCPI命令输入提示符,GPIB:>为GPIB连接设备的反馈信息输出提示符,表示后面的信息来自GPIB设备(即泰克TDS210型示波器)。
首先输入的是查询命令.该类命令以‘?’结尾,当示波器收到查询命令后,会立即反馈相关查询信息。ID?命令,查询该示波器的品牌和型号信息,示波器回复相关信息显示在超级终端上;CH1?命令,查询示波器l号通道的设置信息;DATA?命令,查询示波器当前使用通道信息以及采样点数等信息。
接着输入控制命令,示波器收到该命令后,执行相应的操作,但并不将执行结果反馈回来。如:LANG ENGL命令,表示将示波器语言界面改为英文界面;LANGJAPA命令,表示将修改界面为日语界面。
原文链接:
1 概述
是美国NI公司的一款单芯片、高速、听/讲功能的兼备的GPIB(General purpose interface bus)接口。它内部集成了Turbo488(高速传输电路)以及NAT4882(IEEE488.2兼容电路),并拥有诸多新的特性,能够兼容ANSI IEEE Standard 488.1和ANSI IEEE Standard 488.2规范,因而可以为GPIB系统提供一套完整的解决方案。为了达到更高的传输速率。TNT4882采用了单芯片FIFO缓存,其内置的16个增强型IEEE 488.1兼容收发器可以直接连接GPIB,以实现HS488传输模式(一种新的GPIB高速传输模式)。在兼容性方面,它与以往使用的μPD7210、TMS9914A中的寄存器设置完全兼容,用户可以将以前所用的代码直接移植到TNT4882上。同时,它所包含的Turbo488电路及其诸多新特性也可以在一定程度上减少软件的开销。另外,TMT4882还具有灵活的CPU接口,可以方便地连接各种16位或8位微处理器,并将CPU发出的消息和信号转化成相应的GPIB消息和信号,以使实现GPIB设备和CPU及内存之间的通信。
图1 双芯片模式结构
2 内部结构和外围
2.1 TNT4882的内部结构
TNT4882的内部结构以其工作模式的不同而有所不同。工作模式可分为单芯片模式和双芯片模式两种,而双芯片模式又可分为Turbo+7210模式和Turbo+9914模式。工作模式的选择和转换由寄存器的设置来决定,不同的工作模式决定着FIFO与GPIB的连接方式、寄存器的状态和访问属性。
在双芯片工作模式下,NAT4882相当于μPD7210(Turbo+7210模式)或TMS9914A(Turbo+9914模式),但功能更加强大。此时的结构及工作过程如图1所示。当前GPIB写数据时,CPU首先将数据写入TNT4882的FIFO里,并由传输状态机将数据从FIFO传至NAT4882电路,再由NAT4882电路将数据传送至GPIB上;而当从GPIB上读数据时,过程则正好相反。
在单芯片工作模式下,FIFO可直接与GPIB相连而不需要传输状态机,其结构如图2所示。此时,TNT4882中寄存器的设置与Turbo+7210模式类似。
由于单芯片模式采用的是最简单且最快速的结构,且是NI公司推荐的TNT4882工作模式,因此,本文主要讨论这种模式。
2.2 外围时钟电路
TNT4882工作时需要40MHz的驱动时钟,产生时钟信号的方法有两种:一是采用40MHz的CMOS晶振,将晶振的输出接至TNT4882的XTALI管脚,并将XTALO管脚悬空;二是采用如图3所示的外围时钟电路。
图2 单芯片模式结构框图 图3 TNT4882外围时钟电路
3 寄存器简介
TNT4882内部寄存器的数量和种类都很多,而且在不同的工作模式下,寄存器的情况又不尽相同。本文只对单芯片模式以及与最基本的GPIB操作有关的一些寄存器进行简要地介绍。
需要注意的是,TNT4882内部的寄存器都是8位的。所以,每个寄存器的控制字也必须是8位。寄存器的地址通常是TNT4882的基地址加上各个寄存器所对应的偏移量。TNT4882的基地址由硬件电路决定,而每个寄存器对应的偏移量则是固定的,其范围从0至0x1F。寄存器有三种类型:只读、只写和读/写。表1列出了一些比较重要的寄存器类型。
表1 TNT4882的部分寄存器
寄存器 | 英文缩写 | 偏移量 | 类 型 |
命令寄存器 | CMDR | 1C | 只写 |
辅助模式寄存器 | AUXMR | 0A | 只写 |
连续轮询模式寄存器 | SPMR | 06 | 只写 |
握手选择寄存器 | HSSEL | 0D | 只写 |
高速使能寄存器 | HIER | 13 | 只写 |
多功能寄存器 | MISC | 15 | 只写 |
地址模式寄存器 | ADMR | 08 | 只写 |
地址寄存器 | ADR | 0C | 只写 |
中断寄存器0 | IMR0 | 1D | 只写 |
中断寄存器1 | IMR1 | 02 | 只写 |
配置寄存器 | CFG | 10 | 只写 |
总线控制寄存器 | BCR | 1F | 只写 |
总线状态寄存器 | BSR | 1F | 只读 |
地址状态寄存器 | ADSR | 08 | 只读 |
FIFO缓存A | FIFOA | 19 | 读/写 |
FIFO缓存B | FIFOB | 18 | 读/写 |
计数寄存器0 | CNT0 | 14 | 读/写 |
计数寄存器1 | CNT1 | 16 | 读/写 |
计数寄存器2 | CNT2 | 09 | 读/写 |
计数寄存器3 | CNT3 | 0B | 读/写 |
4
TNT4882是一种需要软件编程的集成电路。其内部各个寄存器的状态决定或标志着芯片及GPIB的工作状态。在GPIB中,只有通过编程对寄存器进行正确设备,才能实现对GPIB的各种操作。以下是编程的基本思路和注意事项。
4.1 芯片初始化
最典型的初始化程序需完成以下工作:
(1)复位TNT4882器件中的Turbo488电路;
(2)将TNT4882设置成Turbo+7210模式;
(3)将TNT4882设置成模式;
(4)使Local Power-On信号有效;
(5)配置TNT4882以为GPIB操作作准备,其具体任务是设置TNT4882的GPIB地址、设置初始串行轮询响应、设置初始并行轮询响应、清除或设定中断、设置GPIB握手参数等。
(6)清除Local Power-On信号,开始GPIB操作。
上述工作只是编程时考虑实现各种功能的基本原则,设计得可以根据自己的实际需要,对TNT4882进行适当的编程,而没有必要完成每种功能的设置。
4.2 GPIB数据传输
用TNT4882进行GPIB数据传输时,需经历初始化、数据传输和传输终止三个阶段,传输初始化步骤如下:
(1)正确设置TNT4882的地址模式。在GPIB写操作之前,应将TNT4882设置成讲状态;而在GPIB读操作之前,要将TNT4882设置成听状态;
(2)清空FIFO,为数据传输作准备;
(3)向配置寄存器中写入正确的控制字以设定传输参数;
(4)将欲传输字符个数的二进制补码写入计数寄存器;
(5)如果需要的话,可以设置DMA参数并使用DMA方式进行传输;
(6)根据需要,合理设置或清除中断;
(7)向TNT4882发送传输命令。
在传输初始化完成之后,就可以在系统内存和GPIB之间传输数据了。此时,所要考虑的只是如何协调内存和FIFO间的工作,而TNT4882会自动管理FIFO与GPIB间的数据传输。通常可以选择两种传输方式:DMA方式和程序控制方式。若使用DMA方式,则必须在传输初始化时对TNT4882进行正确设定。如果使用程序控制方式,则需设计控制程序来对数据传输进行管理。控制程序的基本流程如图4所示。
当数据传输终止时,还应进行以下几步操作:
(1)向TNT4882发送停止命令;
(2)若使用了DMA方式,还需禁止外部的DMA控制器;
(3)清除所有的中断设置。
5 结束语
使用TNT4882时,除了要求外接一个40MHz的外部时钟以外,几乎不需要其它任何辅助电路,因而大大简化了接口电路的设计和开发。通过笔者的实验证明:TNT4882是一款廉价的、高性能的专用芯片,是GPIB接口设计的理想选择。
原文链接:
在智能化测量仪器中,每一个仪器装置都具有仪器功能和接口功能。
仪器功能的作用是把收到的控制信息变成仪器设备的实际动作,如调节频率、调节信号电平、改变仪器的工作方式等,这与常规仪器设备的功能相同。为完成这些仪器功能而传递的信息称为仪器信息。
接口功能是指完成各仪器设备之间正确通信、确保系统正常工作的能力,即通过GPIB标准接口实现自动测量与控制所必须的逻辑功能。为完成接口功能而传递的信息称为接口信息。
接口功能包括:遇到机器故障等情况时,向系统“控者”提出服务请求的服务请求功能;系统“控者”为快速查询请求服务装置而设置的并行点名功能;用来选择远地工作状态或本地工作状态的远控本控能力;使装置从总线接收到触发信息,以便进行触发操作的装置触发功能;使仪器装置接收清除信息并返回到初始状态的装置清除功能等。