齐 洋,张立强
(中国电子科技集团公司第四十七研究所,沈阳110032)
USB数据采集系统研究与设计
齐 洋,张立强
(中国电子科技集团公司第四十七研究所,沈阳110032)
数据采集技术是一门综合应用技术,主要研究信息数据的采集、存储、处理以及控制等,具有很强的实用性。USB技术以其支持热插拔和即插即用、占用系统资源少等特点迅速得到广泛应用。USB2.0凭借其480Mbps的理论传输速度,更是得到了人们的青睐。结合当前国内外USB接口技术的研究现状,深入研究了USB的体系结构。硬件部分具体描述了USB2.0单片机C8051F340的接口设计。在软件部分,使用CygnaVSilicon公司的USBXpress软件开发包,该开发包针对C8051F340等器件的USB接口编程设计,提供了完整的上位机与下位机软件解决方案。其中上位机客户应用程序是与用户交互的一个窗口,用于完成接收并显示从硬件传递过来的数据。
数据采集;USB体系结构;USB接口编程;上位机;下位机
在科学研究行业中,数据采集已经成为获取信息的重要手段。目前数据采集系统多以PCI,ISA或EPP/ECP等方式完成数据传输,这些方式开发调试比较困难,安装不便,通用性和可移植性差。目前广泛应用的USB总线接口具有安装方便、高带宽、易于扩展等优点[1],USB2.0的传输速率可达到480Mb/s,已逐渐成为现代数据传输的重要手段。
数据采集系统在总体上分为硬件和软件两大部分。硬件部分主要包括芯片选择、数据采集和传输电路以及电源转换电路等。软件部分主要由三部分组成:USB固件程序(Firmware)、USB设备驱动程序以及应用程序,三部分程序之间相互协作来完成整个采集系统的功能[2]。
由于C8051F340芯片在USB接口上特有的优势和特点,使得硬件接口设计变得非常简单,不需要再添加额外的电子元器件,就能实现USB的数据传输与控制[3]。通过标准JTAG接口,实现下位机和上位机硬件连接,完成系统通讯的硬件通路。如图1所示。
图1 C8051F340的USB通信电路
设计中C8051F340的固件开发使用了Cypress开发包和Keil C。因为C8051F340支持系统调试,极大简化了测试与开发流程。
在编译环境下,用USBXpress工具包中的API函数设计设备端的USB通信,前提是在工程中添加C8051F340.h、USB_API.h和USBX_F34X.LIB文件(USBXpress工具包提供相关文件)。所用到的设备接口函数主要有:
应用程序是直接面对用户,由用户对设备进行操作的程序,通过该程序,用户可以进行设备已经定义的操作,完成设备的功能和任务。因此,应用程序不仅要能实现系统的既定功能,还要简捷和美观。对于论文所设计的数据采集系统来说,要想把采集到的数据通过USB接口传入计算机,除了前面介绍的内容外,还需要有客户应用程序的支持。它是与用户交互的一个窗口,用于完成接收并显示从硬件传递过来的数据[4]。图2为整个数据采集和处理过程流程图。
图2 数据采集系统框图
上位机软件在Visual C++6.0环境下开发,通过主机(上位机)的API函数调用动态连接库文件SiUSBXp.dll,启用应用程序与设备驱动程序之间的通信,从而实现上位机与下位机之间的数据通信。
4.1 程序接口
用户应用程序采用C++语言编写。由客户交互界面、USB数据通信、数据保存显示、设备故障预警四个模块组成。在USB数据通信模块设计中,使用Silicon Laboratories公司提供的主要API函数有:
4.2 应用程序界面设计及其功能
应用程序界面基于C/C++的集成开发工具——Visual C++6.0进行开发,该开发工具提供了用于开发windows环境下的应用程序的简捷、快速和实用的开发环境。
Visual C++6.0提供了MFC类库,开发者只需要做少量工作就可以得到功能齐全的windows应用程序。与使用C和Windows SDK开发windows应用程序相比,使用Visual C++6.0建立一个完美的Windows应用程序所花费的时间要少得多[5-6]。
利用VC++开发的应用软件具有高效、美观、操作方便等优点。
上位机设计界面如图3所示。
图3 上位机设计界面
随着USB技术的迅速发展,很多计算机已经不把串行接口作为基本配置。所以利用USB进行数据采集是非常重要的技术。USB总线从诞生起便引发了一场产业革命。它以灵活、方便、应用范围广、通信稳定和成本低廉等优点,使得PC机接口从串行口和并行口转到USB总线上来。USB规范经历了多年的发展,不断成熟起来,到现在己经发展到了USB3.0。USB3.0以其高速和即插即用等优势必然在今后得到更为广泛的应用。
[1] 戴向华.USB原理及其在数据采集系统中的应用[J].计算机工程与设计,2004(5):840-843.
Dai Xiang hua.Principle and application in data acquisition system[J].Computer engineering and design,2004(5):840-843.
[2] 贾宝金,王宝珠,李晓玲.基于USB的数据采集系统的设计与研究[J].现代电子技术,2007(24):187-190.
Jia Bao jin,Wang Bao zhu,Li Xiao ling.RESEARCH AND DESIGN OF DATA ACQUISITION SYSTEM BASED ON USB[J].Modern Electronics Technique,2007(24):187-190.
[3] 王晓宁.基于C8051F340单片机的USB数据采集系统[J].医疗卫生装备,2009(7):111-113.
Wang Xiao ning.USB Data Collection System Based on MCU C8051F340[J].Chinese medical equipment journal,2007(7):111-113.
[4] 尹勇,李宇.μVision2单片机应用程序开发指南[M].北京:科学出版社,2004.
Yin Yong,Li Yu.μVision2 MCU Application Development Guide[M].Beijing:Science Press,2004.
[5] 孔鹏.Visual C++6.0完全自学手册[M].北京:机械工业出版社,2006.
Kong Peng.Visual C++6.0 Self-study manual[M].Beijing:China Machine Press,2006.
[6] David J Kruglinski,Scot Wingo,George Shepherd.Programming Visual C++6.0技术内幕(第五版)[M].北京:北京希望电子出版社,1999.
David J.Kruglinski,Scot Wingo,George Shepherd.Inside Programming Visual C++6.0[M].Beijing:Beijing Hope Electronic Press,1999.
Research and Design of USB Data Acquisition System
Qi Yang,Zhang Liqiang
(The 47th Research Institute of China Electronics Technology Group Corporation,Shenyang 110032,China)
Data acquisition,as an integrated application technology,mainly focuses on information data acquisition,storage,processing and control and has a strong practicability.With such features as hot-swappable,plug and play,less system resource occupancy,etc.,USB technology has been rapidly and widely used.USB2.0 is used due to its fast theoretical transfer speed of 480Mbps.Combined with latest development of USB interface of both interior of country and abroad,the USB architecture is deeply studied.The interface design of C8051F340 microcontroller USB 2.0 is described for the hardware.USBXpress software development kit,from CygnaVSilicon,is used for the software,which conducts USB interface program design for devices such as C8051F340 to provide a complete software solution for both upper and lower computers.APP of upper computer,as a way of communication with customers,is used to accept and present data of hardware.
Data acquisition;USB system architecture;USB interface program;Upper computer;Lower computer
10.3969/j.issn.1002-2279.2015.03.023
TN4
A
1002-2279(2015)03-0086-03
齐洋(1984-),男,辽宁省沈阳市人,助理工程师,主研方向:集成电路设计。
2015-01-15