通用接口总线转接PC机串口的解决方案

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

通用接口总线转接PC机串口的解决方案

GPI B Controller Design Based On RS232

吴延军

(广东邮电职业技术学院 广东广州 510630)

[摘要] 通用接口总线GPIB作为IEEE组织制定的仪器接口总线标准,用于将各种数字化的自动测量仪器相互连接起来,协同完成测量任务。然而GPIB和PC机连接时,需要通过昂贵的GPIB接口板卡,接入成本较高,这个问题在PC机连接一台带有GPIB接口的测量仪器时更加突出。文章提出一种PC机连接GPIB的解决方案,使用PC机的串口RS232,透过一个单片机连接GPIB,以较低的成本完成GPIB的接入。

[关键词] 单片机;PC机;GPIB;SCPI;RS232;超级终端

[中图分类号] TP334 [文献标识码] B

通用接口总线(General Purpo se Inter face Bus,简写为GPIB)是由IEEE协会(Instit ute of Elect ri2 cal and Elect ronic Engineers)规定的一种ANSI/ IEEE488标准。带有GPIB接口的测量仪器,通过该总线可以方便快捷地与PC机连接,完成自动化的协同测量。但PC机与GPIB连接时需要借助价格昂贵GPIB接口板卡。本文设计了一种解决方案,即利用计算机最常用的RS232接口,控制带有GPIB接口的仪器,通过一个单片机系统在PC机与测量仪器之间建立数据传输的通道。同时,本方案中设计的单片机系统支持SCPI(Standard Commands for Pro2 grammable Inst rumentation)指令集,只需在Win2 dows操作系统自带的工具软件超级终端中输入SC2 PI指令,便可完成与GPIB板卡相当的功能,对仪器进行参数设置和测量结果的读取。

1 方案设计

本方案的核心是在RS232和GPIB之间做信号变换的单片机系统,旨在连接计算机和带有GPIB接口的测量仪器。RS232串口作为PC机的标准配置,编程方便,连接简单可靠,人机操作界面则采用Win2 dows操作系统自带的超级终端,完成计算机串口数据的接收发送,无需自行开发计算机端软件。方案中的单片机系统,连接计算机RS232串口和仪器GPIB接口,接收PC机超级终端中输入的SCPI指令,转发给带有GPIB接口的仪器执行;仪器执行接受到的SCPI指令,将执行结果透过GPIB发送给单片机系统,单片机系统做格式变换后,通过RS232串口传递给PC机,在超级终端中显示。

2 单片机系统设计

2.1 硬件设计

单片机是本设计的硬件核心,选用TI公司的MSP430F147单片机。该型号单片机采用80C51微处理器内核,拥有丰富的片上资源和总线式I/O口,支持高级语言编程,内部集成符合RS232数据规范的异步串行控制单元。因此,使用Tx和Rx串行接口线与外部串行传输数据,只需在单片机外部使用MAX232芯片进行电平转换,便可直接连接计算机的串行端口(COM)。控制器的硬件结构如图1所示,其中GPIB接口控制电路是控制器硬件设计的重点

图1 单片机系统硬件结构框图

对GPIB接口控制电路的硬件设计,采用美国德州仪器公司生产的TMS9914芯片,它是一款标准的GPIB控制芯片,依靠软件编程来完成GPIB功能,具有DMA(直接存储器存取)功能,可编程时钟和波特率,采用CMOS驱动,并兼容T TL电平,因此使用极为方便。同时,选用SN75160作为数据转换器, SN75162作为握手线和控制线转换器,与TMS9914配套使用,连接GPIB接口。

7

1

通用接口总线转接PC机串口的解决方案 吴延军 

2.2 软件设计

单片机系统的软件结构采用主程序加中断调用方式的模式设计,软件功能主要分为RS232串口通讯程序和GPIB 接口通讯程序两部分,分别和两个中断相关,其一是串行通讯中断,负责RS232串口数据传输;另一个是接收TMS9914芯片中断信号的外部中断,处理来自GPIB 接口数据通讯的各种事件。

主程序在完成系统初始化后,进入死循环状态,等待这两个中断的发生。其中,RS232串口数据发送安排在主程序中执行,串口数据接收由串口中断处理程序完成,串口通讯程序较为简单,这里主要给出GPIB 通讯程序结构。

TMS9914芯片开始工作之前,要对其进行初始化,这部分代码作为主程序中初始化程序的一部分运行,包括设置ICR 寄存器,选择时钟信号频率,设置GPIB 延迟时间T1,定义通讯结束字符EOS ,设置GPIB 设备地址规定地址必须在0到30之间,如果写入更大的地址,则设备仍看作30。

GPIB 控制部分的代码以中断方式运行,当外部中断发生时,单片机中止正常工作,将现场数据压入堆栈保护,并调用外部中断处理函数,响应TMS9914芯片的中断申请,其中断程序流程如图2所示

图2 中断处理程序

需要指出,引起中断信号的事件主要有四种:发

送数据事件、接收数据事件、接收GET 命令事件和接收DACS 命令事件,中断频繁时会影响主程序运行的效率,考虑到所设计的转换器功能单一,主程序基本处于空转状态,四种事件的处理都在中断程序中完成,因此,对主程序运行影响不大。这里,发送数据事件和接收数据事件较为复杂,图3分别给出这两种事件的处理流程

图3 GPIB 接收与发送数据流程

每次GPIB 接口数据接收中,TMS9914芯片接收到第一个字节数据后,置位寄存器ISR0中的B I 位,触发单片机外部中断,单片机进入外部中断处理程序后,读取ISR0寄存器,判断TMS9914芯片触发中断的原因是接收数据事件,调用接收数据子程序的执行,开始接收来自GPIB 仪器的数据。

在主程序中,TMS9914芯片发送完第一个字节数据后,置位寄存器ISR0中的BO 位,触发单片机外部中断。单片机调用外部中断处理程序,根据BO 位判断事件类型为发送数据事件,调用GPI B 数据发送程序,将缓冲区中剩余的数据依次发送到GPI B 总线上。

3 接入方案验证

采用本文提出的接入方案,连接PC 机和带有GPI B 接口泰克TDS210型示波器。图4是PC 机超级终端显示界面的部分截图,表明PC 机和示波器链接成功,示波器已经开始执行SCPI 指令并返回执行结果。

8

1— 《仪器仪表与分析监测》2008年第2期

相关文档
最新文档