【資料下載】采用pdiusbd12實現(xiàn)usb高速數(shù)據(jù)傳輸_第1頁
已閱讀1頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、24《測控技術(shù)2005年第24卷第8期采用PDIUSBDl2實現(xiàn)USB高速數(shù)據(jù)傳輸張明,金寧德,趙鑫(天津大學(xué)電氣與自動化工程學(xué)院,天津300072)摘要:在電導(dǎo)式油水兩相流測量系統(tǒng)的設(shè)計過程中,為滿足數(shù)據(jù)量大、傳輸速率高的設(shè)計要求,選用了飛利浦公司的USB固件PDIUSBDl2以實現(xiàn)基于USB總線的高速數(shù)據(jù)傳輸。簡單介紹了USB通信協(xié)議和PDIUSBDl2固件的特點,詳細(xì)介紹了采用89C58單片機結(jié)合PDIUSBDl2實現(xiàn)USB數(shù)據(jù)傳

2、輸?shù)挠布O(shè)計,對固件編程的具體實現(xiàn)給出了詳細(xì)說明。關(guān)鍵詞:USB;PDIUSBDl2;單片機;固件編程中圖分類號:TP336文獻(xiàn)標(biāo)識碼:A文章編號:1000—8829(2005)08—0024—04USBBusHighSpeedDataTransferUsingPDIUSBDl2ZHANGMing,JINNing—de,ZHAOXin(SchoolofElectricalEngineering&Automation,TianjinUni

3、versity,Tianjin300072,China)Abstract:Intheoilwatertwophasemeasurementsystem,forobtainingofhigh—speedmassdatatransfer,theUSBbusischoosedandrealizedwithPDIUSBDl2whichisproducedbyPhilipscompanyTheprotocolofUSBandthecharacte

4、risticofPDIUSBDl2areintroducedbrieflyThen,thehardwaredesignusing89C58microcon—trollerandPDIUSBDl2toachieveUSBdatatransferiscarriedoutAtlast,thefirewareprogramdesignisin—troducedindetailKeywords:USB;PDIUSBDl2;microcontrol

5、ler;firewareprogrammingUSB(universalserialbus)總線協(xié)議(11版)是在1996年由Intel等7家公司共同制定的串行接口標(biāo)準(zhǔn),它可把多達(dá)127個外設(shè)同時連接到系統(tǒng)上,所有的外設(shè)通過協(xié)議來共享USB的12Mb/s帶寬,并允許外設(shè)在主機和其他外設(shè)工作時進(jìn)行連接、配置、使用及移除,即支持所謂的即插即用o。由于USB總線的這些特點,考慮到在油水兩相流測量過程中傳感器信號數(shù)據(jù)量大,且欲實現(xiàn)兩相流動態(tài)監(jiān)測

6、要求較高的傳輸速率,同時考慮到與原有測井計算機的方便連接,筆者采用USB總線作為測量采集系統(tǒng)的數(shù)據(jù)通信接口,以滿足油井兩相流數(shù)據(jù)采集系統(tǒng)大數(shù)據(jù)量高速傳輸?shù)囊蟆?采用USB固件PDIUSBDl2實現(xiàn)USB高速通信目前應(yīng)用中,實現(xiàn)USB數(shù)據(jù)傳輸?shù)姆桨赣卸喾N,收稿日期:2005—03—15基金項目:國家自然科學(xué)基金項目(60374041);教育部留學(xué)回國人員科研啟動基金項目作者簡介:張明(1981一),男,遼寧省錦州人,碩士研究生;金寧德(

7、1963~),男,朝鮮族,黑龍江省東寧縣人,博士,教授,博士生導(dǎo)師,主要研究方向為先進(jìn)傳感技術(shù)與現(xiàn)代信息處理技術(shù)融合;趙鑫(1978一),男,河北保定人,博士研究生。如采用Cypress公司的EZ—USB1或采用EDA技術(shù)口。開發(fā)自己的USB通信控制模塊。然而前者需要昂貴的開發(fā)系統(tǒng),后者開發(fā)周期長難度較大,所以筆者選擇采用MCU結(jié)合固件口。1(PDIUSBDl2)形式實現(xiàn)USB數(shù)據(jù)傳輸,它不但形式靈活,編程簡潔而且成本低廉。11PDIU

8、SBDl2的特點一。PDIUSBDl2(以下簡稱D12)是飛利浦公司推出的一款高性價比的USB固件,完全符合USB(11版)的協(xié)議規(guī)范,自帶并行接口可與多種微控制器相結(jié)合。另外它還支持本地的DMA傳輸,為微控制系統(tǒng)與Pc機進(jìn)行大規(guī)模數(shù)據(jù)傳輸提供了便利條件。D12所具有的掛起低功耗功能,可以滿足USB電源管理的要求,可使其應(yīng)用于使用總線供電的外部設(shè)備。此外,它還集成了內(nèi)部上拉電阻(用于軟件控制總線的開關(guān))、連通指示等功能。D12有3個端點

9、,其中2、3端點可通過SetMode命令配置為4種不同的模式,如表1所示。在表l所示的傳輸模式中,同步輸人、輸出模式適用于音頻傳輸?shù)纫笸叫暂^好的數(shù)據(jù)傳輸情況,但不對傳輸過程中的錯誤進(jìn)行糾正,考慮到對試驗數(shù)據(jù)正確傳輸?shù)囊螅P者選擇模式0這種非同步傳輸模式。12PDIUSBDl2的工作方式萬方數(shù)據(jù)26《測控技術(shù)))2005年第24卷第8期用過向D12發(fā)送0xFD命令觀察讀回的字是否為0x1210來判斷。接下來,分別讀取中斷寄存器和每個

10、端點的最后狀態(tài)寄存器(1aststatusregister),完成以上工作之后,中斷管腳就會變?yōu)闊o效狀態(tài),表明初始化工作完成。中斷服務(wù)程序在整個程序體中十分重要,相對也比較復(fù)雜,它負(fù)責(zé)修改標(biāo)志變量聯(lián)合體EPPFLAGS和填充控制結(jié)構(gòu)體CONTROL_XFER(如表2、表3所示)的值,以便主循環(huán)程序能根據(jù)EPPFLAGS中標(biāo)志變量的變化來執(zhí)行具體的程序。表2EPPFLAGS聯(lián)合體主要成員變量及含義成員變量含義成員變量含義bus_reset

11、總線復(fù)位標(biāo)志in~isrUSB中斷服務(wù)標(biāo)志suspend掛起改變標(biāo)志controlstate控制端點狀態(tài)標(biāo)志setup_packet收到setup包標(biāo)志表3CONTROL_XFER結(jié)構(gòu)體主要成員變量及含義成員變量含義OeviceRequestUSB設(shè)備請求結(jié)構(gòu)體,8BwkⅡgt1傳輸數(shù)據(jù)的總字節(jié)數(shù)wCount傳輸字節(jié)數(shù)統(tǒng)計pData傳輸數(shù)據(jù)的指針DataBuffer[MAX—CONTROLDATA_SIZE]請求的數(shù)據(jù)21中斷服務(wù)程序的

12、程序框架中斷服務(wù)程序的程序框架如圖3所示。在MCU(上接第17頁)⑦關(guān)閉串口設(shè)備句柄函數(shù):CloseHandle();⑧消息響應(yīng)函數(shù):在視圖類中實現(xiàn)數(shù)據(jù)的讀取、數(shù)據(jù)分析、數(shù)據(jù)庫添加記錄、記錄顯示。具體流程如圖3所示,Windows程序基本由函數(shù)調(diào)用組成,這里的流程只是描述視圖類消息處理與數(shù)據(jù)處理部分。4結(jié)束語本文介紹了大容量數(shù)據(jù)采集系統(tǒng)的系統(tǒng)組成、軟件編程方法。特別是VC60下使用ODBC實現(xiàn)對VFP數(shù)據(jù)庫操作,以及串口通信的實現(xiàn)。并采

13、用較強的掉電保護和軟件容錯能力,系統(tǒng)正常工作多年。參考文獻(xiàn):[1]謝勇VisualC60實例精通[M]北京:科學(xué)出版社,200005[2]李華MCS51系列單片機實用接口技術(shù)[M]北京:北京航空航天大學(xué)出版社,199308[3]陳堅,孫志月MODEM通信編程技術(shù)[M]西安:西安電子科技大學(xué)出版社,199907[4]北京愛立信通信系統(tǒng)有限公司MDll0程控交換機——用戶分機功能[Z]1996—10口量設(shè)置總線1Y妙‘N念!醫(yī)贏i磊磊傳輻右

14、蓑—蘭一DMA傳輸技術(shù)處理墅!瘩—叫型竺皇竺蘭塑竺蘭南4箝話——!叫控制端點接收數(shù)據(jù)處理苫l箝志——羔一端點1發(fā)送數(shù)據(jù)處理贏l霜證p_一端點1接收數(shù)據(jù)處理贏2翥醚——蘭一端點2發(fā)送數(shù)據(jù)處理萼掣P竺皇!蘭堅蘭望竺竺中斷服務(wù)程序結(jié)束圖3中斷服務(wù)程序框圖收到中斷信號以后轉(zhuǎn)入此程序中,MCU讀取D12的中斷服務(wù)寄存器,將其中的內(nèi)容與EPPFLAGS聯(lián)合體的主要成員變量逐一比對,然后修改對應(yīng)的變量并執(zhí)行相應(yīng)的程序。如圖3所示,在程序中,對于總線復(fù)

15、位和掛起改變只修改其相應(yīng)的標(biāo)志位,具體的處理過程在主循環(huán)程序中完成??刂戚斎?、控制輸出等其他標(biāo)志變化還需要執(zhí)行相應(yīng)的程序。22MCU中斷服務(wù)程序的控制輸入過程對于控制輸入過程,程序主要完成對USB協(xié)議中的請求描述符的讀取,即標(biāo)準(zhǔn)請求和廠商請求。D12會根據(jù)收到的標(biāo)記包填充中斷標(biāo)志寄存器并等待主機下一步操作的到來。以setup包為例,D12一旦接收到主機的請求描述符,立即將其存儲在控制端點的FIFO之中,向主機發(fā)送設(shè)備應(yīng)答(ACK)并對M

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論