基于USB接口的探地雷達(dá)數(shù)據(jù)采集系統(tǒng)
1 引 言
本文引用地址:http://www.ex-cimer.com/article/187532.htm探地雷達(dá)( ground penetrating radar,GPR)是一種新型的電磁探測(cè)設(shè)備,它具有快速、簡(jiǎn)便的對(duì)淺層目標(biāo)和結(jié)構(gòu)進(jìn)行無(wú)損探測(cè)的特點(diǎn),也是目前分辨率、效率最高的地下目標(biāo)探測(cè)設(shè)備之一,因此被廣泛的應(yīng)用于城建、交通、地質(zhì)、考古、國(guó)防等部門(mén)。在探地雷達(dá)的應(yīng)用中,能否準(zhǔn)確、高效地采集數(shù)據(jù)是探地雷達(dá)系統(tǒng)實(shí)用性和可靠性的判據(jù)之一。數(shù)據(jù)采集的準(zhǔn)確性直接關(guān)系到探測(cè)目標(biāo)的準(zhǔn)確性和雷達(dá)數(shù)據(jù)的進(jìn)一步處理工作;采集數(shù)據(jù)的速度關(guān)系到系統(tǒng)能否實(shí)現(xiàn)實(shí)時(shí)顯示。所以,當(dāng)雷達(dá)設(shè)備將采集數(shù)據(jù)傳回主機(jī)時(shí),就需要選擇一種接口來(lái)實(shí)現(xiàn)數(shù)據(jù)準(zhǔn)確、高速的傳輸。
傳統(tǒng)的數(shù)據(jù)采集系統(tǒng)的數(shù)據(jù)傳輸接口在低速時(shí)常采用標(biāo)準(zhǔn)串行口或并行口,高速時(shí)一般采用PCI總線接口。它們存在如下缺點(diǎn):雖然標(biāo)準(zhǔn)串行口或并行口應(yīng)用開(kāi)發(fā)比較簡(jiǎn)單,但是數(shù)據(jù)傳輸速率較低;PCI總線盡管數(shù)據(jù)傳輸速率比較快,但是硬件設(shè)計(jì)和驅(qū)動(dòng)開(kāi)發(fā)難度較大,PC I卡的尺寸面積限制了I/O接口的擴(kuò)展;同時(shí),這三者都不支持即插即用的功能。而USB接口規(guī)范1. 1中的12Mbp s的傳輸速率已經(jīng)可以滿足探地雷達(dá)數(shù)據(jù)采集系統(tǒng)的使用需求,其接口簡(jiǎn)單、便攜,支持即插即用的優(yōu)點(diǎn)又在很大程度上簡(jiǎn)化了系統(tǒng)的硬件設(shè)備,提高了雷達(dá)設(shè)備的可移動(dòng)性。正是基于USB接口的這些優(yōu)點(diǎn),設(shè)計(jì)了基于USB接口的探地雷達(dá)數(shù)據(jù)采集系統(tǒng),并開(kāi)發(fā)了配套的應(yīng)用軟件,實(shí)現(xiàn)了探地雷達(dá)數(shù)據(jù)的采集、傳輸和實(shí)時(shí)顯示。
2 系統(tǒng)組成與工作原理
2. 1 系統(tǒng)組成
探地雷達(dá)數(shù)據(jù)采集系統(tǒng)由兩部分組成:計(jì)算機(jī)和數(shù)據(jù)采集卡。計(jì)算機(jī)作為采集系統(tǒng)的主控設(shè)備,實(shí)現(xiàn)對(duì)系統(tǒng)的控制和數(shù)據(jù)處理等功能;數(shù)據(jù)采集卡由模擬信號(hào)放大器、數(shù)控濾波器、時(shí)控增益放大器、高精度AD變換電路、F IFO、FT245 USB接口電路和時(shí)序控制電路組成,主要完成對(duì)取樣電路輸出信號(hào)的放大、濾波、采集等任務(wù),并將采集數(shù)據(jù)通過(guò)USB接口傳輸?shù)接?jì)算機(jī)內(nèi)存中,供計(jì)算機(jī)處理和實(shí)時(shí)顯示。系統(tǒng)組成框圖如圖1所示。
數(shù)據(jù)采集系統(tǒng)采用F IFO 設(shè)計(jì)數(shù)據(jù)傳送通道,大大簡(jiǎn)化了系統(tǒng)的硬件電路和控制時(shí)序。在進(jìn)行數(shù)據(jù)采集的同時(shí),控制邏輯還將存儲(chǔ)在RAM中的增益曲線數(shù)據(jù)周期性的送入DAC中,以實(shí)現(xiàn)時(shí)控增益放大。在數(shù)據(jù)采集卡中還設(shè)計(jì)了一個(gè)RS - 232 控制器,用于接收外部定位裝置發(fā)送的定位信息。在探地雷達(dá)進(jìn)行移動(dòng)探測(cè)時(shí),這個(gè)定位信息用于標(biāo)示目標(biāo)的地理位置。
圖1 探地雷達(dá)數(shù)據(jù)采集系統(tǒng)組成框圖
2. 2 工作原理
探地雷達(dá)數(shù)據(jù)采集系統(tǒng)在工作時(shí),首先通過(guò)打開(kāi)計(jì)算機(jī)應(yīng)用軟件將雷達(dá)設(shè)備啟動(dòng),然后將工作參數(shù)傳送給數(shù)據(jù)采集卡,完成對(duì)雷達(dá)各項(xiàng)參數(shù)的控制。
命令被響應(yīng)后,雷達(dá)開(kāi)始正常工作。采集卡將采集到的數(shù)據(jù)經(jīng)過(guò)采集控制和傳輸控制后傳送給計(jì)算機(jī)。
數(shù)據(jù)采集控制:數(shù)據(jù)采集卡根據(jù)主機(jī)設(shè)置的參數(shù)采集雷達(dá)信號(hào)。首先將模擬信號(hào)進(jìn)行預(yù)處理,預(yù)處理包括濾波處理和增益控制等,以去除模擬信號(hào)中的噪聲,使模擬信號(hào)的幅度適于進(jìn)行AD 轉(zhuǎn)換。
然后進(jìn)行AD 轉(zhuǎn)換,對(duì)模擬信號(hào)采樣,得到數(shù)字信號(hào)。數(shù)據(jù)采集卡在接收探地雷達(dá)傳來(lái)的模擬視頻信號(hào)的同時(shí),還接收幀同步信號(hào)。數(shù)據(jù)采集卡將轉(zhuǎn)換得到的A - scan (A - scan:探地雷達(dá)在一個(gè)測(cè)量位置探測(cè)獲取的一維時(shí)域波形圖)數(shù)據(jù)與幀同步數(shù)據(jù)混合,然后存入FIFO。
數(shù)據(jù)傳輸控制:計(jì)算機(jī)通過(guò)USB接口對(duì)數(shù)據(jù)采集卡進(jìn)行訪問(wèn),并讀取F IFO 中的數(shù)據(jù)。計(jì)算機(jī)對(duì)數(shù)據(jù)采集卡的訪問(wèn)是通過(guò)查詢方式完成的。數(shù)據(jù)采集卡內(nèi)置的F IFO容量設(shè)計(jì)為32K ×9bit,如果計(jì)算機(jī)沒(méi)有及時(shí)讀走FIFO內(nèi)的數(shù)據(jù),F(xiàn) IFO就會(huì)出現(xiàn)溢出錯(cuò)誤。所以查詢的時(shí)間間隔要滿足在該間隔內(nèi)采集的數(shù)據(jù)不能大于F IFO的容量;另一方面,查詢間隔太短,會(huì)加大計(jì)算機(jī)系統(tǒng)的負(fù)擔(dān),影響計(jì)算機(jī)進(jìn)行數(shù)據(jù)處理的速度,所以要選取適當(dāng)?shù)牟樵冮g隔。以數(shù)據(jù)采集卡的最快采集速度為例進(jìn)行計(jì)算: 每個(gè)scan的采樣點(diǎn)數(shù)為1024,采樣速率為512 scan / s,每一點(diǎn)的數(shù)據(jù)長(zhǎng)度為2字節(jié)。這樣在1 s內(nèi)采集數(shù)據(jù)的大小為1024 ×2B ×512 = 1MB。在這樣的采樣率下,經(jīng)32ms采集的數(shù)據(jù)就可將F IFO 裝滿,考慮到計(jì)算機(jī)系統(tǒng)的其它因素可能導(dǎo)致數(shù)據(jù)傳輸?shù)淖璧K,將查詢間隔設(shè)為20ms。此時(shí)既可以滿足數(shù)據(jù)傳輸?shù)目煽啃?,又可?jié)約計(jì)算機(jī)系統(tǒng)的資源。
3 系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
3. 1 硬件設(shè)計(jì)
與一般的通用數(shù)據(jù)采集卡不同,探地雷達(dá)數(shù)據(jù)采集系統(tǒng)的數(shù)據(jù)采集卡不僅要完成數(shù)據(jù)的采集,還需要根據(jù)探地雷達(dá)信號(hào)的特點(diǎn),對(duì)模擬信號(hào)進(jìn)行相應(yīng)的預(yù)處理工作。
由于探測(cè)越深的目標(biāo),探地雷達(dá)接收的回波信號(hào)越小。為了提高對(duì)深層目標(biāo)的分辨率,要采用時(shí)控增益放大器對(duì)取樣電路輸出的信號(hào)進(jìn)行放大。對(duì)淺層目標(biāo)反射的較強(qiáng)的回波信號(hào),放大器具有較小的增益;對(duì)深層目標(biāo)反射的較弱的回波信號(hào),放大器具有較大的增益。由于探地雷達(dá)對(duì)地下目標(biāo)進(jìn)行重復(fù)掃描,所以放大器的增益曲線是與掃描頻率同步的周期信號(hào),也就是時(shí)間的函數(shù),所以稱為時(shí)控增益放大器。時(shí)控增益放大器的增益曲線通過(guò)計(jì)算機(jī)軟件進(jìn)行調(diào)節(jié),可以為任意的曲線。這樣就給使用者帶來(lái)了很大的靈活性,實(shí)驗(yàn)中可以對(duì)感興趣回波區(qū)域的放大增益進(jìn)行調(diào)節(jié)以使目標(biāo)更加明顯。時(shí)控增益放大器由壓控增益放大器、DAC和FPGA內(nèi)部的RAM及控制電路組成。
由于不同的采樣點(diǎn)數(shù)和掃描速度使得探地雷達(dá)接收機(jī)輸出信號(hào)的有效帶寬不同,為了提高信噪比,設(shè)計(jì)了模擬可控低通濾波以實(shí)現(xiàn)對(duì)不同帶寬信號(hào)的低通濾波。該部分采用集成的開(kāi)關(guān)電容濾波器設(shè)計(jì),同時(shí)在FPGA中設(shè)計(jì)控制電路對(duì)該濾波器進(jìn)行控制。最終實(shí)現(xiàn)了一個(gè)截止頻率為0. 1 - 50KHz可變、8階巴特沃思低通濾波器。
在USB芯片的選取上,選擇了FTD I公司推出的FT245BM芯片。該芯片功能強(qiáng)大,傳輸速率快,能夠?qū)崿F(xiàn)USB協(xié)議與并行I/O協(xié)議之間的轉(zhuǎn)換,并支持USB1. 1 及USB2. 0 規(guī)范,數(shù)據(jù)傳輸速率可達(dá)1MB /S。不論從芯片本身的功能,還是從系統(tǒng)開(kāi)發(fā)的角度出發(fā),該芯片都是探地雷達(dá)數(shù)據(jù)采集系統(tǒng)USB接口設(shè)計(jì)的理想選擇。FT245BM片內(nèi)128 字節(jié)的接收F IFO和384字節(jié)的發(fā)送F IFO使得芯片可以實(shí)現(xiàn)高速數(shù)據(jù)吞吐。當(dāng)USB 外設(shè)向主機(jī)傳輸數(shù)據(jù)時(shí),只需在芯片發(fā)送器的狀態(tài)位為空時(shí)向設(shè)備寫(xiě)入一個(gè)字節(jié)寬度即可。如果發(fā)送FIFO 已滿,設(shè)備將發(fā)送器的狀態(tài)位設(shè)置為滿以禁止數(shù)據(jù)寫(xiě)入,直到F IFO中有部分?jǐn)?shù)據(jù)通過(guò)USB接口傳輸出去。當(dāng)主機(jī)通過(guò)USB向外設(shè)傳輸數(shù)據(jù)時(shí),設(shè)備將首先判斷芯片接收器的狀態(tài)位是否為滿以確定是否可以接收數(shù)據(jù),然后外設(shè)從主機(jī)讀取數(shù)據(jù)直到接收器的狀態(tài)位為滿,表明已沒(méi)有可以讀取的數(shù)據(jù)。
3. 2 驅(qū)動(dòng)程序設(shè)計(jì)
W indows系統(tǒng)下的USB驅(qū)動(dòng)包括三層,從高到低依次是:USB客戶端設(shè)備驅(qū)動(dòng)(USB Client DeviceDriver) 、USB總線驅(qū)動(dòng)(USB Hub (Bus) Driver) 、主機(jī)控制器驅(qū)動(dòng)(Host ControllerDriver)。后兩者由Windows系統(tǒng)提供,用戶只需要開(kāi)發(fā)USB 客戶端設(shè)備驅(qū)動(dòng)程序,F(xiàn)TD I公司提供了一個(gè)通用的驅(qū)動(dòng)程序(General Purpose Driver) ,即FTD2XX. SYS。為了增強(qiáng)系統(tǒng)的通用性和可移植性,可以將設(shè)備驅(qū)動(dòng)程序( FTD2XX. SYS)進(jìn)行動(dòng)態(tài)鏈接庫(kù)函數(shù)封裝,得到動(dòng)態(tài)鏈接庫(kù)FTD2XX. DLL,從而可以通過(guò)動(dòng)態(tài)鏈接庫(kù)直接訪問(wèn)驅(qū)動(dòng)程序。驅(qū)動(dòng)程序的結(jié)構(gòu)如圖2所示。
實(shí)現(xiàn)動(dòng)態(tài)鏈接庫(kù)對(duì)驅(qū)動(dòng)程序的訪問(wèn),首先調(diào)用FTD I公司提供的接口函數(shù)FT_Open ( )打開(kāi)設(shè)備并獲得驅(qū)動(dòng)程序的句柄,然后調(diào)用FT_GetStatus ( )獲得設(shè)備接收數(shù)據(jù)的長(zhǎng)度、傳輸數(shù)據(jù)的長(zhǎng)度和設(shè)備的當(dāng)前狀態(tài),從而通過(guò)驅(qū)動(dòng)程序得到設(shè)備輸出緩沖區(qū)的信息。進(jìn)而調(diào)用函數(shù)FT_Read ( )和FT_W rite ( )實(shí)現(xiàn)對(duì)設(shè)備的讀寫(xiě)。當(dāng)應(yīng)用軟件退出時(shí),用FT_Close ( )關(guān)閉設(shè)備。
評(píng)論