用Labview基于NI VISA控制USB接口.doc_第1页
用Labview基于NI VISA控制USB接口.doc_第2页
用Labview基于NI VISA控制USB接口.doc_第3页
用Labview基于NI VISA控制USB接口.doc_第4页
用Labview基于NI VISA控制USB接口.doc_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于NI-VISA与LabVIEW的USB接口应用设计2008-01-15 嵌入式在线 收藏 | 打印 通用串行总线(USB)作为一种灵活的高速总线接口技术,非常适合作为主机和外设之问的通信接口,但其结构复杂。 本文以一个采集多点温度的实际系统为倒,阐述USB接口应用系统的总体设计思想及其层次结构,在实现方法上避开传统的Windows编程技术,另辟蹊径地给出使用NI-VISA来驱动USB接口以应用LabVIEW进行应用编程的方法。 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总线IO软件是一个综合软件包,不受平台、总线和环境的限制,可用来对USB、GPIB、串口、VXI、PXI和以太网系统进行配置、编程和调试。VISA是虚拟仪器系统IO接口软件。基于自底向上结构模型的VISA创造了一个统一形式的IO控制函数集。一方面,对初学者或是简单任务的设计者来说,VISA提供了简单易用的控制函数集,在应用形式上相当简单;另一方面,对复杂系统的组建者来说,VISA提供了非常强大的仪器控制功能与资源管理。 2 LabVIEW及其调用VISA的条件 LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是NI公司开发的一种基于图形程序的编程语言。用户利用创建和调用子程序的方法编写程序,使创建的程序模块化,而且程序编制简单、直观。一个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指定的设备读出数据。 ViClose,结束设备读写并关闭与指定设备的连接。(3)USB RAW设备读写的操作次序 USB RAW设备的读写次序如图l所示。 下面以一个USB接口的温度采集系统为例,说明基于NI-VISA驱动的USB接口应用系统的设计与实现。 3 系统硬件结构 系统以Philips公司的增强型80C51单片机为核心,如图2所示。这是一个多点温度采集系统,核心器件是含有8 KB非易失Flash程序存储器的P89C52,与标准80C51完全兼容。USB通信控制芯片采用Philips公司的PDIUSBD12芯片(简称“D12”)。它是一款较新型的专用USB通信控制芯片,符合通用串行总线USBl1版规范,内部集成有串行接口引擎SIE、320字节FIFO存储器、收发器和电压调节器。前端温度传感器采用Dallas公司生产的DSl8820。它是一线式数字温度传感器,直接以数字量输出给微处理器,可节省大量的引线和信号调理电路。DSl8820内部有一个光刻ROM。这个ROM中存有64位序列号。它可以看作足该DS18820的地址序列码,所以多路温度传感器可以挂在l条总线上,共同占用单片机的1条IO线即可实现接口。在提升单片机IO线驱动能力的前提下,理论上可以任意扩充检测的温度点数。 D12与单片机的接口共有两种方式:多路地址数据总线方式和单地址数据总线方式。这里选择了单地址数据总线方式,因此,D12的ALE接为低电平,而A0脚与P89C52X2的端口P33相连。该端口控制D12的命令和数据状态:A0=1,表示数据总线上是命令;A0=0,表示数据总线上是数据。D12的数据总线直接与P0口相连,D12的中断引脚INT_N与P89C52X2的INT0相连。当D12的外部巾断有一位为1时,INT_N输出低电平,触发P89C52X2的外部中断。因为系统未采用DMA,所以D12的DMAcK_N引脚接高电平,EOT_N引脚通过电阻接到USB的+5 V,以正确检测到USB连接;INT_N引脚加一个上拉电阻。因为D12有片内上电复位电路,故引脚RESET_N直接与电源引脚VCC相连。温度传感器DSl8820工作在外接电源工作方式,DQ引脚直接和P89C52X2的P10相连。 3.1 系统的工作原理 根据USB协议,任何传输都是由主机(host)开始的,单片机的前台工作就是等待。主机PC首先要发送令牌包给USB,D12接收到令牌包就给单片机发中断,单片机进入中断服务程序。首先读D12的中断寄存器,判断USB令牌包的类型,然后执行相应的操作,因此,USB单片机程序主要就是中断服务程序的编写。在USB单片机程序中要完成对各种令牌包的响应,主要是对端口的编程。 3.2 软件部分的设计 系统的固件程序从功能上分为两部分,整个编程在Keil C环境下完成。 (1)温度传感器D818820的读取程序 DSl8820单线通信功能是分时实现的。它有很严格的时序要求,对它的操作必须按协议进行,即初始化发ROM操作命令发存储器操作命令数据处理。 (2)MCU和USB接口的通信程序 本程序使用D12的端点l和端点2进行上位汁算机与MCU P89C52之间的命令和数据的传输。端点l和端点2设置成模式O(非同步方式)。其中端点1以中断传输方式进行命令的传输和应答,端点2以批量传输方式进行数据的传输。端点1接收上位机发送过来的读指令,端点2返回读成功数据。 系统的固件程序编写以分层结构展开。它是一种积木式结构,如图3所示。 硬件提取层:对单片机的IO口、数据总线等硬件接口进行操作。 PDIUSBD12命令接口:对D12器件进行操作的模块子程序集。 中断服务程序:当D12向单片机发出中断请求时,读取D12中断传输来的数据,并设定事件标志“EPP-FLAGS”和Settup包数据缓冲区“CONROL_XFER”传输给主循环程序。 标准设备请求处理程序:对USB的标准设备请求进行处理。 厂商请求处理程序:对用户添加的厂商请求进行处理。主程序:发出USB数据传输请求,处理总线事件和调用用户自定义功能子程序。 以NI-VISA为驱动的主机LabVIEW应用程序的设计,NI-VISA采用32版本,LabVIEW采用71版本。 整个应用程序的主框架使用了WHILF循环来进行不断的查询。在程序的编写过程中,采用了类似Windows程序中的事件驱动机制,LabVIEW提供了这样的结构事件结构。各个消息的产生利用了各种界面控件并由Case选择结构给出。程序框图如图4所示。 为了便于说明USB操作次序,把图4中事件结构展开,有图5所示的具体USB操作次序。 在图5中,USB RAW设备通信采用端点1以中断传输方式接收上位机操作命令,协议可以自己约定。端点2以批量传输方式给上位机发回温度数据。其中端点数“130”是对应十六进制数“0082”的十进制数,此数表示端点2批量输入;而端点数“1”则是对应十六进制数“0001”的十进制数,此数表示端点1中断输出。 因为NI-VISA32版本不支持USB属性“中断输出”(interrupt out),因此为了实现USB端点1的中断输出问题,这里把USB属性“批量输出”(bulk out pipe)和“VI Write”节点组合在一起,来实现端点l中断输出。从NI-VISA33起,可以直接利用“中断输出”(interruptout)属性来实现。 结语 经实践证明,采用基于NI-VISA驱动的USB接口应用系统的设计非常容易,开发难度低,对开发者的要求不高;开发出的系统稳定可靠,即使对Windows编程不熟悉的人也可以开发出USB应用系统,它提供了另一种开发USB驱动应用程序的捷径。本文来源:单片机及嵌入式系统应用作者:上海交通大学 余志荣 杨莉基于NI-VISA与LabVIEW的USB接口应用设计作者姓名:余志荣 杨莉作者单位:上海交通大学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总线IO软件是一个综合软件包,不受平台、总线和环境的限制,可用来对USB、GPIB、串口、VXI、PXI和以太网系统进行配置、编程和调试。VISA是虚拟仪器系统IO接口软件。基于自底向上结构模型的VISA创造了一个统一形式的IO控制函数集。一方面,对初学者或是简单任务的设计者来说,VISA提供了简单易用的控制函数集,在应用形式上相当简单;另一方面,对复杂系统的组建者来说,VISA提供了非常强大的仪器控制功能与资源管理。2 LabVIEW及其调用VISA的条件LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是NI公司开发的一种基于图形程序的编程语言。用户利用创建和调用子程序的方法编写程序,使创建的程序模块化,而且程序编制简单、直观。一个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指定的设备读出数据。 ViClose,结束设备读写并关闭与指定设备的连接。(3)USB RAW设备读写的操作次序USB RAW设备的读写次序如图l所示。下面以一个USB接口的温度采集系统为例,说明基于NI-VISA驱动的USB接口应用系统的设计与实现。3 系统硬件结构系统以Philips公司的增强型80C51单片机为核心,如图2所示。这是一个多点温度采集系统,核心器件是含有8 KB非易失Flash程序存储器的P89C52,与标准80C51完全兼容。USB通信控制芯片采用Philips公司的PDIUSBD12芯片(简称“D12”)。它是一款较新型的专用USB通信控制芯片,符合通用串行总线USBl1版规范,内部集成有串行接口引擎SIE、320字节FIFO存储器、收发器和电压调节器。前端温度传感器采用Dallas公司生产的DSl8820。它是一线式数字温度传感器,直接以数字量输出给微处理器,可节省大量的引线和信号调理电路。DSl8820内部有一个光刻ROM。这个ROM中存有64位序列号。它可以看作足该DS18820的地址序列码,所以多路温度传感器可以挂在l条总线上,共同占用单片机的1条IO线即可实现接口。在提升单片机IO线驱动能力的前提下,理论上可以任意扩充检测的温度点数。D12与单片机的接口共有两种方式:多路地址数据总线方式和单地址数据总线方式。这里选择了单地址数据总线方式,因此,D12的ALE接为低电平,而A0脚与P89C52X2的端口P33相连。该端口控制D12的命令和数据状态:A0=1,表示数据总线上是命令;A0=0,表示数据总线上是数据。D12的数据总线直接与P0口相连,D12的中断引脚INT_N与P89C52X2的INT0相连。当D12的外部巾断有一位为1时,INT_N输出低电平,触发P89C52X2的外部中断 。因为系统未采用DMA,所以D12的DMAcK_N引脚接高电平,EOT_N引脚通过电阻接到USB的+5 V,以正确检测到USB连接;INT_N引脚加一个上拉电阻。因为D12有片内上电复位电路,故引脚RESET_N直接与电源引脚VCC相连。温度传感器DSl8820工作在外接电源工作方式,DQ引脚直接和P89C52X2的P10相连。3.1 系统的工作原理根据USB协议,任何传输都是由主机(host)开始的,单片机的前台工作就是等待。主机PC首先要发送令牌包给USB,D12接收到令牌包就给单片机发中断,单片机进入中断服务程序。首先读D12的中断寄存器,判断USB令牌包的类型,然后执行相应的操作,因此,USB单片机程序主要就是中断服务程序的编写。在USB单片机程序中要完成对各种令牌包的响应,主要是对端口的编程。3.2 软件部分的设计系统的固件程序从功能上分为两部分,整个编程在Keil C环境下完成。(1)温度传感器D818820的读取程序DSl8820单线通信功能是分时实现的。它有很严格的时序要求,对它的操作必须按协议进行,即初始化发ROM操作命令发存储器操作命令数据处理。(2)MCU和USB接口的通信程序本程序使用D12的端点l和端点2进行上位汁算机与MCU P89C52之间的命令和数据的传输。端点l和端点2设置成模式O(非同步方式)。其中端点1以中断传输方式进行命令的传输和应答,端点2以批量传输方式进行数据的传输。端点1接收上位机发送过来的读指令,端点2返回读成功数据。系统的固件程序编写以分层结构展开。它是一种积木式结构,如图3所示。硬件提取层:对单片机的IO口、数据总线等硬件接口进行操作。PDIUSBD12命令接口:对D12器件进行操作的模块子程序集。中断服务程序:当D12向单片机发出中断请求时,读取D12中断传输来的数据,并设定事件标志“EPP-FLAGS”和Settup包数据缓冲区“CONROL_XFER”传输给主循环程序。标准设备请求处理程序:对USB的标准设备请求进行处理。厂商请求处理程序:对用户添加的厂商请求进行处理。主程序:发出USB数据传输请求,处理总线事件和调用用户自定义功能子程序。以NI-VISA为驱动的主机LabVIEW应用程序的设计,NI-VISA采用32版本,LabVIEW采用71版本。整个应用程序的主框架使用了WHILF循环来进行不断的查询。在程序的编写过程中,采用了类似Windows程序中的事件驱动机制,LabVIEW提供了这样的结构事件结构。各个消息的产生利用了各种界面控件并由Case选择结构给出。程序框图如图4所示。 为了便于说明USB操作次序,把图4中事件结构展开,有图5所示的具体USB操作次序。在图5中,USB RAW设备通信采用端点1以中断传输方式接收上位机操作命令,协议可以自己约定。端点2以批量传输方式给上位机发回温度数据。其中端点数“130”是对应十六进制数“0082”的十进制数,此数表示端点2批量输入;而端点数“1”则是对应十六进制数“0001”的十进制数,此数表示端点1中断输出。因为NI-VISA32版本不支持USB属性“中断输出”(interrupt out),因此为了实现USB端点1的中断输出问题,这里把USB属性“批量输出”(bulk out pipe)和“VI Write”节点组合在一起,来实现端点l中断输出。从NI-VISA33起,可以直接利用“中断输出”(interruptout)属性来实现。 结语经实践证明,采用基于NI-VISA驱动的USB接口应用系统的设计非常容易,开发难度低,对开发者的要求不高;开发出的系统稳定可靠,即使对Windows编程不熟悉的人也可以开发出USB应用系统,它提供了另一种开发USB驱动应用程序的捷径。出处:单片机及嵌入式系统应用页面功能 【我来说两句】【字体:大 中 小】【打印】 【关闭】 相关连接 微型虚拟示波器的设计与实现 基于虚拟仪器的频率测量软件系统设计 基于嵌入式系统的虚拟仪器设计 基于LabVIEW的相关滤波器的设计与改进 基于虚拟仪器的热膨胀仪测试系统设计 基于虚拟仪器的ARINC429总线信号仿真和测试方案 基于虚拟仪器技术新型混沌信号产生器的设计 基于虚拟仪器的胎儿心电图仪的研制 USB仪器控制教程2 评级 | 4.50 out of 5打印 概览本教程可作为通过NI-VISA与USB设备通信的起步指导。 本教程不作为学习USB构架或各种USB通信协议的起步指导。 读完本教程,只要您能理解设备通信协议,便可安装USB设备并利用NI-VISA实现与USB的通信。 目录1. USB和VISA的背景 2. 通过配置NI-VISA, 控制您的USB设备 3. 通过使用NI-VISA, 与您的USB设备通信 4. Linux和Mac系统上的USBUSB和VISA的背景VISA是一款可与仪器总线通信的高级应用程序接口(API)。 VISA独立于平台、总线和环境。 换言之,无论是在运行Windows 2000操作系统的计算机上借助LabVIEW创建与USB设备通信的程序,还是在运行Mac OS X操作系统的计算机上借助C创建与GPIB设备通信的程序,均可使用相同的API。通用序列总线(USB)是一款基于消息的通信总线。这表示:PC和USB设备通过在总线上发送文本或二进制数据格式的指令和数据,实现通信。 每款USB设备都有着各自的指令集。 您可通过“NI-VISA读写”函数将这些指令发送给仪器并从仪器上读取响应。 您可以和仪器制造商确认,获得关于自身仪器的有效指令列表。NI-VISA自3.0版起,支持USB通信。 有2种类型的VISA资源参与支持: USB INSTR和USB RAW。USB INSTR资源类型用于符合“USB测试和测量类型(USBTMC)”协议的USB设备。 USBTMC设备符合VISA USB INSTR资源类型可以理解的一项协议。 您无需配置即可实现与USBTMC设备的通信。 若您想了解和USBTMC仪器通信的内容,请参阅第3节。更多关于USBTMC规范的信息,请参阅以下“USB实施者论坛网”的页面链接。USB RAW仪器是任何不符合USBTMC专用规范的USB仪器。 若您正在使用USB RAW设备,可根据第2节的指南,配置NI-VISA并控制自身设备。 若您想详细了解自身设备的通信协议和指令集,请与仪器制造商联系。关于NI-VISA API的详细信息,请参阅 NI-VISA帮助。 您可在NI-VISA或本教程结尾的链接中,查取该文件。通过配置NI-VISA, 控制您的USB设备本节概述的USB RAW设备配置步骤,可令NI-VISA 3.0通过基于Windows的计算机控制USB RAW设备。 若您正使用与USBTMC兼容的设备,请连接自身设备并跳转至2.3节。现在,您应在计算机上安装NI-VISA,但不要连接USB设备。 此外,不应安装任何USB设备的驱动。 您可以通过以下3步,配置USB设备并使用NI-VISA:1.2. 通过“驱动程序开发向导”,创建INF文件。3. 通过INF文件,安装INF文件和USB设备。4. 通过NI-VISA交互式控件测试设备。 本教程根据自身目的,将NI DAQPad-6020E作为USB设备的范例,并将其安装于Windows XP系统。 由于本教程旨在诠释通用USB设备的配置,因此DAQPad-6020E的个别细节不在讨论之列。 请注意:NI-DAQ是DAQPad-6020E所支持的唯一的驱动。2.1. 通过 驱动程序开发向导, 创建INF文件若您想使用NI-VISA,必须首先通知Windows系统将NI-VISA用作设备的默认驱动。 在Windows环境下,您可以通过INF文件实现该目标。 NI-VISA 3.0及更高版本包括:可为USB设备创建NIF文件的“VISA驱动程序开发向导”。1. 打开DDW,选择 开始程序National InstrumentsVISAVISA驱动开发者向导。 图1显示了打开的屏幕。图1. VISA DDW硬件总线窗口您可以通过该向导为PXI/PCI、USB或火线设备,创建INF文件。 由于是为USB设备创建驱动,请您单击 USB 和 下一步。 图2显示了打开的“VISA DDW基本设备信息”窗口。图2. VISA DDW基本设备信息窗口2. 在本步骤中,您必须获知自身USB仪器的厂商ID和产品ID。 当您安装USB设备、标注设备地址,并希望与设备通信时,这些数字可识别出您的USB设备。 依照USB规范,两组数字均为16位十六进制数字,且由设备制造商提供。若您想获知USB的厂商ID和产品ID,可将USB设备插入计算机,令其辨识新设备。 取消并退出可能开启的“发现新硬件向导”。 通过“控制面板”打开“设备管理器(Device Manager)”,从列表中找出USB设备;其位置通常在“其它设备”之下。 若该USB属于未知设备,会出现一个黄色的感叹号。 双击该设备,打开属性。 选择“详细情况”标签,确保属性下拉式列表中显示“设备实例ID”。 图3近似显示了一串字符。VID_和PID_右边的4个字符分别代表您的厂商ID和产品ID。 请您记下这2组设备字符,关闭“设备管理器(Device Manager)”,并从计算机上拔去设备。 或者,您也可以联系设备制造商获取该信息。图3. 从 设备管理器 (Device Manager)上找出厂商ID和产品IDDAQPad-6020E的厂商ID和产品ID分别是:0x3923和0x12C0。 若您的设备不是NI DAQPad-6020E,由于设备不同,你的厂商ID和产品ID也存在差异。注意: 通过“驱动程序开发向导”继续配置以前,您应保证已经从计算机上移除了USB设备。在各个栏目中,相应地输入厂商ID、产品ID、制造商姓名和产品名称。点击 下一步。 图4展现了“输出文件属性”窗口。图4. VISA DDW输出文件属性窗口3. USB仪器前缀(USB Instrument Prefix)就是一种描述符,用来定义USB设备使用的文件。 键入USB仪器前缀(USB Instrument Prefix),选择您希望存放此类文件的目录,并单击 下一步。 接下来的窗口将为您提供安装选项。 默认选项是安装操作系统的设置信息,这通常也是最佳选项。 一旦选择某个选项,请您单击 完成并退出向导。 INF文件根据您在前一个窗口的输出文件目录栏中指定的目录,创建形成。2.2. 安装INF文件和USB设备。INF文件的安装因Windows版本的不同而各有差异。 当DDW创建INF文件时,安装指南便被纳入INF文件顶部的标题中。 采用ASCII文本格式的INF文件,能够接受记事本等各种文本编辑器的读取。 若您想了解INF文件的安装详情,请在文本编辑器中打开INF文件,并依照文件顶部的指南操作。 本教程假设您使用的是Windows XP。1. 将INF文件复制到INF文件夹。 在Windows XP操作系统中,该文件夹通常位于 C:WINDOWSINF。 该文件夹可能被隐藏,这就可能需要您更改自身的文件夹选项以便查看隐藏的文件。 2. 右键单击 C:WINDOWSINF 中的INF文件,并点击 安装。 本过程为您的设备创建出一个PNF文件。 现在,您已做好了安装USB设备的准备。 3. 连接您的USB设备。 由于USB是热插拔,Windows系统可以检测您的USB设备;一旦您将USB设备与USB端口相连,“添加新硬件向导”将自动打开。 依照该向导的屏幕指南。 当您收到为该设备选择一个驱动的提示时,应浏览INF文件夹并选择之前通过DDW创建的INF文件。 2.3. 借助VISA交互式控件, 测试通信。1. 打开Measurement & Automation Explorer。 选择 工具刷新 ,刷新查看内容。 如图5所示,您的USB应当在 设备和接口(Devices and Interfaces) 的下方,作为USB设备列出。现在您经过安装和配置的USB已能使用NI-VISA。若您选择自身的USB设备,“USB设置(USB Settings)”窗口将显示其设备信息。 您可以利用该窗口,对设备的制造商ID、产品代码、序列号等信息进行访问。+ 放大图片 图5. Measurement & Automation Explorer显示的USB设备2. 借助您设备上的VISA仪器描述符,与使用VISA的设备实现通信。 USB INSTR设备的仪器描述符格式是USB板卡: 制造商ID: 产品代码: 序列号: USB接口号:INSTR。 USB RAW设备的仪器描述符格式是USB板卡: 制造商ID: 产品代码: 序列号: USB接口号:RAW。依照USBTMC规范,所有USBTMC设备必须具有一个序列号。 某些USB RAW设备可能没有序列号。 若您的设备没有序列号,NI-VISA将为该设备自动分配一个VISA特定序列号。 序列号的格式为:NI-VISA-#,其中#是一组自动生成的数字。某些USB设备具有多个接口。 这相当于一款PCI设备可以具有多个函数。 若设备仅支持一个接口,您无需包括USB接口号。DAQPad-6020E使用RAW类型,制造商代码和产品代码分别是:0x3923和0x12C0。 针对DAQPad-6020E的仪器描述符是USB0:0x3923:0x12C0:00B50DAE:RAW。若您想使用该设备测试通信,请打开Measurement & Automation Explorer。 选择 工具NI-VISA交互式控件。 图6近似地显示出一个打开的窗口。图6. VISA交互式控件3. VISA交互式控件 (VISAIC)是一项可与所有VISA资源进行轻松交流的实用程序。 USB分支中会列出经配置可以使用VISA的USB设备。 双击您的设备,打开设备的VISA会话。 图7显示出一个打开的窗口。+ 放大图片图7. VISA交互式控件开启VISA会话当您通过VISAIC打开“VISA会话”时,“模板”标签和“属性节点(设置)”标签被自动选定。 若您想读取属性,可以选中“属性节点(获取)”标签,选择希望读取的属性并点击 执行。 当前值 指示器将显示属性名称中指定属性的当前值。 如图7所示, 资源名称 属性被读取。更多关于VISAIC的使用信息,请参阅 Developer Zone: VISA交互式控件 (VISAIC)。 若您想了解有关NI-VISA API的信息,请审阅NI-VISA 帮助。 两者可通过本教程结尾的链接获得。 您可以和仪器制造商联系,获得关于自身USB仪器的有效指令列表。通过使用NI-VISA, 与您的USB设备通信本节诠释了如何通过NI-VISA 3.0及更高版本,与您的USB设备通信。 回顾:USB设备具有2种类型。 通信方式取决于您的设备类型。3.1 USB INSTR类型 (USBTMC)符合USB测试和测量类型 (USBTMC)的设备采用NI-VISA USB INSTR类型。 这些设备采用488.2类型的通信。 针对这些设备,您只需借助“VISA打开 (VISA Open)”、“VISA关闭 (VISA Close)”、“VISA读取 (VISA Read)”和“VISA编写 (VISA Write)”函数,采用与GPIB仪器一样的通信手段。图8显示了与USBTMC设备通信的LabVIEW VI。 在该范例中,针对USB设备的VISA会话被打开。 指令被写入设备,响应被读回。 如本例所示,正在接受传送的特定指令是针对设备的ID查询。 您可与设备制造商确认自身设备的指令集。 所有通信结束之后,VISA会话关闭。图8. USBTMC LabVIEW范例程序框图3.2 USB RAW类型与USB RAW类型的通信更为复杂,因为每款设备可使用各自的通信协议。 若您想详细了解自身设备的通信协议,请与仪器制造商联系。USB利用4类通道或端点,实现通信。 控制端点、批量端点、中断端点和同步端点。 每类通道传输一种不同类型的信息。 此外,任一端点号码可属于任一端点类型。 您可以将端点视为通信插槽。 若您想详细了解关于USB架构的内容,请审阅以下有关USB规范的链接。NI-VISA支持3类USB通道: 控制端点、批量端点和中断端点。 一旦NI-VISA检测出您的USB仪器,将自动扫描您的仪器,查找各类型当先最低的端点。一旦VISA检测出当先最低的端点,便将这一数值分配给合适的VISA属性。 批量输入端点和批量输出端点被分别储存在“VI_ATTR_USB_BULK_IN_PIPE”属性和“VI_ATTR_USB_BULK_OUT_PIPE”属性中。 中断端点被储存在“VI

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论