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