齊 洋,張立強
(中國電子科技集團公司第四十七研究所,沈陽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