快捷搜索:  as  test  1...,,,,)

基于AT89C51单片机的RS232-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指令,便可方便地对仪器进行参数设置和读取测试结果。

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

您可能还会对下面的文章感兴趣: