系统软件设计
传统的开发USB应用系统的步骤是:先用Windows DDK(设备驱动程序开发包)或第三方开发工具(如Driver Studio)开发USB驱动程序,然后用Visual C++编写DLL(动态连接库),最后再调用DLL来开发应用程序。本文介绍一种简单快速开发USB接口应用系统的方法,它直接在LABVIEW环境下通过NI-VISA开发能驱动用户USB系统的应用程序,完全避开了以前开发USB驱动程序的复杂性,大大缩短了开发周期。
LABVIEW及其对VISA的调用
VISA(Virtual Instrument Software Architecture)是一个用来与各种仪器总线进行通讯的高级应用编程接口(API),不受平台、总线和环境的限制,可用来对USB、GPIB、串口、VXI、PXI和以太网系统进行配置、编程和调试。当进行USB通信时,VISA提供了两类函数供LABVIEW调用:USB INSTR设备与USB RAW设备。USB INSTR设备是符合USBTMC协议的USB设备,可以通过使用USB INSTR类函数控制,通信时无需配置NI-VISA;而USB RAW设备是指除了明确符合USBTMC规格的仪器之外的任何USB设备,通信时要配置NI-VISA。
(1)配置NI-VISA的步骤
①使用Driver Development wizard(驱动程序开发向导)创建INF文档;
②安装INF文档,并安装使用INF文档的USB设备;
③使用NI-VISA Interactive Control(NI-VISA互动控制工具)对设备进行测试,以证实USB设备已正确安装,并获得USB设备的各属性值。
(2)与Nl-VISA相配合的LABVIEW模板中VI子节点
ViOpen,打开并指定VISA resource name的设备的连接;
ViProperty,VISA设备的属性子节点,可以设置端点或传输方式;
ViWrite,向VISA resource name指定的设备写入数据;
ViRead,从VISA resource name指定的设备读出数据;
ViClose,结束设备读写并关闭与指定设备的连接。
(3)USB RAW设备读写的操作
USB RAW设备的读写流程图如图5所示。
前面板部分
LABVIEW是NI公司开发的一种基于图形程序的编程语言,用户利用创建和调用子程序的方法编写程序,使创建的程序模块化且编制简单直观。一个LABVIEW程序分为3部分;前面板、框图程序和图标/接线端口。前面板提供与用户交互的图形化界面,通过面板上的各种按钮、开关等控件可以实现对整个系统的操作或控制;实时波形显示窗口能对产生的信号波形进行预览和监视。还可以通过LABVIEW波形
结束语
随着电子计算机的广泛应用,社会的数字化程度越来越高,数据采集也越来越重要,本系统是一种通用的高速数据采集系统,可用于生物电波、电子学频谱、声波分析等瞬态信号的实时采集和观察等场合。其中基于USB总线的高速数据采集系统具有可靠性高、数据不丢失、抗干扰性强、便于数据传输和处理等优点,因而具有良好的应用前景和实用价值。