通用计算机平台上IEEE-488兼容仪器的设计
电子元件,电子元器件深圳市创唯电子有限公司
您现在的位置: 首页 > 电子技术
通用计算机平台上IEEE-488兼容仪器的设计  2012/3/1
武汉理工大学信息工程学院,吕锋,陈园通用计算机系统具有强大的处理能力以及丰富的软件资源,正在被越来越多的现代仪器所采用。在仪器的设计过程中,往往需要提供GPIB接口以及相应的指令集以方便用户组成自动测试系统。针对这一需求,本文提出了一个通用计算机平台上IEEE-488兼容仪器的设计方案:通过使用GPIB接口卡和编写相应的仪器端程序,使得基于计算机的仪器能够模拟一个或者多个GPIB仪器。1IEEE-488仪器简介IEEE-488仪器模型如图1
 

武汉理工大学信息工程学院,吕锋,陈园

    通用计算机系统具有强大的处理能力以及丰富的软件资源,正在被越来越多的现代仪器所采用。在仪器的设计过程中,往往需要提供GPIB接口以及相应的指令集以方便用户组成自动测试系统。针对这一需求,本文提出了一个通用计算机平台上IEEE-488兼容仪器的设计方案:通过使用GPIB接口卡和编写相应的仪器端程序,使得基于计算机的仪器能够模拟一个或者多个GPIB仪器。

    1 IEEE-488仪器简介

    IEEE-488仪器模型如图1所示。仪器提供GPIB接口以及相应的指令集,指令集由以下几部分组成[1-2]:

   

    (1)IEEE-488.2公用命令集,如:*IDN?,*STB?,*CLS等。

    (2)SCPI标准规定的STATus和SYSTem子系统,主要用来报告仪器状态和进行系统设置。

    (3)仪器特定测量功能指令。

    其中,(1)和(2)是仪器必备指令,(3)的选取与仪器的实际功能有关。用户只需要将PC机与带有GPIB接口的仪器连接,通过调用仪器控制软件如NI-488.2和VISA等提供的I/O库向仪器写入指令,就能实现对仪器的控制。

    2 系统设计

    2.1 系统组成

    根据图1所示的模型,在通用计算机平台上设计的IEEE-488兼容仪器软硬件组成如图2所示。

   

    仪器运行在Windows操作系统下,其各部分的功能如下:

    (1)PCI-GPIB是NI公司提供的GPIB接口卡。通过安装设备端软件NI-Device,使GPIB接口卡完成Talker/Listener功能。

    (2)模块函数和必备函数与IEEE-488仪器模型中的仪器函数相对应:模块函数是模块制造商提供的API,大部分用来处理仪器特定测量功能指令;必备函数通过访问状态报告模型和调用某些模块函数处理IEEE-488.2与SCPI标准规定的必备指令。

    (3)状态报告模型由若干状态寄存器组构成,用来描述仪器的状态。大部分仪器函数都会访问此模型。

    (4)仪器端程序采用C++编写,主要负责接收主控计算机发送的指令,然后找到对应的仪器函数进行处理。如果接收的是查询指令,还负责将仪器函数的响应结果返回给主控计算机。

    系统的核心是仪器端程序和状态报告模型的设计,以下将对这两部分进行详细说明。

    2.2 仪器端程序设计

    仪器端的程序完成图1中除仪器函数以外的所有功能。其中,总线的消息处理即图1中GPIB总线、I/O组件、输出队列、消息交换组件、输入队列部分的功能通过调用NI-Device提供的API完成,其余部分由设计者自行完成。

    2.2.1 总线消息处理

    总线上的消息处理主要通过调用NI-Device提供的API完成。NI-Device是NI公司推出的一款面向仪器制造商的设备端软件,可以为仪器开发人员处理绝大部分的IEEE-488协议要求,并且支持面向对象的C++语言接口[3]。IEEE-488兼容仪器主要使用以下几个类:

    (1)C4882Device:是一个抽象类,是所有设备类的基类,它定义了设备类与总线接口方式。当总线上发生某个事件时,就调用相应的事件处理函数。此外,C4882Device类还负责输入输出队列管理和状态字节报告等。

    (2)CGpibDevice:使用GPIB总线的设备类都必须是CGpibDevice类的派生类,它负责处理GPIB总线协议。

与《通用计算机平台上IEEE-488兼容仪器的设计》相关列表
电话:400-900-3095
QQ:800152669
库存查询
Copyright(C) 2011-2021 Szcwdz.com 创唯电子 版权所有 备案号:粤ICP备11103613号
专注电子元件代理销售  QQ:800152669  电子邮件:sales@szcwdz.com  电话:400-900-3095