基于USB总线的虚拟仪器设计

(整期优先)网络出版时间:2019-05-15
/ 2

基于USB总线的虚拟仪器设计

洛桑旺堆

洛桑旺堆

(西北民族大学数学与计算机科学学院,兰州730000)

摘要:本文对虚拟仪器的概念和基本分类进行了论述,对基于USB总线的虚拟仪器设计进行了探讨,并从硬件系统设计及软件系统设计两个方面进行了详细分析。

关键词:USB总线;虚拟仪器;设计

中图分类号:TP333.96文献标识码:A文章编号:1007-9599(2010)05-0000-01

DesignofVirtualInstrumentagainstUSB

LuosangWangdui

(NorthwestUniversityforNationalities,MathematicsandComputerScienceCollege,Lanzhou730000,China)

Abstract:Thepaperelaboratedontheconceptionandtypeofvirtualinstrument,andprobedintothedesignofvirtualinstrumentbasedonUSB,andgivenadetaildiscussionontheconstructionofthehardwareandtechniquesofthesoftware.

Keywords:USB;Virtual;Instrument;Design

一、虚拟仪器概述

虚拟仪器是基于计算机的信号测量技术,最早由美国国家仪器公司提出。1986年,NI公司提出“软件即仪器”的口号,打破了传统仪器的设计思想[1]。与传统仪器相比,虚拟仪器在各个方面都具有明显的技术优势。根据采用的总线标准,虚拟仪器可分为PCI总线式虚拟仪器、VXI总线式虚拟仪器、PXI总线式虚拟仪器等。自USB2.0总线协议推出后,USB2.0总线就以其便携、快速、即插即用等优点得到了迅速的推广应用,将USB总线技术与虚拟仪器的设计相结合得到了众多仪器开发商的广泛关注。

二、USB总线式虚拟仪器系统的主要设计

(一)USB总线概述

USB就是通用串行总线,以其方便、快捷、传输速率高等优势受到广大计算机用户的青睐,并得到迅速的推广应用。USB通过四芯电缆来传输信号,VBUS、GND提供了+5V电源,D+、D-是一对差模信号线,如图1所示。

图1USB电缆

USB总线有四种传输方式,分别为控制传输、中断传输、同步传输和批传输。每种方式对应各自的通道。USB的信息传输以事务处理的形式进行,每个事务处理一般由3个信息包组成:标志包、数据包、握手包。USB协议规定了5类描述符,分别是设备描述符、配置描述符、接口描述符、端点描述符和字符串描述符。用来提供必须的信息来识别设备,同时指定端点和端点的功能[2]。

(二)USB总线式虚拟仪器系统的硬件系统设计

USB总线式虚拟仪器系统的硬件系统设计需要满足以下基本要求:具有良好的通用性和扩展性、具有稳定可靠的性能和具有较强的抗干扰能力。在遵循以上要求的基础上,USB总线式虚拟仪器系统的硬件系统主要由计算机模块、USB接口模块、干扰抑制模块、单片机模块及被测设备模块组成,其组成框图如图2所示。

图2硬件系统总体框图

其中:计算机模块是虚拟仪器系统强大的数据处理中心,也是软件系统的平台;USB接口模块是与计算机进行数据通信的核心,负责USB协议的转换,将接收到的数据及控制信息传送给后面的单片机模块;干扰抑制模块用来抑制USB数据总线上的电气噪声,保证数据的可靠性传输;单片机模块是测控的核心,通过编写固件程序来完成系统的功能设计要求;被测单元模块是虚拟仪器技术应用的平台。

(三)USB总线式虚拟仪器系统的软件系统设计

驱动程序是开发计算机外围设备软件的关键部分,只有通过驱动程序,计算机才能识别接入的外围设备。USB驱动程序由总线驱动程序和功能驱动程序组成。可以采用微软的驱动程序模型WDM来开发驱动程序。在WDM驱动模型中,USB总线驱动程序由操作系统提供,负责与硬件打交道,USB设备开发者只需编写功能驱动程序。功能驱动程序通过向总线驱动程序发送IRP,来实现对USB设备信息的发送和接收。USB驱动程序通常由即插即用PnP模块、初始化模块、I/O模块和电源管理模块等组成。

固件程序辅助控制芯片及单片机完成通信及数据处理任务,以实现系统的预期功能。编写固件所要完成的工作有以下几点:(1)初始化工作,包括设置一些特殊功能寄存器初始值以实现所需的设备属性或者功能。(2)辅助硬件完成设备的重新列举过程,包括监测设备的断开与连接,对接收到的设置包进行分析判断,从而对主机的设备请求做出适当的响应,完成主机对设备的配置任务。(3)对中断的处理。(4)数据的接收与发送。(5)外围电路的控制。

应用程序是系统的虚拟仪器面板,是用户进行具体功能应用的操作界面。应用程序设计主要包括两部分:驱动层与应用层通信模块及面板功能控制模块。驱动层与应用层通信模块主要是用来实现应用程序与USB设备驱动程序之间的底层通信。在WINDOWS系统中,应用层与驱动层完成通信实现I/O操作,主要是通过调用WIN32系统的API函数。功能模块也就是虚拟仪器面板模块,主要是用来实现用户对USB设备的控制操作。用户可针对不同的应用来设计不同的操作界面,利用计算机的多媒体处理能力使系统操作变得更加直观、简便、易于理解,大大提高系统的可操作性。

三、结束语

随着计算机技术的发展,虚拟仪器以特有的优势广泛应用于各个领域。USB总线具有方便、快速、价廉和即插即用等优点,为虚拟仪器的发展及应用开辟了新的空间,为研制低成本、便携式虚拟仪器开辟了新的途径。

参考文献:

[1]乔建良,黄大勇.虚拟仪器的现状及应用前景[J].信息技术,2002,10:94~95

[2]边海龙,贾少华.USB2.0设备的设计与开发[M].人民邮电出版社.2004