微波EDA网,见证研发工程师的成长!
首页 > 通信和网络 > 通信网络技术文库 > 基于LabVIEW的无线USB高速数据传输系统

基于LabVIEW的无线USB高速数据传输系统

时间:04-02 来源:互联网 点击:
2 无线USB高速数据传输系统的设计

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



2.1 系统硬件设计

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

CY7C68013是Cypress公司的EZ—USB FX2系列芯片。其芯片固件存储在主机上而不是在芯片内部,显著特点是代码升级容易。该系列芯片集成了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(USB Device 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.2  LabVIEW中调用VISA

当进行USB通信时,VISA提供了两类函数供Lab—VIEW调用:USB INSTR设备与USB RAW设备。USBINSTR设备是符合USBTMC协议的USB设备,可以通过使用USB INSTR类函数控制,通信时无需配置VISA;而USB RAW设备是指除了明确符合USBTMC规格的仪器之外的任何USB设备,通信时要配置VISA。该系统是USB RAW设备,故需要配置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管道传输数据的功能。在能够使用这些功能与设备进行通信之前,还需要使用 VISA USB属性建立通信协议。使用VISA USB Contro1 In和VISA USBContro1 0ut来控制管道传输数据,并用此来获得USBRAW设备的各种描述符。另外使用VISA Read和VISAWrite选择批量管道来传输目标数据。通过上述方法成功实现了LabVIEW与USB驱动程序的数据交换,从而实现了以 LabVIEW为平台的无线USB高速数据传输系统。

结语

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

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top