用户中心

资讯 > 传感器

基于NI-VISA与LabVIEW的USB接口应用设计

作者:余志荣 杨莉2008.01.15阅读 7189

  USB(Universal Serial Bus)接口是近年来应用在PC领域的新型接口技术。它基于单一的总线接口技术来满足多种应用领域的需求;它的即插即用、支持热插拔、易于扩展等特性极大地方便了用户的使用,已逐渐成为现代数据传输的发展趋势。

  传统的开发USB应用系统的步骤是,先用WindowsDDK(设备驱动程序开发包)或第三方开发工具(如DriverStudio)开发USB驱动程序,然后用Visual C++编写DLL(动态连接库),最后再调有DLL来开发应用程序。显然,这对Windows编程不熟悉的人来说有一定的难度,何况USB驱动程序的开发难度很大。本文介绍一种简单、快速开发USB接口应用系统的方法。它直接在LabVIEW环境下通过NI-VISA开发能驱动用户USB系统的应用程序控制工程网版权所有,完全避开了以前开发USB驱动程序的复杂性,大大缩短了开发周期。

  1 NI-VISA简介

  NI-VISA(Virtual Instrument Software Architec-ture,以下简称为“VISA”)是美国国家仪器NI(National Instrument)公司开发

的一种用来与各种仪器总线进行通信的高级应用编程接口。VISA总线I/O软件是一个综合软件包,不受平台、总线和环境的限制,可用来对USB、GPIB、串口、VXI、PXI和以太网系统进行配置、编程和调试。VISA是虚拟仪器系统I/O接口软件。基于自底向上结构模型的VISA创造了一个统一形式的I/O控制函数集。一方面CONTROL ENGINEERING China版权所有,对初学者或是简单任务的设计者来说,VISA提供了简单易用的控制函数集,在应用形式上相当简单;另一方面CONTROL ENGINEERING China版权所有,对复杂系统的组建者来说,VISA提供了非常强大的仪器控制功能与资源管理。

  2 LabVIEW及其调用VISA的条件

  LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是NI公司开发的一种基于图形程序的编程语言。用户利用创建和调用子程序的方法编写程序CONTROL ENGINEERING China版权所有,使创建的程序模块化,而且程序编制简单、直观。一个LabVIEW程序分为3部分:前面板、框图程序和图标/接线端口。前面板用于模拟真实仪器的前面板;框图程序是利用图形语言对前面板上的控件对象(分为控制量和指示量两种)进行控制;图标/接线端口用于把LabVIEW程序定义成一一个子程序,从而实现模块化编程。

  当进行USB通信时控制工程网版权所有,VISA提供了两类函数供Lab-VIEW调用,USB INSTR设备与USB RAW设备。USBINSTR设备是符合USBTMC协议的USB设备,可以通过使用USB INSTR类函数控制,通信时无需配置NI-VISA;而USB RAW设备是指除了明确符合USBTMC规格的仪器之外的任何USB设备,通信时要配置NI-VISA。

  (1)配置NI-VISA的步骤

  ①使用Driver DevelopineInt Wizard(驱动程序开发向导)创建INF文档;

  ②安装INF文档,并安装使用INF文档的USB设备;

  ③使用NI-VISA Interactive Control(NI-VISA互动控制工具)对设备进行测试,以证实USB设备已正确安装,并获得USB设备的各属性值。

  详细过程可参考NI官方网站上免费提供的文档《使用NI-VISA控制USB设备》。

  (2)与NI-VISA相配合的LabVIEW横板中VI子节点

 ViOpen,打开并指定VISA resource name的设备的连接。
    ViProperty,VISA设备的属性子节点,可以设置端点或传输方式。
    ViWnte,向VISA resource name指定的设备写入数据。
    ViRead,从VISA resource name指定的设备读出数据。
    ViCloseCONTROL ENGINEERING China版权所有,结束设备读写并关闭与指定设备的连接。

  (3)USB RAW设备读写的操作次序

  USB RAW设备的读写次序如图l所示。

基于NI-VISA与LabVIEW的USB接口应用设计如图


  下面以一个USB接口的温度采集系统为例,说明基于NI-VISA驱动的USB接口应用系统的设计与实现。

       3 系统硬件结构

  系统以Philips公司的增强型80C51单片机为核心,如图2所示。这是一个多点温度采集系统,核心器件是含有8 KB非易失Flash程序存储器的P89C52,与标准80C51完全兼容。USB通信控制芯片采用Philips公司的PDIUSBD12芯片(简称“D12”

版权声明:版权归控制工程网所有,转载请注明出处!
继续阅读

频道推荐

关于我们

控制工程网 & CONTROL ENGINEERING China 全球工业控制、自动化和仪器仪表领域的先锋媒体

CE全球

联系我们

商务及广告合作
任小姐(北京)                 夏小姐(上海)
电话:010-82053688      电话:18616877918
rendongxue@cechina.cn      xiashuxian@cechina.cn
新闻投稿:王小姐

关注我们的微信

关于我们 | 网站地图 | 联系我们
© 2003-2020    经营许可编号:京ICP证120335号
公安机关备案号:110102002318  服务热线:010-82053688