激光多普勒測量技術(shù)(LDT)具有精度高、動態(tài)響應(yīng)快、測量范圍大,非接觸測量的特點,成為氣體、流體測量的強有力的工具。近年來,它在固體測量領(lǐng)域得到了長足的發(fā)展,被廣泛應(yīng)用于固體表面的粗糙度、運動速度場、位移場、振動場等的精密測量。它的迅猛發(fā)展對信號的采集提出了越來越高的要求:高動態(tài)范圍、低功耗、便于攜帶、能與計算機進行實時高速數(shù)據(jù)傳輸。針對這種要求,提出了一種基于USB的LDT實時數(shù)據(jù)采集系統(tǒng)。
USB(Universal Serial Bus)總線是由Intel,Com-paq,Microsoft,IBM,DEC,Northern Telecom等7家公司共同研制的一種針對PC的串行接口標準。它的熱插拔、即插即用、連接簡單、高帶寬、可總線供電等優(yōu)點幾乎使其成為目前計算機外設(shè)的首選通信接口。
該文依據(jù)的是USB1.1協(xié)議規(guī)范,總線一共4根:5V電源線、地線及兩根以差分形式驅(qū)動的數(shù)據(jù)線D+、D-。連接設(shè)備的電纜最長可達5 m,通過USB集線器以菊花鏈拓撲形式實現(xiàn)多達5級的拓撲連接,可外接127個USB設(shè)備。USB總線可以提供5V、500mA電流,并支持節(jié)約能源的掛機和喚醒模式。它規(guī)定的12Mbps傳輸速率,與一個標準的串行口相比,大約快出100倍,與一個標準并行口相比,大約快出10倍。
1、系統(tǒng)硬件設(shè)計
1.1硬件總體結(jié)構(gòu)
USB實時數(shù)據(jù)采集系統(tǒng)硬件如圖1-1所示。DSP控制器TMS320F240內(nèi)部的模數(shù)轉(zhuǎn)換模塊包括兩個獨立的采樣/保持電路和兩個10位雙積分型的轉(zhuǎn)換器,16路模擬輸入通道,可同時轉(zhuǎn)換2路信號。
16路模擬輸入信號由多路模擬開關(guān)選擇被檢測信號接入A/D轉(zhuǎn)換器,A/D轉(zhuǎn)換的結(jié)果經(jīng)TMS320F240寫入FIFO存儲器。
TMS320F240通過信號線IS選通USBN9603,將其作為DSP的I/O口訪問。USBN9603的D+腳外接一個1.5K的上拉電阻,使其工作在全速方式下,USBN9603的MODE1、MODE2均接至地電位,設(shè)定USBN9603為非總線復(fù)用方式。操作時序是將地址線A0置高,將欲讀寫的地址從數(shù)據(jù)線D0~D7寫入,然后將A0置低,讀寫D0~D7中的數(shù)據(jù)。
由DSP對A/D轉(zhuǎn)換的結(jié)果進行FFT分析、小波分析等,并通過USBN9603與主機交換數(shù)據(jù),接收控制命令。
1.2USBN9603控制器
目前市場上有兩類USB接口控制器:一類是帶USB接口的MCU,如Cypress的CY7C6xxxx第列、Intel的930xx系列等,嵌入了8051系列微控制器。其系統(tǒng)結(jié)構(gòu)和指令集大家都比較熟悉,便于硬件開發(fā)和軟件編程,然而開發(fā)工具較昂貴。另一類是專用接口控制器,如朗訊公司的USS820、國家半導(dǎo)體公司的USBN960x、PHILIPS公司的PDIUSBD11等,都留有與MCU、DSP的接口,搭配靈活。
USBN9603是一個支持USB1.1協(xié)議的節(jié)點控制器。具有靜態(tài)模式和異步喚醒功能;5V/3.3V供電;具有一個雙向的控制節(jié)點Endpoint0、3個發(fā)送端點、3個接收端點;具有兩種模式的8位并行接口(復(fù)用模式和非復(fù)用模式);改進的DMA傳輸方式;串行接口引擎SIE,主要負責(zé)時鐘恢復(fù)、EOP檢測、位填充、位解填充、CRC編解碼、組幀、拆幀、包類型識別及節(jié)點狀態(tài)識別等。
2、系統(tǒng)軟件設(shè)計
USB系統(tǒng)軟件設(shè)計分為3個部分:USB外設(shè)端的固件、主機操作系統(tǒng)上的客戶驅(qū)動程序以及應(yīng)用程序。應(yīng)用程序通過客戶驅(qū)動程序與系統(tǒng)USBDI(USBDevice Interface)進行通信,由系統(tǒng)產(chǎn)生數(shù)據(jù)的傳送動作,固件則響應(yīng)各種來自系統(tǒng)的標準要求,完成各種數(shù)據(jù)的交換工作和事件處理。
2.1固件(firmware)設(shè)計
固件是指被固化到TMS320F240中的程序。它完成兩個任務(wù):控制A/D的采樣和通過USB控制器與主機通信。USB有控制、中斷、批量、等時等4種數(shù)據(jù)傳輸模式。其中控制傳輸用于傳送一些系統(tǒng)控制命令,每個USB設(shè)備都必須有控制傳輸?shù)耐ǖ?;中斷傳輸適用于鼠標等人工輸入的設(shè)備使用;等時傳輸適用于對數(shù)據(jù)實時性要求較高的場合,如視頻、音頻數(shù)據(jù),但其設(shè)備和進程的同步設(shè)計有較大難度,且它不能提供錯誤檢查機制;批量傳輸能提供錯誤檢查機制,適用于打印機、調(diào)制解調(diào)器等不定期傳送大量數(shù)據(jù)的中速設(shè)備。
系統(tǒng)采用兩種傳輸方式:控制傳輸和批量傳輸??刂苽鬏斢脕韺崿F(xiàn)位于主機上的USB總線驅(qū)動程序(USBD模塊)以及編寫的功能驅(qū)動程序?qū)υO(shè)備的各種控制操作;批量傳輸用來完成將采集數(shù)據(jù)從設(shè)備傳送到主機。
2.2驅(qū)動程序設(shè)計
USB系統(tǒng)驅(qū)動程序采用分層驅(qū)動模型:USB設(shè)備驅(qū)動程序、USB函數(shù)層。其中函數(shù)層由通用串行總線驅(qū)動程序模塊(USBD)和主控制器驅(qū)動程序模塊(HCD)組成。它由Windows98提供,負責(zé)管理USB設(shè)備驅(qū)動程序和USB控制器之間的通信;加載及卸載USB驅(qū)動程序;與USB設(shè)備通用端點建立通信來執(zhí)行設(shè)備配置、數(shù)據(jù)與USB協(xié)議框架和打包格式的雙向轉(zhuǎn)換任務(wù)。
USB設(shè)備驅(qū)動程序是開發(fā)USB外設(shè)的一個關(guān)鍵,它的設(shè)計是基于WDM(Win-dows Driver Model,Windows驅(qū)動程序模型)。目前,Win-dows98提供了多種USB設(shè)備驅(qū)動程序,但并不針對實時數(shù)據(jù)采集設(shè)備,需要Win-dows98/NT/2000 DDK開發(fā)包和SoftICE等調(diào)試工具。它可由4個模塊實現(xiàn):初始化模塊、即插即用管理模塊、電源管理模塊以及I/O功能實現(xiàn)模塊。
初始化模塊提供一個Driver Entry入口函數(shù),來對所有的I/O請求包IRP(I/ORequest Packet)處理例程作定義。電源管理模塊負責(zé)設(shè)備的掛起與喚醒。
當USB設(shè)備上電時,主機會向USB控制器發(fā)送獲得設(shè)備描述的命令,設(shè)備描述符是一個固定長度為18字節(jié)的數(shù)字序列,反映了該USB設(shè)備的基本屬性。當USB控制器從USB總線檢測到這一命令時,USB控制器以中斷方式將此請求通知到TMS320F240。TMS320F240通過訪問USB控制器的控制寄存器和數(shù)據(jù)寄存器,獲得各種參數(shù),向主機返回配置所包含的所有接口和接口所包含的所有端點的描述符。主機獲得后,設(shè)備與主機的“握手”就初步完成了。
即插即用管理模塊實現(xiàn)USB設(shè)備的熱插拔及動態(tài)配置。當硬件檢測到USB設(shè)備接入時,Win-dows98查找相應(yīng)的驅(qū)動程序,并調(diào)用它的Driver En-try例程,即插即用管理器調(diào)用驅(qū)動程序的Add De-vice例程,告訴它添加了一個設(shè)備;然后,驅(qū)動程序為USB設(shè)備建立一個FDO(功能設(shè)備對象),在此處理工程中,驅(qū)動程序收到一個IRP-MN-START-DE-VICE的IRP,包括設(shè)備分配的資源信息。至此,設(shè)備被正確設(shè)置,驅(qū)動程序開始與硬件對話。當然,設(shè)備運行過程中,如果設(shè)備的狀態(tài)發(fā)生變化(暫停、拔出等),即插即用管理器也同樣發(fā)出相應(yīng)的IRP,由驅(qū)動程序進行相應(yīng)的處理。
I/O功能實現(xiàn)模塊完成I/O請求的大部分工作。當應(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后,根據(jù)其中的控制碼,構(gòu)造相應(yīng)的USB請求塊,并把它放到一個新的IRP,此IRP被傳遞到USBD模塊。USBD模塊根據(jù)此IRP執(zhí)行相應(yīng)的操作,并把結(jié)果通過IRP返回給USB功能驅(qū)動程序。USB功能驅(qū)動程序接到此IRP后,將操作結(jié)果再通過IRP返回給I/O管理器。并由I/O管理器將結(jié)果最終返回給應(yīng)用程序,至此,對USB設(shè)備的一次I/O操作完成。
2.3應(yīng)用程序設(shè)計
PC主機是實時數(shù)據(jù)采集系統(tǒng)的中心,其基本功能有開啟或閉合USB設(shè)備、檢測USB設(shè)備、設(shè)置USB數(shù)據(jù)傳輸管道、設(shè)置A/D狀態(tài)和數(shù)據(jù)采集端口、實時從USB接口采集數(shù)據(jù)、顯示數(shù)據(jù)。
此外,具有數(shù)據(jù)分析功能包括數(shù)字濾波模塊、線性化處理模塊、解調(diào)模塊、PLL鎖相環(huán)倍頻模塊、標度變換模塊、與下位機的通信模塊、下位機的控制字生成模塊和數(shù)據(jù)庫的管理模塊等幾個部分。
3、結(jié)束語
為了提高設(shè)計質(zhì)量,所設(shè)計的激光多普勒測量實時數(shù)據(jù)采集系統(tǒng)通過了測試USB外設(shè)功能的一系列軟件如Bwqlinst,USBComp等,完成了高精度數(shù)據(jù)采集和高速數(shù)據(jù)傳送。
責(zé)任編輯:gt
-
usb
+關(guān)注
關(guān)注
60文章
8193瀏覽量
273200 -
計算機
+關(guān)注
關(guān)注
19文章
7667瀏覽量
90864 -
數(shù)據(jù)采集
+關(guān)注
關(guān)注
40文章
7196瀏覽量
116556
發(fā)布評論請先 登錄
基于USB數(shù)據(jù)采集系統(tǒng)的研究與設(shè)計--ResearchandDesignofDataAequisitio
【數(shù)據(jù)采集分享】基于LABVIEW的USB接口高速數(shù)據(jù)采集的設(shè)計
基于PIC單片機USB接口的數(shù)據(jù)采集系統(tǒng)設(shè)計
基于PIC單片機USB接口的數(shù)據(jù)采集系統(tǒng)設(shè)計
基于ADuC841的USB接口數(shù)據(jù)采集系統(tǒng)設(shè)計
基于LABVIEW的USB接口多路高速數(shù)據(jù)采集系統(tǒng)的設(shè)計
基于USB總線的高速數(shù)據(jù)采集系統(tǒng)
一種基于SOPC和USB2.0接口的高速數(shù)據(jù)采集系統(tǒng)及虛擬儀器設(shè)計
基于USB接口的數(shù)據(jù)采集模塊的設(shè)計與實現(xiàn)
基于USB 接口的高速數(shù)據(jù)采集卡的設(shè)計
基于USB總線接口的數(shù)據(jù)采集系統(tǒng)
通用組件實現(xiàn)基于USB的數(shù)據(jù)采集系統(tǒng)

高速USB數(shù)據(jù)采集系統(tǒng)的設(shè)計

基于LABVIEW的USB接口多路高速數(shù)據(jù)采集系統(tǒng)的設(shè)計
基于USB總線的數(shù)據(jù)采集設(shè)備的設(shè)計與實現(xiàn)

評論