《電子技術應用》
您所在的位置:首頁 > 測試測量 > 設計應用 > 基于USB接口的數據采集系統設計
基于USB接口的數據采集系統設計
王寶珠, 楊 永, 林永峰, 常秀穎
河北工業大學 信息工程學院, 天津 300401
摘要: 設計了基于USB2.0接口的數據采集系統。系統硬件主要由信號調理電路、USB2.0芯片CY7C68013及A/D轉換器MAX125組成。軟件部分主要包括固件設計、驅動程序設計和應用程序設計三部分。
中圖分類號: TN919
文獻標識碼: B
Design of data acquisition system based on USB interface
WANG Bao Zhu, YANG Yong, LIN Yong Feng, CHANG Xiu Ying
College of Information Engineering, Hebei University of Technology, Tianjin 300401, China
Abstract: A data acquisition system based on USB2.0 is designed. In the hardware design part, signal processing circuit、USB2.0 serial chip CY7C68013 and A/D convertor MAX125 are included. The software part mainly consists of three parts: firmware design, driver program design and application program design.
Key words : universal serial bus; speech signal; general programmable interface

    隨著大規模集成電路與計算機技術的飛速發展,數據采集在語音處理、智能儀器、工業自動化及生物醫學工程等眾多領域中的地位日益突出,并且對數據采集的各項技術指標要求越來越高。傳統的數據采集卡主要有PCI卡或者ISA卡,這些采集卡都存在著各種各樣的缺陷,比如傳輸速度慢、不支持熱插拔、安裝不方便、受計算機地址、中斷和插槽的限制,可擴展性差等[1]。
    近年來,USB接口以其傳輸速度快、成本低、可靠性高、支持即插即用和熱插拔等優點[2],迅速成為數據傳輸的主流。因此,開發這種基于USB2.0的高速數據采集系統,代表了現代數據采集和傳輸的發展趨勢,必將被越來越多的用戶所接受。
1 系統工作原理與硬件結構
    基于USB接口的數據采集系統的硬件部分主要包括信號調理電路、A/D轉換電路、USB控制電路三部分。PC機端的應用程序通過USB主機發送控制信號,通知CY7C68013開始數據采集。當CY7C68013接收到控制信號以后,通過GPIF模式發送控制波形到MAX125,控制其開始的數據轉換。當MAX125接收到控制信號以后,開始進行數據采集。采集完成后,在USB主機控制器的控制下,MAX125把轉換后的數字信號發送到CY7C68013,最后通過USB總線把采集到的數據發送到PC機,并進行相應的處理。
    系統硬件框圖如圖1所示。


1.1 信號調理電路和電源電路
    擬電壓范圍為-5 V~+5 V,所以在輸入信號進入之前必須進行相應的處理。本設計所采集的語音信號的電壓范圍是0~30 mV,初步調理之后的電壓范圍為0~2 V,為了得到所需的增益,采用同相輸入放大電路對初步調理后的電壓放大。完成電壓轉換后,還必須由低通濾波器濾除高頻信號,在本設計中,采用4階巴特沃斯濾波器。濾波電路和放大電路所采用的放大器為OP07,其輸入電壓范圍為±3 V~±22 V。本設計采用開關電源供電,提供的輸出電壓為±5 V、12 V,其中,MAX125需要5 V的數字電源和±5 V的模擬電源工作,運算放大器的供電電壓為5 V和-5 V,而系統中USB2.0芯片采用3.3 V供電,為此,需要電源轉換模塊以獲得系統所需要的電源電壓值,其中5 V轉3.3 V電壓用到AS1117-3.3系列芯片。
1.2 USB控制電路
    USB2.0傳輸芯片采用CYPRESS公司的CY7C68013A-56PIN,芯片的商標號是FX2。EZ-USB FX2微處理器是世界上第一款集成USB2.0的微處理器,具有增強型的8051內核性能、集成度高、方便靈活的軟配置和快捷的軟件開發工具等主要特性[3]。該芯片的內部結構如圖2所示,其中主要包括USB2.0收發器、串行引擎(SIE)、增強型的8051內核、16 KB的RAM、4 KB的FIFO存儲器、I/O接口、8位數據總線、16位地址總線和通用可編程接口(GPIF)。


    EZ-USB FX2是整個系統的控制核心,除了完成與上位機的USB總線通信,還要實現對A/D采樣電路的控制。CY7C68013本身有一個4 KB的內部FIFO存儲器,可以滿足常規的數據采集的需求,更重要的是其內部還提供了一個用于控制FIFO存儲器的通用可編程接口(GPIF),大大方便了用戶的需求[4],而且在GPIF的控制下,內部的FIFO利用其高速緩沖區可以在不需要固件的參與下與USB之間進行自動高速通信。GPIF是一個內置接口控制器,用來取代外接的控制邏輯,可以工作在內部時鐘(30 MHz或48 MHz),也可以由外部時鐘驅動(5 MHz~48 MHz)。GPIF的核心實際上是一個可編程狀態機,最多可產生6個控制信號和9位地址總線。4個用戶定義的波形描述符控制這個狀態機,一般來講,有單次讀取、單次寫入、連續讀取、連續寫入4個波形[5]。在GPIF模式下,讀和寫的操作都是從EZ-USB的角度來說的。即一個讀波形數據傳輸表示數據從外部邏輯傳輸到EX-USB的內部FIFO,而一個寫波形數據傳輸表示數據傳輸從EZ-USB內部的FIFO發送到外部邏輯。FX2用4個波形描述符來控制各個狀態,這些波形描述符可動態地配置給任何一個端點FIFO。配置后GPIF將依據波形描述符產生相應的邏輯控制CTL及握手信號RDY來和外界接口,以滿足向FIFO讀寫數據的需要。GPIF的數據總線可以是8位,也可以是16位,本設計采用16位數據總線。
1.3 硬件連接圖
    EZ-USB FX2接口芯片和MAX125芯片的連接圖如圖3所示。

 
2 系統軟件設計
 系統的軟件設計主要包括固件設計、驅動程序設計和應用程序設計3部分。
2.1 固件程序設計
    固件程序是整個程序設計的核心,它主要負責處理PC機發送來的各種USB設備請求,并與外圍電路進行交換,存放在主機上,當系統上電或連接時將其自動下載到芯片的RAM中,并由8051執行。固件程序主要包括設備初始化和GPIF波形控制。固件程序流程如圖4所示。


    USB的固件程序是由main主函數處開始執行的,在主函數中,主要的初始化有:初始化休眠模式、遠程呼喚和自供電;初始化用戶設備。其中設備初始化包括FX2工作模式的配置和數據采集參數的配置。FX2工作模式配置主要包括時鐘模式和端點配置,用到的寄存器有CPUCS和EP2CFG。端點0作為控制傳輸,端點2作為輸入端點,傳輸方式為批量傳輸。這部分程序主要位于TD_Init( )中,此外還包括對生成的GPIF.C中的GPIF寄存器的初始化函數GPIFInit()的調用。
    GPIF編程主要包括GPIF工作模式的初始化、GPIF波形描述符配置、GPIF觸發三部分內容。GPIF工作模式初始化主要是對寄存器IFCONFIG、EP2FIFOCFG進行配置,即IFCONFIG=0xFA,EP2FIFOCFG=0x09。GPIF對MAX125的控制是按照GPIF波形描述符所表達的時序進行的。根據MAX125提供的讀寫時序,本系統利用CYPRESS提供的開發工具GPIF Designer設計了GPIF波形描述符。GPIF觸發過程是在TD_Poll()中實現的,其中寫AD控制字波形的代碼為:XGPIFSGLDATLXH=gdata[13:8],XGPIFSGLDATLXL=gdata[7:0];啟動GPIF FIFO讀傳輸的代碼為:GPIFTRIG=GPIFTRIGRD|GPIF_EP2。
2.2 驅動程序設計
    設備驅動程序的主要作用是使操作系統能夠識別USB設備,并建立起主機和設備之間的通信。USB驅動程序采用WDM驅動模型[6],支持即插即用功能。在WDM驅動程序模型中,每個硬件設備至少有兩個驅動程序。其中一個驅動程序為功能驅動程序,即硬件設備驅動程序,它了解使硬件工作的所有細節,負責初始化I/O操作、處理I/O操作完成時所帶來的中斷事件,并為用戶提供一種設備適合的控制方式。另一個為總線驅動程序,由操作系統提供,它位于USB功能驅動程序的下面,負責管理硬件與計算機的連接。
    在Windows操作系統下,開發WDM驅動程序可以選擇DDK開發工具。主要有4個驅動例程:入口例程、即插即用例程、分發例程以及電源管理例程。
 入口例程,即DriverEntry例程,由操作系統的I/O管理器在設備驅動功能加載時進行調用,主要負責WDM驅動程序的初始化。
 即插即用例程實現USB設備的熱插拔和動態配置。當設備與計算機連接時,系統自動識別并調用其DriverEntry例程,自動選擇并加載合適的驅動程序。當設備從系統中移除時,自動處理相應的清除工作。其驅動例程主要有兩個:AddDevice例程和IRP_MJ_PNP例程。AddDevice例程用于完成設備的添加。IRP_MJ_PNP例程主要負責處理系統即插即用管理器發出的PnP信息,包括啟動設備、停止設備、刪除設備等。
 分發例程用于處理各種I/O請求,每個分發例程都對應一個Win32函數。常用的分發例程主要有IRP_MJ_CREATE例程和IRP_MJ_CLOSE例程。
 電源管理例程負責設備的掛起與喚醒。
2.3 應用程序設計
 上位機應用程序給用戶提供一個操作采集系統的界面,將采集到的數據以多種方式顯示給用戶,用戶也可以對采集到的數據進行分析處理。應用程序采用Visual C++集成開發環境,利用MFC編程,主要功能有:開啟和關閉USB設備、檢測USB設備、設置USB設備傳輸管道、設置數據采集端口、實時地從USB接口采集數據、顯示并分析數據。應用程序流程圖如圖5所示。


   應用程序使用Win32的API函數CreateFile()來創建和打開設備,并返回該設備的句柄。當對設備進行讀取時,首先調用打開并獲得指定的USB設備的句柄,然后對指定管道進行復位,準備接收數據,然后啟動接收數據線程。應用程序通過使用標準的Win32 API函數DeviceIoControl()調用驅動程序中定義的宏代碼IO_PICUSB_
CTRL_READ來執行這部分操作,而驅動程序與設備之間的通信中,DeviceIoControl()調用被轉化成一個帶有IRP_MJ_DEVICE_CONTROL功能代碼的IRP。關閉USB設備需調用CloseHandle()函數, 其調用方式為CloseHandle(hDevice),其中hDevice為在調用CreateFile()函數時返回的設備句柄。
3 試驗結果與分析
    圖6為本數據采集系統在批量傳輸下的應用程序界面。圖中曲線是對模擬語音信號采集生成的波形圖。實驗表明,該基于USB2.0接口的數據采集系統可實現對語音信號的采集,傳輸速度能達到30 Mb/s,具有很強的抗干擾性,完全滿足設計和使用要求。在保存數據和退出應用程序前,應先停止采集。保存數據時,通過在“保存”欄中選擇對應的選項,就可以保存數據。


    本文所設計的基于USB2.0接口的數據采集系統具有8路輸入14位分辨率的性能,可滿足語音處理、工業自動化及生物醫學工程中心電信號等領域中大多數場合的數據采集要求。不僅克服了傳統采集系統的缺陷,而且充分利用USB優點,提高了傳輸速度,給用戶帶來許多方便。本文的創新點在于采用USB接口進行微處理器與上位機之間的通信,并結合CY7C68013特有的GPIF編程技術,有效提升了整個系統數據采集速率,在實際應用中取得了良好的效果。
參考文獻
[1]     肖忠祥.數據采集原理[M].西安:西北工業大學出版社,2001.
[2]     邊海龍.USB2.0設備的設計與開發[M].北京:人民郵電出版社,2004.
[3]     錢峰.EZ-USB FX2單片機原理、編程及應用. 北京:北京航空航天大學出版社,2006.
[4]     尹偉,婁淑琴.基于GPIF模式的USB接口電路的設計和實現[J].儀器儀表用戶,2008(2):61-62.
[5]     Cypress Semiconductor Corporation.EZ-USB FX2 technical  reference manual[Z].2001.
[6]     胡文靜,陳松.基于EZ-USB芯片CY7C68013的驅動程序設計[J].計算機應用研究,2005,22(9):221.

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲精品乱码久久久久久日本蜜臀| 国产精品免费网站| 亚洲精品在线视频| 麻豆精品在线播放| 亚洲狼人精品一区二区三区| 亚洲人成亚洲人成在线观看图片| 欧美日韩国产123区| 亚洲午夜黄色| 性一交一乱一区二区洋洋av| 韩国女主播一区二区三区| 欧美.www| 亚洲欧美成人精品| 欧美在线观看视频一区二区| 在线日韩av永久免费观看| 欧美日韩国产成人在线91| 噜噜噜在线观看免费视频日韩| 一本色道久久综合亚洲91| 国产精品99久久久久久久vr| 国产情侣久久| 欧美激情精品久久久久久蜜臀| 亚洲综合视频网| 亚洲图片欧洲图片日韩av| 在线综合亚洲欧美在线视频| 亚洲一区在线播放| 在线成人h网| 国产精品激情电影| 久久亚洲欧美| 亚洲一区免费网站| 亚洲国产另类久久精品| 亚洲线精品一区二区三区八戒| 伊人久久大香线蕉综合热线| 激情视频一区| 国产精品久久久久久久免费软件 | 一本久道综合久久精品| 亚洲一区二区在线播放| 亚洲中字在线| 欧美一区二区视频观看视频| 亚洲国产欧美一区| 日韩午夜在线播放| 久久国产一区| 亚洲午夜一区二区| 亚洲欧美美女| 一区二区三区免费观看| 影音先锋中文字幕一区| 亚洲黄色成人| 一区二区三区在线视频观看| 最新高清无码专区| 亚洲色图制服丝袜| 久久精品国产99国产精品| 亚洲伦理精品| 午夜欧美不卡精品aaaaa| 亚洲美女黄色| 亚洲制服丝袜在线| 久久精品国产久精国产思思| 亚洲欧美日本国产有色| 久久国产精品久久久久久| 欧美1区3d| 国产精品久久国产三级国电话系列| 国产一区二区成人| 国产精品久久久久久久久久ktv| 国产视频在线观看一区二区| 国产精品国产三级国产普通话三级| 国产精品丝袜91| 欧美亚男人的天堂| 欧美日韩极品在线观看一区| 国产精品日韩久久久久| 精品动漫av| 亚洲视频欧美视频| 亚洲国产综合在线看不卡| 亚洲一区二区视频在线观看| 久久全国免费视频| 国产精品久久福利| 亚洲第一精品久久忘忧草社区| 国产精品99久久久久久www| 亚洲经典自拍| 久久精品官网| 亚洲一区二区三区四区五区午夜| 久久久免费av| 快she精品国产999| 欧美日韩中文精品| 欧美日韩亚洲另类| 国产综合在线看| 国外成人性视频| 一区二区三区免费观看| 亚洲国产精品女人久久久| 亚洲欧美日韩在线高清直播| 午夜视黄欧洲亚洲| 欧美激情亚洲激情| 欧美日韩播放| 欧美日韩日本网| 精品不卡一区二区三区| 亚洲小说区图片区| 艳妇臀荡乳欲伦亚洲一区| 久久综合九色九九| 国产欧美亚洲精品| 在线综合亚洲欧美在线视频| 日韩亚洲欧美高清| 美女国内精品自产拍在线播放| 国产欧美在线观看一区| 亚洲图片欧美日产| 亚洲一区二区黄| 欧美日本二区| 在线精品福利| 亚洲电影第1页| 亚洲精品欧美日韩| 一区二区三区欧美日韩| 免费人成网站在线观看欧美高清| 国产午夜精品一区二区三区欧美| 在线一区亚洲| 亚洲私人黄色宅男| 欧美日韩一区二区三区在线观看免| 在线欧美视频| 最新成人av在线| 欧美成人日本| 国产精品久久久久国产精品日日| 亚洲精品久久久蜜桃| 亚洲精品国产精品乱码不99按摩| 葵司免费一区二区三区四区五区| 国产一区二区三区的电影 | 亚洲在线成人精品| 欧美手机在线视频| 国产毛片一区| 亚洲高清视频在线| 亚洲视频中文字幕| 亚洲一区二区av电影| 欧美日韩亚洲激情| 一区二区三区不卡视频在线观看 | 久久亚洲精品欧美| 黄色一区二区三区四区| 亚洲国产高清aⅴ视频| 美女国内精品自产拍在线播放| 在线观看欧美日韩| 亚洲精品久久久久久一区二区| 欧美顶级艳妇交换群宴| 亚洲精美视频| 中文在线资源观看网站视频免费不卡| 欧美日韩国产在线播放| 99精品国产在热久久婷婷| 欧美亚洲色图校园春色| 羞羞答答国产精品www一本| 国产欧美一区二区三区沐欲 | 亚洲日本中文字幕| 一本大道av伊人久久综合| 欧美日韩综合一区| 亚洲一区免费观看| 久久精品成人一区二区三区 | 亚洲黄色高清| 欧美日本国产| 亚洲女性裸体视频| 久久综合成人精品亚洲另类欧美 | 亚洲理论在线观看| 性欧美1819sex性高清| 国内精品久久久久伊人av| 亚洲精品一区在线观看| 欧美午夜性色大片在线观看| 香蕉久久国产| 免费久久精品视频| 99riav久久精品riav| 欧美一区在线视频| 欧美日韩另类在线| 亚洲在线成人| 久久综合九色综合欧美就去吻 | 欧美一区二区三区免费观看| 揄拍成人国产精品视频| 亚洲视频欧洲视频| 国产一区二区久久| 99国产精品国产精品久久| 国产精品亚洲人在线观看| 亚洲国产综合91精品麻豆| 国产精品av一区二区| 久久国产精品久久久久久| 亚洲欧美成人| 国产一区日韩二区欧美三区| 亚洲免费观看| 国产婷婷一区二区| 亚洲另类一区二区| 国产农村妇女精品一区二区| 亚洲精品国产精品国自产观看浪潮| 欧美日韩在线视频一区二区| 欧美在线www| 欧美日韩精品中文字幕| 欧美在线免费看| 欧美日韩人人澡狠狠躁视频| 久久国产日韩欧美| 国产精品极品美女粉嫩高清在线| 亚洲高清资源| 国产精品一区二区三区久久| 日韩午夜精品视频| 国产伊人精品| 亚洲免费在线观看视频| 亚洲高清免费| 欧美在线视频一区| 国产日本欧美一区二区三区在线| 亚洲精品乱码久久久久久日本蜜臀| 国产精品久久91| 日韩视频在线观看免费| 国精品一区二区三区| 午夜欧美大尺度福利影院在线看| 亚洲黄色在线看| 久久影院午夜论|