基于USB的LDT實(shí)時(shí)數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)
激光多普勒測量技術(shù)(LDT)具有精度高、動態(tài)響應(yīng)快、測量范圍大,非接觸測量的特點(diǎn),成為氣體、流體測量的強(qiáng)有力的工具。近年來,它在固體測量領(lǐng)域得到了長足的發(fā)展,被廣泛應(yīng)用于固體表面的粗糙度、運(yùn)動速度場、位移場、振動場等的精密測量。它的迅猛發(fā)展對信號的采集提出了越來越高的要求:高動態(tài)范圍、低功耗、便于攜帶、能與計(jì)算機(jī)進(jìn)行實(shí)時(shí)高速數(shù)據(jù)傳輸。針對這種要求,提出了一種基于USB的LDT實(shí)時(shí)數(shù)據(jù)采集系統(tǒng)。
USB(Universal Serial Bus)總線是由Intel,Com-paq,Microsoft,IBM,DEC,Northern Telecom等7家公司共同研制的一種針對PC的串行接口標(biāo)準(zhǔn)。它的熱插拔、即插即用、連接簡單、高帶寬、可總線供電等優(yōu)點(diǎn)幾乎使其成為目前計(jì)算機(jī)外設(shè)的首選通信接口。
該文依據(jù)的是USB1.1協(xié)議規(guī)范,總線一共4根:5V電源線、地線及兩根以差分形式驅(qū)動的數(shù)據(jù)線D+、D-。連接設(shè)備的電纜最長可達(dá)5 m,通過USB集線器以菊花鏈拓?fù)湫问綄?shí)現(xiàn)多達(dá)5級的拓?fù)溥B接,可外接127個USB設(shè)備。USB總線可以提供5V、500mA電流,并支持節(jié)約能源的掛機(jī)和喚醒模式。它規(guī)定的12Mbps傳輸速率,與一個標(biāo)準(zhǔn)的串行口相比,大約快出100倍,與一個標(biāo)準(zhǔn)并行口相比,大約快出10倍。
1 系統(tǒng)硬件設(shè)計(jì)
1.1 硬件總體結(jié)構(gòu)
USB實(shí)時(shí)數(shù)據(jù)采集系統(tǒng)硬件如圖1-1所示。DSP控制器TMS320F240內(nèi)部的模數(shù)轉(zhuǎn)換模塊包括兩個獨(dú)立的采樣/保持電路和兩個10位雙積分型的轉(zhuǎn)換器,16路模擬輸入通道,可同時(shí)轉(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ù)用方式。操作時(shí)序是將地址線A0置高,將欲讀寫的地址從數(shù)據(jù)線D0~D7寫入,然后將A0置低,讀寫D0~D7中的數(shù)據(jù)。
由DSP對A/D轉(zhuǎn)換的結(jié)果進(jìn)行FFT分析、小波分析等,并通過USBN9603與主機(jī)交換數(shù)據(jù),接收控制命令。
1.2 USBN9603控制器
目前市場上有兩類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é)點(diǎn)控制器。具有靜態(tài)模式和異步喚醒功能;5V/3.3V供電;具有一個雙向的控制節(jié)點(diǎn)Endpoint0、3個發(fā)送端點(diǎn)、3個接收端點(diǎn);具有兩種模式的8位并行接口(復(fù)用模式和非復(fù)用模式);改進(jìn)的DMA傳輸方式;串行接口引擎SIE,主要負(fù)責(zé)時(shí)鐘恢復(fù)、EOP檢測、位填充、位解填充、CRC編解碼、組幀、拆幀、包類型識別及節(jié)點(diǎn)狀態(tài)識別等。
2系統(tǒng)軟件設(shè)計(jì)
USB系統(tǒng)軟件設(shè)計(jì)分為3個部分:USB外設(shè)端的固件、主機(jī)操作系統(tǒng)上的客戶驅(qū)動程序以及應(yīng)用程序。應(yīng)用程序通過客戶驅(qū)動程序與系統(tǒng)USBDI(USBDevice Interface)進(jìn)行通信,由系統(tǒng)產(chǎn)生數(shù)據(jù)的傳送動作,固件則響應(yīng)各種來自系統(tǒng)的標(biāo)準(zhǔn)要求,完成各種數(shù)據(jù)的交換工作和事件處理。
2.1 固件(firmware)設(shè)計(jì)
固件是指被固化到TMS320F240中的程序。它完成兩個任務(wù):控制A/D的采樣和通過USB控制器與主機(jī)通信。USB有控制、中斷、批量、等時(shí)等4種數(shù)據(jù)傳輸模式。其中控制傳輸用于傳送一些系統(tǒng)控制命令,每個USB設(shè)備都必須有控制傳輸?shù)耐ǖ溃恢袛鄠鬏斶m用于鼠標(biāo)等人工輸入的設(shè)備使用;等時(shí)傳輸適用于對數(shù)據(jù)實(shí)時(shí)性要求較高的場合,如視頻、音頻數(shù)據(jù),但其設(shè)備和進(jìn)程的同步設(shè)計(jì)有較大難度,且它不能提供錯誤檢查機(jī)制;批量傳輸能提供錯誤檢查機(jī)制,適用于打印機(jī)、調(diào)制解調(diào)器等不定期傳送大量數(shù)據(jù)的中速設(shè)備。
系統(tǒng)采用兩種傳輸方式:控制傳輸和批量傳輸??刂苽鬏斢脕韺?shí)現(xiàn)位于主機(jī)上的USB總線驅(qū)動程序(USBD模塊)以及編寫的功能驅(qū)動程序?qū)υO(shè)備的各種控制操作;批量傳輸用來完成將采集數(shù)據(jù)從設(shè)備傳送到主機(jī)。
評論