自-LabVIEW与USB的直接数据通信

上传人:熠*** 文档编号:184101560 上传时间:2021-06-17 格式:DOC 页数:6 大小:88.50KB
返回 下载 相关 举报
自-LabVIEW与USB的直接数据通信_第1页
第1页 / 共6页
自-LabVIEW与USB的直接数据通信_第2页
第2页 / 共6页
自-LabVIEW与USB的直接数据通信_第3页
第3页 / 共6页
自-LabVIEW与USB的直接数据通信_第4页
第4页 / 共6页
自-LabVIEW与USB的直接数据通信_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《自-LabVIEW与USB的直接数据通信》由会员分享,可在线阅读,更多相关《自-LabVIEW与USB的直接数据通信(6页珍藏版)》请在金锄头文库上搜索。

1、LabVIE与UB的直接数据通信廖传书,黄道斌,孙旦均,李素芬(武汉理工大学信息工程学院 湖北武汉 307)引 言LaVIEW是一种基于图形程序的虚拟仪器编程语言,在测试与测量、数据采集、仪器控制、数字信号分析、工厂自动化等领域获得了广泛的应用。LaVIEW程序采用方框图编程,具有友好的人机界面,在前面板中有用于模拟真实仪器面板的控件可供调用,可用于设置输入数值、观察输出值以及实现图表、文本等显示。实现abVEW对数据的采集和处理,传统的是采用数据采集卡,但是这些数据采集设备存在安装不便、价格昂贵、受计算机插槽数量、地址、中断资源的限制,可扩展性差,同时在一些电磁干扰性强的测试现场,可能无法专

2、门对其做电磁屏蔽,从而导致采集的数据失真。在LabW下使用UB总线,可以同样实现数据采集,并且弥补了采集卡的不足。传统的用LaVIEW读写UB设备的方法是:先用V+或Dlph编写动态链接库LL文件,在DLL中通过调用W I函数读写SB设备的数据,并存在缓冲区中,在LVIE中通过对DLL文件的调用提取缓冲区中的数据。介绍了在LabVIW下,通过调用I-VSA子程序控件,实现与USB设备的直接通信,避免了二次编程的麻烦和数据的中转。2 USB底层驱动程序设计US底层驱动开发工具有WinsD和第三方开发工具,如rve stui和 Win divr等,但是使用这些工具开发驱动难度大、效率底。在这里,介

3、绍如何借用LabVIEW的N-IS子程序控件作为SB的底层驱动。VSA(ita Instrent Sotwa Architecte,i.cornia)是一个用来与各种仪器总线进行通讯的高级应用编程接口(API)。他不受平台、总线和环境的限制。通用串行总线(US)是一个基于信息的通讯总线。这表示P机与UB设备通过发送指令和数据进行通讯,而这些指令和数据是通过总线以文本或二进制数据的形式发送的。每个UB设备都有各自的指令集。可以使用N-VISA的读写功能向仪器发送这些指令,并读取仪器的反馈。I-VIA从30版开始支持UB通讯,他有2种VISA类函数(esorce Class),可以控制类SB设备:

4、USB INSTR设备与SB RA设备。符合SB测试和测量类(USBTMC)协议的S设备可以通过使用S INTR类函数控制,他们使用488.2标准通讯。对于这些设备,只需以与GPB仪器通讯同样的方式,使用VA Open,VS Close,VISA Read和VAWrite功能。SC设备符合IA USBINSTR类函数能够理解的协议。SBC设备相对来说控制较为复杂,因为每个设备可以使用各自的通信协议,而这些通信协议一般都是由设备的生产厂家自定的。为了使用NI-VSA,必须先让Widos将I-VI-SA作为设备的缺省驱动程序使用。在Windows环境中,可以通过INF文档做到这一点。N文件是系统硬

5、件设备配置文件,USB驱动程序通过F文件中的ID(产品识别号)和VID(厂商识别号)识别US设备。NIVISA3中包含的VA DrivDeelopmet Ward(D)可以为USB设备创建一个INF文档。下面简单介绍创建INF文档的过程:(1)在安装了NI-VISA后,启动VISA rier Devl-opmnt Wiz程序,出现了为XI/PCI或USB设备创建一个NF文档的向导,选择USB设备,点NEX,出现VISA DDW基本设备信息窗口。(2)进行这一步时,需要清楚USB的PD和ID。这些数字可以在安装USB设备的时候对其进行确认,并在想要与设备通讯的时候,寻找他的地址。依据UB的规格,

6、两个数字都是16位1进制数字,并应该由设备制造商提供。例如在后面介绍基于US的虚拟示波器用到USB接口芯片DUSBD12的PID和VID分别是0x1和0x066;这一步设置完成后,点击NE,进行最后一步的设置。 (3)UB Instment Prefix(USB仪器前缀)只是一个描述符,可以用他来识别本设备所用的相关文档。在USBIstrumen Preix中输入相应信息,并在utput中选择存放这些文档的目录,然后点击Fins。F文档就被建好并保存至指定的位置。这时候,只要复制生成的INF文件夹到系统盘Wi-dws文件夹下INF文件夹,点击右键,安装即可。这时,插上S设备,Windows系统

7、就能探测到,并根据INF硬件配置文件选择NI-IS作为底层驱动程序。在LaVIE中,只需调用N-VISA的相关控件,即可实现对SB设备的读写操作。 LaVIW驱动程序编写强大、灵活的仪器控制功能是LabEW区别于其他编程语言的主要特点。LabVIE不仅提供数百种不同接口测试仪器的驱动程序,而且还支持VISA,SPI和VI等最新的程控软件标准,为用户设计开发先进的测试系统提供了软件支持。VIS是用于仪器编程的标准IO函数库及相关规范的总称,一般称之为SA库。VIA库驻留于计算机系统中,是计算机与仪器之间的软件层连接,用以实现对仪器的程控。对软件开发者来说,他是一个可调用的操作函数集,他本身不提供

8、仪器编程能力,只是一个高层AI(应用程序接口),通过调用底层的驱动程序来控制仪器设备。NI-VISA支持种类型的U管道:控制、批量和中断。NI-ISA探测到S仪器时,他会对仪器进行自动扫描,寻找各种类型的最低可用端点。如使用NVI-SA中的VISA UCtrol n和VISSBonro ut来通过控制型管道传输数据,使用VISA Rea和VISAWrit来通过批量型管道传输数据。 作为仪器/O函数库,VISA编程与传统的IO软件编程基本相同,主要通过设备I/端口的读写操作和属性控制,实现与仪器的命令与数据交换。LabVIEW中所有的VISA节点均在uncon模板ll ucts子模板trumeI

9、O子模板ISA子模板中。在这里,只用到了ISA Open,VIS Close,VISAWrite和VISARead四个节点即可实现和USB设备的双向通信。当完成对USB设备的IN硬件配置后,就可以用ISA pen节点打开该资源,建立计算机与这些VI资源的通信管道;与ISAOpn节点相反,ISA se节点用于将打开的VISA资源关闭;VIS Wri节点的功能是将rtebfer端口输入字符串数据发送到仪器中;VISA ead节点的功能是从仪器中读出数据;介绍完上面的4个节点,就可以用上面4个节点实现LbVIW对US批量数据收发,如图1所示。当然,这需要前述NF文件的支持和与US接口的单片机程序的支

10、持,在图1中VSA eorc ae端口用于指定需要打开的VISA资源的名称,实际上就是前面生成NF配置文件中的VISA资源仪器描述符。这里,向USB发送字符串“connecttest”,连接测试,单片机通过USB接口芯片将发送过去的数据回传给LbVIE。在前面板的rea bufer显示框中能显示出“conectest”字符串。4 基于IJSB的虚拟示波器的实现本系统为在LbVIEW中实现示波器的功能。单片机对向USB示波器调理电路输出的信号进行96 (多档可调)的高速连续A采样,并将采样到的数据通过B口传给PC机的LaVIEW,LbVlW对USB口传来的数据进行处理、测量、波形还原和显示等相关

11、操作。虚拟示波器的程序运行界面如图2所示,当前输入的是2.001 kHz的正弦波信号,在软件中显示的波形以及测量结果与实际示波器上 得到的结果基本无异。在该程序模块中,通过调用Lab-VEW的相关控件,实现了对输入的模拟信号的波形还原显示、频率测量、峰值测量、直流漂移测量等操作。 系统采用单片机和Philip公司生产的DIUSB12芯片构成USB设备。由单片机实现AD采样,经SB接口完成采样数据的传输。单片机的电路设计和软件构成在这里就不做详细介绍。此系统硬件部分SB接口芯片采用的DIUSBD12,他支持批量数据的长度为4B,所以就以4B为一帧进行数据和命令的收发。在系统启动即检测U设备是否连

12、接正常,正常才启动检测,否则提示连接不正常。当启动检测时,USB总线上的数据的传输过程遵循以下步骤:(1)LabVIEW向US设备发送启动控制命令帧,其中包含采样频率、存贮深度、持续时间等相关内容。由于控制命令字不满64B,其他部分进行比特填充。()单片机通过SB接口芯片接收到控制命令,即按要求开始启动采样。若为大于8k高速采样命令,则进行连续采样,将采样的数据存贮在数据缓冲区中,采样结束后,将数据缓冲区中的数据进行0B每帧的拆分,并在60B数据的前面加上4个字节的数据帧编号等相关内容,通过USB总线将这些数据帧批量传输给LabEW。(3)若为小于8k的低速采样命令,则进行中断采样,将采样的数

13、据存储在一个队列中,在采样过程中,若采样的数据多于60B,即在主程序中取出队列中个字节数据并封装成数据帧,启动U数据的传输过程。采样过程直至LaVI向S设备发送停止命令帧。(4)在一次数据采样结束后,LVEW向USB设备发送启动控制命令帧即可马上进行再次采样。5 结 语用户可以根据不同的环境和要求选择不同的通信方式,在低速的情况下可以采用串口,并口等方式,高速数据采集可以采用US口,专用数据采集卡等,使用USB20协议的芯片支持的批量的数据帧长度可以达到512B,并且有更高的数据传输速度。介绍了在abW中实现US通信的设计方法,并给出具体的设计步骤和方框图程序。该方法具有硬件接口简单、软件编程方便、实用的特点,在实际数据采集过程中具有一定参考价值。本文摘自现代电子制作

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 社会学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号