《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計 > 業(yè)界動態(tài) > 基于USB總線的實時數(shù)據(jù)采集系統(tǒng)設(shè)計

基于USB總線的實時數(shù)據(jù)采集系統(tǒng)設(shè)計

2009-04-13
作者:周振宇 谷海穎

??? 摘? 要: 基于通用串行總線(USB)的實時數(shù)據(jù)采集系統(tǒng)的設(shè)計嚴(yán)格遵循USB1.1協(xié)議,充分體現(xiàn)USB便捷、易擴(kuò)展、低成本、低干擾的特點。詳細(xì)介紹系統(tǒng)的USB設(shè)備驅(qū)動程序、設(shè)備固件、應(yīng)用程序的具體設(shè)計。?

??? 關(guān)鍵詞: 通用串行總線? 實時數(shù)據(jù)采集? 設(shè)備驅(qū)動程序

?

??? 現(xiàn)代工業(yè)生產(chǎn)和科學(xué)研究對數(shù)據(jù)采集的要求日益提高。目前比較通用的是在PC或工控機(jī)內(nèi)安裝數(shù)據(jù)采集板卡,如A/D卡及422、485卡。這些數(shù)據(jù)采集設(shè)備存在以下缺陷:安裝麻煩;價格昂貴;受計算機(jī)插槽數(shù)量、地址、中斷資源限制,可擴(kuò)展性差;在一些電磁干擾性強(qiáng)的測試現(xiàn)場,無法專門對其做電磁屏蔽,導(dǎo)致采集的數(shù)據(jù)失真。?

??? 通用串行總線(Universal Serial Bus,簡稱USB)是1995年康柏、微軟、IBM、DEC等公司為了解決傳統(tǒng)總線的不足推廣的一種新型串行通信標(biāo)準(zhǔn)。該總線接口具有安裝方便、高帶寬、易擴(kuò)展等優(yōu)點,已經(jīng)逐漸成為現(xiàn)代數(shù)據(jù)傳輸?shù)陌l(fā)展趨勢。基于USB的數(shù)據(jù)采集系統(tǒng)充分利用USB總線的上述優(yōu)點,有效解決了傳統(tǒng)數(shù)據(jù)采集系統(tǒng)的缺陷。?

1 系統(tǒng)硬件設(shè)計?

1.1 硬件總體結(jié)構(gòu)?

??? USB實時數(shù)據(jù)采集系統(tǒng)硬件模塊包括A/D轉(zhuǎn)換器、微控制器、USB通信接口和多路模擬開關(guān)。硬件總體結(jié)構(gòu)如圖1所示。?

1.2 USBN9602芯片?

??? USB接口芯片采用National Semiconductor公司的一種專用芯片USBN9602。該芯片內(nèi)部集成微處理器接口、FIFO存儲器、時鐘發(fā)生器、串行接口引擎(SIE)、收發(fā)器、3.3V電壓轉(zhuǎn)換器,支持DMA、微波接口,內(nèi)部結(jié)構(gòu)如圖2所示。?

?

?

??? 微控制器通過8位的并行接口傳送A/D采集的數(shù)據(jù),存儲在FIFO存儲器中;一旦FIFO存滿,SIE立刻對數(shù)據(jù)進(jìn)行處理,其中包括:同步模式識別、并/串轉(zhuǎn)換、位填充/解填充、CRC產(chǎn)生與校驗、地址識別、握手響應(yīng)與產(chǎn)生、USB特殊事件(Reset、Suspend、Resume)檢測;最后由收發(fā)器通過數(shù)據(jù)線(D+、D-)傳送數(shù)據(jù)至PC。上述過程嚴(yán)格遵守USB1.1協(xié)議。USBN9602與89C52的具體實現(xiàn)電路如圖3所示。?

?

?

2 系統(tǒng)軟件設(shè)計?

??? 系統(tǒng)軟件包括USB設(shè)備驅(qū)動程序、設(shè)備固件、應(yīng)用程序。?

2.1 USB設(shè)備驅(qū)動程序開發(fā)?

??? USB系統(tǒng)驅(qū)動程序采用分層結(jié)構(gòu)模型:較高級的USB設(shè)備驅(qū)動程序和較低級的USB 函數(shù)層。其中USB函數(shù)層由兩部分組成:較高級的通用串行總線驅(qū)動程序模塊(USBD)和較低級的主控制器驅(qū)動程序模塊(HCD)。它們的層次關(guān)系如圖4所示。?

?

?

??? 在上述USB分層模塊中,USB函數(shù)層(USBD及HCD)由Windows98提供,負(fù)責(zé)管理USB設(shè)備驅(qū)動程序和USB控制器之間的通信;加載及卸載USB驅(qū)動程序;與USB設(shè)備通用端點(endpoint)建立通信來執(zhí)行設(shè)備配置、數(shù)據(jù)與USB協(xié)議框架和打包格式的雙向轉(zhuǎn)換任務(wù)。目前Windows98提供了多種USB設(shè)備驅(qū)動程序,但并不針對實時數(shù)據(jù)采集設(shè)備,因此需采用DDK開發(fā)工具設(shè)計專用的USB設(shè)備驅(qū)動程序。可以由四個模塊實現(xiàn):初始化模塊、即插即用管理模塊、電源管理模塊以及I/O功能實現(xiàn)模塊。?

??? 初始化模塊提供一個DriverEntry入口點來執(zhí)行大量的初始化函數(shù)。?

??? 即插即用管理模塊實現(xiàn)USB設(shè)備的熱插拔及動態(tài)配置。當(dāng)硬件檢測到USB設(shè)備接入時,Windows98查找響應(yīng)的驅(qū)動程序,并調(diào)用它的DriverEntry例程,PnP管理器調(diào)用驅(qū)動程序的AddDevice例程,告訴它添加了一個設(shè)備;然后,驅(qū)動程序為USB設(shè)備建立一個FDO(功能設(shè)備對象),在此處理過程中,驅(qū)動程序收到一個IRP_MN_START_DEVICE 的 IRP,包括設(shè)備分配的資源信息。至此,設(shè)備被正確配置,驅(qū)動程序開始與硬件進(jìn)行對話。當(dāng)然,在設(shè)備運(yùn)行過程中,如果設(shè)備的狀態(tài)發(fā)生變化(拔除、暫停等),PnP管理器也同樣發(fā)出相應(yīng)的IRP,由驅(qū)動程序進(jìn)行相應(yīng)的處理。?

??? 電源管理模塊負(fù)責(zé)設(shè)備的掛起與喚醒。?

??? I/O功能實現(xiàn)模塊完成I/O請求的大部分工作。當(dāng)應(yīng)用程序提出I/O請求時,它調(diào)用Win32 API函數(shù)DeviceIoControl來向設(shè)備發(fā)出命令。然后,由I/O管理器構(gòu)造一個IRP并設(shè)置其MajorFunction域為IRP_MJ_DEVICE_CONTROL。USB設(shè)備驅(qū)動程序收到該IRP后,取出其中的控制碼,并利用一個開關(guān)語句來找到對應(yīng)的例程入口。?

2.2 設(shè)備固件(firmware)設(shè)計?

??? 設(shè)備固件是設(shè)備運(yùn)行的核心,采用匯編語言設(shè)計。其主要功能是控制芯片USB9602接受并處理USB驅(qū)動程序的請求(如請求設(shè)備描述符、請求或設(shè)置設(shè)備狀態(tài)、請求設(shè)備設(shè)置、請求或設(shè)置設(shè)備接口等共10種USB1.1標(biāo)準(zhǔn)請求);控制芯片USB9602接受應(yīng)用程序的控制指令;控制A/D模塊的數(shù)據(jù)采集;通過USB9602存儲數(shù)據(jù)并實時上傳PC。其程序主框圖如圖5所示。

?

?

??? 在圖5中,ALT事件表示硬件檢測到USBN9602處于下列狀態(tài):Reset、Resume、Suspend,由ALTEV寄存器匯報并產(chǎn)生中斷。?

2.3 應(yīng)用程序設(shè)計?

??? PC機(jī)或工控機(jī)應(yīng)用程序是數(shù)據(jù)實時采集系統(tǒng)的中心,采用Visual C++ 5.0編程。其功能主要有:開啟或關(guān)閉USB設(shè)備、檢測USB設(shè)備、設(shè)置USB數(shù)據(jù)傳輸管道(pipe)、設(shè)置A/D狀態(tài)和數(shù)據(jù)采集端口、實時從USB接口采集數(shù)據(jù)、顯示并分析數(shù)據(jù)。USB程序主框圖如圖6所示。?

?

?

??? 由于USB9602提供的FIFO不超過64字節(jié),當(dāng)FIFO存滿后,USB9602自動將數(shù)據(jù)打包即時請求讀入數(shù)據(jù),由SIE自動發(fā)送數(shù)據(jù)包。程序獲得數(shù)據(jù)后,需延遲至下組數(shù)據(jù)包準(zhǔn)備完畢,從而保證程序與設(shè)備采集頻率同步。另外,當(dāng)系統(tǒng)啟動A/D模塊后程序持續(xù)執(zhí)行,并采用多線程編程發(fā)出停止采集和關(guān)閉USB設(shè)備的命令。?

3 基于USB總線的數(shù)據(jù)實時采集系統(tǒng)特點?

??? 基于USB總線的數(shù)據(jù)實時采集系統(tǒng)設(shè)計上嚴(yán)格遵循USB1.1協(xié)議,其性能特點如下:?

??? (1)安裝方便,支持即插即用。安裝時可在不關(guān)機(jī)不打開機(jī)箱的情況下將設(shè)備插入USB插槽,運(yùn)行驅(qū)動程序即可,以后可直接對設(shè)備熱插拔。?

??? (2)易擴(kuò)展。最長傳輸距離5m,采用Hub或中繼器可達(dá)30m;最多對外可接127個設(shè)備。?

??? (3)供電方便。USB總線直接利用主機(jī)電源為外設(shè)提供最大5V 500mA的電流,系統(tǒng)無需另備電源。?

??? (4)電磁干擾影響極小。由于本產(chǎn)品放置在計算機(jī)機(jī)箱外,不受箱內(nèi)的板間電磁干擾。如在電磁干擾較嚴(yán)重的環(huán)境下,可以為該產(chǎn)品專門設(shè)計屏蔽方案。?

??? (5)性價比高。遠(yuǎn)優(yōu)于傳統(tǒng)的實時數(shù)據(jù)采集系統(tǒng)。?

??? (6)實時采集,實時顯示。?

參考文獻(xiàn)?

1 Compaq, Intel, Microsoft, NEC. Universal Serial Bus?Specification. Revision 1.1, September 23, 1998?

2 National semiconductor. USBN9602 (Universal Serial?Bus)Full Speed Function Controller With DMA Support.November 1998?

3 史 波,田 凱.通用串行總線USB技術(shù)概述.信息技術(shù),2001; 4.?

4 毛德柱,周 凱.智能尋位加工技術(shù)中USB接口數(shù)據(jù)傳輸方式的應(yīng)用研究.電子技術(shù)應(yīng)用, 2000;26(3)

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
久久躁日日躁aaaaxxxx| 国产精品免费一区豆花| 亚洲欧美日韩中文在线制服| 亚洲激情一区二区| 久久精品av麻豆的观看方式| 亚洲欧美制服中文字幕| 亚洲午夜伦理| 亚洲一区二区精品在线观看| av成人天堂| 日韩午夜在线| 在线视频你懂得一区| 99re66热这里只有精品4| 亚洲精品视频在线观看网站| 亚洲国产成人精品视频| 亚洲国产精品999| 亚洲第一网站| 亚洲片在线观看| 日韩视频永久免费观看| 日韩午夜精品视频| 中日韩在线视频| 亚洲香蕉网站| 亚洲欧美日韩专区| 亚洲欧美日韩在线不卡| 午夜一级在线看亚洲| 久久国产黑丝| 亚洲高清网站| 亚洲人体影院| 99日韩精品| 亚洲综合电影一区二区三区| 亚洲欧美中文另类| 久久精品色图| 免费中文字幕日韩欧美| 欧美激情网友自拍| 欧美日韩欧美一区二区| 国产精品久久久久一区二区| 国产麻豆精品在线观看| 国内精品久久久久国产盗摄免费观看完整版| 国产一区二区三区最好精华液| 韩国在线视频一区| 亚洲国产日韩在线| 一本色道久久99精品综合| 亚洲影院免费观看| 亚洲国产mv| 99香蕉国产精品偷在线观看| 亚洲无亚洲人成网站77777| 午夜一级久久| 欧美1区3d| 国产精品乱码久久久久久| 国产一区二区三区电影在线观看| 尤物精品国产第一福利三区| 亚洲毛片视频| 性欧美大战久久久久久久久| 亚洲欧洲在线观看| 亚洲免费一在线| 久久午夜电影网| 欧美日韩福利视频| 国产欧美精品一区二区色综合| 国模 一区 二区 三区| 91久久精品国产91久久性色| 亚洲午夜一区| 亚洲精品国产精品久久清纯直播| 亚洲视频综合| 久久婷婷国产综合精品青草| 欧美日韩免费高清一区色橹橹| 国产欧美在线视频| 亚洲国产精品美女| 亚洲欧美日韩精品久久亚洲区| 亚洲电影免费在线观看| 亚洲视频在线一区| 两个人的视频www国产精品| 国产精品扒开腿做爽爽爽视频 | 老牛影视一区二区三区| 欧美视频免费看| 韩国av一区| 一本大道久久a久久精二百| 亚洲欧美色婷婷| 亚洲美女免费精品视频在线观看| 欧美中文字幕第一页| 欧美日韩黄色一区二区| 激情一区二区三区| 亚洲一区二区精品在线| 99riav1国产精品视频| 久久精品1区| 欧美性大战久久久久| 亚洲第一区在线观看| 性欧美超级视频| 亚洲免费影院| 欧美日韩国产在线播放网站| 激情欧美一区二区三区| 性色av一区二区三区在线观看| 中文在线资源观看视频网站免费不卡| 久久久久久久久久久一区| 国产精品高清一区二区三区| 亚洲欧洲精品成人久久奇米网| 欧美在线视频观看| 性色av香蕉一区二区| 欧美色图五月天| 亚洲国产一区二区视频| 亚洲国产91| 久久久精品国产免费观看同学| 国产精品久久久亚洲一区 | 午夜精品www| 亚洲综合色视频| 欧美日韩国产不卡| 亚洲激情另类| 亚洲精品美女| 免费观看在线综合色| 国产在线乱码一区二区三区| 亚洲资源在线观看| 亚洲欧美日本国产专区一区| 欧美日韩在线播放三区| 亚洲人成亚洲人成在线观看图片| 亚洲国产裸拍裸体视频在线观看乱了| 久久精品99国产精品| 国产精品素人视频| 亚洲视频欧洲视频| 亚洲影院免费| 国产精品多人| 国产精品99久久不卡二区| 亚洲一区二区高清| 国产精品第13页| 亚洲先锋成人| 欧美一级播放| 国产亚洲精品久久久久婷婷瑜伽| 亚洲一级二级| 香蕉久久国产| 国产亚洲欧美另类中文 | 在线一区免费观看| 欧美日韩国产精品一区| 99精品国产99久久久久久福利| 一区二区激情| 欧美日韩在线不卡一区| 一本久道综合久久精品| 午夜精品99久久免费| 国产欧美 在线欧美| 久久岛国电影| 蜜桃伊人久久| 亚洲激情偷拍| 亚洲一区二区三区精品在线| 国产精品美女| 欧美一区二区高清在线观看| 久久麻豆一区二区| 亚洲高清不卡在线观看| 日韩亚洲欧美一区二区三区| 欧美体内she精视频| 亚洲男女自偷自拍| 久久综合色8888| 亚洲欧洲一区二区在线观看 | 久久免费黄色| 亚洲福利视频一区二区| 一区二区免费看| 国产精品国产a| 久久www成人_看片免费不卡| 美女脱光内衣内裤视频久久影院 | 亚洲一区二三| 国产人成精品一区二区三| 久久精品国产99| 欧美韩日一区二区| 一区二区91| 久久全球大尺度高清视频| 亚洲韩国日本中文字幕| 亚洲自拍三区| 伊人男人综合视频网| 亚洲视频在线观看| 国产亚洲在线观看| 日韩亚洲在线| 国产欧美日韩视频一区二区| 亚洲经典在线看| 国产精品久久久久久久久婷婷| 久久精品国产91精品亚洲| 欧美精品乱码久久久久久按摩| 亚洲一区二区3| 欧美不卡在线视频| 亚洲一区区二区| 嫩草影视亚洲| 亚洲一区二区精品视频| 蜜臀va亚洲va欧美va天堂| 亚洲视频一区二区| 免费欧美电影| 亚洲欧美激情在线视频| 欧美福利专区| 午夜精品久久| 欧美日韩国产精品自在自线| 欧美一区二区在线播放| 欧美日韩日韩| 亚洲国产欧美在线人成| 国产精品久久久久永久免费观看| 亚洲国产日韩欧美一区二区三区| 国产精品www.| 亚洲人久久久| 国产一区深夜福利| 亚洲一区二区三区成人在线视频精品 | 一本色道婷婷久久欧美| 精品av久久707| 欧美一区二区日韩一区二区| 亚洲精品国精品久久99热一| 久久亚洲私人国产精品va| 亚洲男人第一网站| 欧美视频官网| 亚洲靠逼com|