越来越多的丈量仪器供给GPIB(General Purpose Intefface Bus)总线接口,经过该总线能够便利快捷地衔接带有GPIB接口的仪器及计算机,组成一个GPlB网络。GPIB设备与计算机衔接时,需求凭借GPIB接口板卡,但这些GPIB接口板卡价格昂贵,给仪器与计算机衔接带来不便利。在大多数状况下计算机只衔接一台GPIB接口仪器,并不需求这些功用杂乱价格昂贵的GPIB板卡。面临单台仪器与计算机衔接的功用需求,本文规划了一种性价比杰出的RS232一GPIB操控器,该操控器运用计算机最常用的RS232接口,操控带有GPIB接口的仪器,在计算机与仪器之间树立数据传输的通道。一起,支撑SCPI(Standard Commands for Prognmnnable InstrumentaTIon)指令集,只需在Windows操作系统自带的东西软件超级终端中输入SCPI指令,便可便利地对仪器进行参数设置和读取测验成果。
RS232-GPIB操控器的规划,旨在衔接计算机和带有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指令,表明将修正界面为日语界面。
责任编辑;zl