当前位置:首页 > 测试测量 > 测试测量
[导读]引言通用串行总线USB(UNIversal Serial Bus)作为一种新型的数据通信技术,具有即插即用、支持热插拨、易于扩展、传输速度快、性价比高等优点;短距离无线通信技术是未来计算机和外设间进行数据传输的发展趋势,它具有

引言

通用串行总线USB(UNIversal Serial Bus)作为一种新型的数据通信技术,具有即插即用、支持热插拨、易于扩展、传输速度快、性价比高等优点;短距离无线通信技术是未来计算机和外设间进行数据传输的发展趋势,它具有分布灵活、使用简单、几乎不受空间条件限制等特点。USB紧跟通信技术的无线化趋势,2004年,惠普、英特尔、微软、NEC、飞利浦半导体、三星电子等多家大公司成立了WUSB(WirelessUSB)的促进联盟,旨在将USB的使用变得更加简单,实现无线化。Cypress公司推出了低成本的芯片级远距离2.4 GHz射频系统一一WirelessUSBLR方案,与ZigBee和蓝牙等复杂且昂贵的无线网络方案相比,WirelessUSBLR凭借其出色的远程无线通信能力和低廉的系统成本,将无线系统的应用扩展到建筑、家庭自动化、工业控制、医疗检测、传呼系统和显示设备等领域。所以说,如果将无线和USB完美结合,在保证数据采集速率的前提下,可以使得数据传输更加方便,与PC接口也更加简单。

通常开发USB系统时,先用Windows DDK(设备驱动程序开发包)或第三方开发工具(如Driver Studio)开发USB驱动程序,然后用Visual C++编写DLL(动态连接库),最后再调用DLL来开发应用程序,这对不熟悉Win—dows编程的人有一定的难度;而USB应用程序也大都是使用 Visual C++来编写的,过程繁琐,调试麻烦,花费的时间也比较长。

美国国家仪器NI(National Instlrument)公司开发的LabVIEW(Laboratory Virtual Instrument Engineering Workbench)语言是一种基于图形程序的编程语言,含有丰富的数据采集、数据信号分析以及控制等子程序,易于调试和维护,且程序编程简单、直观。可以直接在LabVIEW环境下通过NI一VISA(Virtual Instlrument Software Architecture,以下简称为“VISA”)开发驱动程序,完全避开了以前开发USB驱动程序的复杂性,大大缩短了开发周期。用它来开发应用程序,把采集来的数据传送到主机上,再通过LabVIEW的模块实现数据的实时显示、分析和存储。

本设计将利用Cypress公司的CYWUSB6935来实现无线USB的高速数据传输系统,通过LabVIEW来简化开发过程,缩短开发周期。

1无线USB与LabVIEW概述

1.1无线USB和CYWUSB6935芯片

无线USB技术是一个全新的通信标准。它通过USB接口和最先进的无线通信技术扩展了设备之间的连通性,最基本的工作原理是发送和接收脉冲间隔严格受控于高斯单周期超短时脉冲;具有传输速度快、功耗小、移植方便、安全性高等优点;最大的特点是传输速率高,3 m距离的最大传输速率达480 Mbps,其性能与现有的USB2.O相同。虽然在传输距离上,WUSB性能没有达到USB2.0所规定的最长5 m的距离,但对置于计算机周围的设备来说,3 m的距离已经足够了。一般情况下,通信距离越长,速率越慢;因此WUSB规定10 m的传输速率为110 Mbps。10 m足以覆盖当前家庭的居室,此距离的速率已经超过了目前的WLAN。

无线USB和有线USB2.0一样,它也能处理4种传输形式,即控制传输、块传输、中断传输、同步传输。主机和无线USB设备合称WUSB集群,采用星型拓扑,不需要WUSB集线器,WUSB主机能直接连接多达127个设备。主机支持8种数据速率:53.3 Mbps、80 Mbps、106.7Mbps、200 Mbps、160 Mbps、320 Mbps、400 Mbps和480Mbps。设备必须支持3种数据速率53.3 Mbps、106.7Mbps、200 Mbps,其他5种为可选数据率。

针对无线传输的现状,Cypress公司推出了低成本、高集成度的芯片CYWUSB6935,CYWUSB6935芯片结构框图如图1所示。

CYWUSB6935内部集成了串行数据接口(SPI)、串并/并串转换器(SERDES)、综合器(synthesizer)、2.4 GHz的射频收发器;采用高斯频移键控调制解调器(GFSKModem)和直接顺序扩展频谱(DSSS)数字基带模块;用户可以通过控制信号灵活地设置射频和数字基带部分。为了进一步优化性能,CYWUSB6935将49个扩频编码调制到78个1 MHz宽度的频率域上,从而在理论上可以为用户提供3 822个独立的频道,让每个主系统能够连接多组外围设备,且通信距离可达到50 m或更远。

WUSB6935有4种工作模式:64 chips/bit单通道、32chips/bit双通道、32 chips/bit单通道双倍采样和32chips/bit单通道双倍数据速率。该系统选用32 chips/bit单通道双倍采样。模式选择通过配置REG—DATA—RATE(0X04)来实现。接收和发射均采用中断的方式。中断的方式有3种:发射中断、接收中断和唤醒中断。这些中断共用一个IRQ引脚。配置REG(0XOD)使得发射中断使能,将要发送的数据送到数据发送寄存器(0XOF),数据便通过RFOUT引脚发送出去。接收中断使能寄存器为REG(0X07),通过读取中断状态寄存器REG(0X08)可以确定中断类型,然后从相应的数据接收寄存器中获得相应通道的数据。

1.2LabVIEW和NI VISA

LabVIEW是美国国家仪器NI公司开发的一种基于图形程序的编程语言,广泛应用于数据采集与控制、信号处理以及数据表达等方面,它提供了一种全新的编程方法,即对软件对象“虚拟仪器(VI)”进行图形化的组合操作。LabVIEW程序的执行顺序是按数据流的方式确定的,可以实现多任务的并行。用户通过创建和调用子程序的方法编写程序,使创建的程序模块化,而且程序简单、直观。

LabVIEW的应用程序,即虚拟仪器(VI),包括3部分:前面板(front panel),是LabVIEW程序的图形用户界面,用于设置输入数值和观察输出量,相当于传统仪器的面板;框图程序(block diagram),提供VI的图形化源程序,是利用图形语言编程控制和定义在前面板上的输入和输出功能;图标/连结器(icon/connector),用于把Lab—VIEW程序定义成一个子程序,从而实现模块化编程。

NI—VISA也是NI公司开发的一种用来与各种仪器总线进行通信的高级应用编程接口(API)。VISA总线I/0软件是一个综合软件包,不受平台、总线和环境的限制,可用来对USB、GPIB、串口、VXI、PXI和以太网系统进行配置、编程和调试。本文介绍的高速数据传输系统采用它开发USB驱动,大大简化了开发过程。

2无线USB高速数据传输系统的设计

该无线USB数据传输系统构成如图2所示。

2.1系统硬件设计

该系统使用了128引脚的CY7C68013单片机以及CYWUSB6935射频模块,其硬件设计框图如图3所示。

CY7C68013是Cypress公司的EZ—USBFX2系列芯片。其芯片固件存储在主机上而不是在芯片内部,显著特点是代码升级容易。该系列芯片集成了USB2.O收发器、串行接口引擎(SIE)、带 8.5 KB片上RAM的增强型8051、16 KB的RAM、4 KB的FIFO存储器、I/0口、数据总线、地址总线和通用可编程接口(GPIF)。CYWUSB6935的SPI四个引脚(MOSI、MISO、SS、 SCK)支持两种传输模式——单字节模式和序列多字节模式。为了提高传输效率,本系统采用序列多字节模式。

2.2系统软件设计

数据传输系统软件设计分为3部分:设备固件程序、驱动程序以及应用程序,如图4所示。

设备固件(firmware)程序在主机上调试编译完后,枚举时下载到RAM内,它使得USB接口芯片与主机和外设中的其他电路能够通信,因此固件程序包括响应主机要求部分和控制外设部分。利用Cypress公司提供的固件框架来开发固件,可以简化固件开发过程。

驱动程序是LabVIEW与USB接口的驱动程序,应用程序通过驱动程序与系统USBI(USBDevice Interface)进行通信,由系统产生USB数据的传送动作;固件响应各种来自系统的USB标准请求,完成数据的交换工作和事件处理。

2.2.1 设备固件程序设计

Cypress公司提供了固件框架来开发框架,在Keil C51下开发,该框架主要由以下几部分组成:

①FW.C中包含程序框架的MAIN函数,由于Cy—press公司已经精心划分了这部分的功能,所以一般不用改动。

②PERIPH.C是用户函数挂钩的相关定义,这部分需要根据自己系统的需要实例化这个文件,以实现特定的功能。

③TD_Init函数是在设备重枚举和任务调度启用之前调用,用来初始化用户的全局状态变量,并负责对USB端点进行初始化设置。在本设计中将端点2设置为1 024个字节,4重缓冲,自动输入模式。

④TD_Poll函数是系统中循环任务的处理函数,主要负责对各个端点的状态进行查询,处理各种IN和0UT端点的交互。

⑤Ezusb.lib和USBJmpTb.OBJ分别为EZUSB函数库的二进制文件和USB的中断向量表。

⑥DSCR.a51是描述符文件,包括标准设备描述符、类描述符和用户指定的描述符。

2.2.2LabVIEW中调用VISA

当进行USB通信时,VISA提供了两类函数供Lab—VIEW调用:USBINSTR设备与USBRAW设备。USBINSTR设备是符合USBTMC协议的USB设备,可以通过使用USBINSTR类函数控制,通信时无需配置VISA;而USBRAW设备是指除了明确符合USBTMC规格的仪器之外的任何USB设备,通信时要配置VISA。该系统是USBRAW设备,故需要配置VISA。配置VISA的步骤如下:

①使用Driver Development wizard(驱动程序开发向导)创建INF文档。打开VISA Driver Developer Wizard,然后选择USB,进入VISA DDW基本设备信息窗口(在这一步确认USB设备的供应商ID和产品ID),接下来填写USB仪器前缀,用来识别本设备所用的相关文档,这时INF文档就被保存到指定的位置。

②安装INF文档及使用INF文档的USB设备。

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

USB设备安装完毕后,就可以与VISA进行简单的通信。VISA支持3种类型的USB管道:控制、批量和中断。VISA探测到USB仪器时,会对仪器进行自动扫描,寻找各种类型的最低可用端点。VISA探测到最低可用端点后,即将该值赋予适当的VISA属性。bulk in端点和bulk out端点分别存储在VI_ATTR_USB_BULK_IN_PIPE属性和VI_ATTR_USB_BULK_OUT_PIPE属性之中。 interrupt in端点存放在VI_ATTR_USB_INTR_IN_PIPE属性之中。如果值为一1,则表示USB设备不支持这种类型的管道。对于控制型管道,只有端点O才受到支持。在LabVIEW中,应使用“Write VISA Property(写入VISA属性)”节点。VI-SA有4种通过USB管道传输数据的功能。在能够使用这些功能与设备进行通信之前,还需要使用 VISAUSB属性建立通信协议。使用VISAUSBContro1 In和VISAUSBContro1 0ut来控制管道传输数据,并用此来获得USBRAW设备的各种描述符。另外使用VISA Read和VISAWrite选择批量管道来传输目标数据。通过上述方法成功实现了LabVIEW与USB驱动程序的数据交换,从而实现了以LabVIEW为平台的无线USB高速数据传输系统。

结语

实验证明,采用无线USB系统进行数据传输,将USB接口和短距离无线通信的优点有机地结合起来,不仅能实现较高的数据传输率,而且改变了数据的传输方式,由传统的有线传输改为无线传输,使传输系统更加方便、可靠、高速。除此之外,无线USB凭借其完美的性能和低廉的成本,可以满足无线领域中非网络端的需求,将成为未来无线通信的主流。采用基于NI—VISA驱动USB接口和LabVIEW开发应用程序的设计方法,降低了开发难度,缩短了开发时间,使得该系统性价比较高,通用性较好。随着USB技术和短距离无线通信的进一步发展,WUSB会表现出更好的性能,应用范围将日趋广泛。集成了无线USB接口和LabVIEW语言的数据传输系统具有广阔的发展前景,易于开发、数据处理简单。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

NI提供的软件包经济省时,不仅帮助开发人员节省时间,还为创客提供了新的机遇

关键字: LabVIEW 自动化测试系统

强大的图形化编程工具使整个测试和测量过程的各个方面实现可视化

关键字: LabVIEW 图形化编程工具

摘要:对于每一型新机试飞,或者是重大的研究性试飞和验证试飞,都必须实施遥测监控。现基于TTS(TextToSpeech)语音合成技术,结合飞行试验遥测监控系统的不足,利用TTS引擎在LabVIEW开发环境下设计并实现了遥...

关键字: 飞行试验遥测监控系统 TTS LabVIEW

在科研以及应用软件领域,LabVIEW和MATLAB作为比较常用的2款工具,相信很多人都用过吧。简单的概括一下,LabVIEW侧重测试测量和数据采集,MATLAB侧重科学计算和数据分析。

关键字: LabVIEW matlab 混合编程

摘要:利用单片机和虚拟仪器LabVIEW在PC端设计了温湿度测量及控制系统,用于温湿度数据监测。该系统上位机为PC端监控界面,下位机为单片机,单片机采集温湿度数据,并将采集到的数据通过串口发送给监控界面进行监测和管理。该...

关键字: DHT11 LabVIEW 单片机

摘要:当前闭环步进电机在自动化设备中的应用越来越广泛,故为了进一步满足闭环步进电机的应用需求,采用LabVIEW上位机+运动控制卡+驱动器模块的控制方案进行了多轴运动系统的设计,通过设计的上位机软件实现闭环步进电机的实时...

关键字: 闭环步进电机 精度测试 LabVIEW

摘要:为满足某扭矩检测试验标准要求,基于LabView设计开发了一款扭矩检测装置,该装置能检测某类零部件的断裂力矩,满足试验标准要求,其他零部件的扭矩也可在该装置上检测。类似的扭矩装置可参考该装置进行设计。

关键字: 伺服电机 LabVIEW PLC

摘要:换流站是直流输电系统的重要组成部分。由于在设计时无法实现对站内设备全方位监控,因此对部分设备隐患,如端子排发热等无法进行不间断监控,影响设备正常运行。现基于低功率433MHz模块,配以不同的信号增益方案,设计出了一...

关键字: 433MHz模块 数据传输系统 不间断监控

在下述的内容中,小编将会对LabVIEW的相关消息予以报道,如果LabVIEW是您想要了解的焦点之一,不妨和小编共同阅读这篇文章哦。

关键字: LabVIEW 测试测量 NI

一直以来,LABVIEW都是大家的关注焦点之一。因此针对大家的兴趣点所在,小编将为大家带来LABVIEW的相关介绍,详细内容请看下文。

关键字: LabVIEW 测试测量 测试仪器
关闭
关闭