基于VPP规范的VXI总线模块的软件开发

时间:2013-03-30来源:网络

部件函数包括初始化、配置、动作/状态、数据、实用和关闭函数。初始化函数是访问仪器时调用的第一个函数,用于初始化软件连接,使仪器处于某种默认的状态。关闭函

数是最后调用的,用于关闭仪器的软件连接。配置函数对仪器进行配置,以便执行所希望的操作。动作/状态函数使仪器执行一项操作或者报告正在执行的或已经挂起的操作的状态。数据函数用来从仪器取回数据或向仪器发送数据。实用函数包括许多标准的仪器操作,例如执行复位、自检、询问驱动程序版本信息和错误处理等。

应用函数是一组面向测试的高级函数,它们指出如何使用部件函数。这些程序通过配置、触发和从仪器读取数据来完成整个测试操作,不仅提供了如何使用部件函数的有价值实例,而且当用户仅需要单一的面向测试函数接口,而不是使用单个部件函数时,它们是非常有用的。

VPP-3.2规范还给出了一组函数模板,并且要求每个仪器驱动器都必须实现这些函数。它们是:Initialize,Close,Reset,Self-Test,Error Query,Error Message,Revision Query.规范对每个函数的输入参数、输出状态和操作都做了详细的说明。

在开发仪器驱动器时,采用了两种简便的方法:一是在Lab Windows/CVI中提供了仪器驱动器的核心程序,它包括了VPP规范所要求的所有模板函数的实现,可在此基础上添加其它函数;二是根据已有的具有类似仪器功能的仪器驱动器进行改造。但首先我们都必须熟悉仪器各项功能和指令集。如果仪器是寄存器基的,通过直接读写其寄存器进行操作;如果是消息基的,则可发送ASCII码指令来控制。

开发仪器驱动器采用了自顶向下的方式,步骤如下:

①命名仪器驱动器。采用厂家名称缩写+模块号的方式命名仪器驱动器,即AMC1410,并将此名称作为每个仪器驱动器函数的前缀,这可使得多个厂家的仪器驱动器运行于同一系统中而不会发生冲突。

②定义仪器的功能和功能分类。

③创建仪器驱动器的函数树,它对应仪器的功能层次。

④对仪器驱动器的每个函数:

a.定义函数的入口参数包括变量类型、数值范围,输出状态。

b.如果采用LabWindows/CVI作为开发工具,为每个函数创建函数面板,包括面板和控制的帮助信息。

c.为每个函数写源代码。

d.调试函数源代码。

⑤为最终的仪器驱动器创建包含文件,包括函数声明和常数定义。

⑥生成仪器驱动器的动态连接库文件和入口函数库文件。

数字电压表模块的函数组织图见图2。

在开发仪器驱动器时,我们使用VISA库函数和VISA定义的数据类型。VISA是虚拟仪器软件结构的简称,是VPP规范的又一重要成果。它为不同的操作系统和不同的硬件接口提供了同一I/O软件层,无论是选用GPIB、VXI/MXI、串口或以太网接口,还是选用DOS、Windows、UNIX操作系统,都可使用相同的函数与仪器通讯,这打破了过去不同厂商的I/O接口软件互不兼容的局面,大大增强了驱动程序的可移植性。

2.3开发仪器软面板

由厂商随仪器一同发货的仪器软面板为用户提供了交互式操作仪器的图形接口,它取代传统的台式仪器的前面板,在计算机屏幕上显示用于控制仪器的各种按键、旋钮和仪器的输出信息,用鼠标和键盘进行操作。软面板有两个重要功能:一是帮助用户检验系统通讯接口和仪器是否正确配置、正常工作;二是帮助用户熟悉仪器的主要功能。

1 2 3

关键词: VPP规范 VXI总线 软件开发

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版