探地雷達信號的數據采集與顯示研究
摘要:介紹了使用數據采集控制板HY-6070 C進(jìn)行探地雷達信號的數據采集方法以及應用VC++編程進(jìn)行數據堆積顯示的軟件編制結果。實(shí)際使用證明它們均正確有效。
關(guān)鍵詞:探地雷達;數據采集;堆積顯示
隨著(zhù)電子技術(shù)和計算機技術(shù)的迅速發(fā)展,幾種商業(yè)化的探地雷達系統開(kāi)始得到了初步應用,其中具有代表性的有加拿大探頭及軟件公司(SSI)的PulseEKKO系列、瑞典地質(zhì)公司(SGAB)的RAMAC鉆孔地質(zhì)雷達系統、美國地球物理探測設備公司(GSSI)的SIR系統及日本應用地質(zhì)株式會(huì )社(OYO)的Georadar系列等。但是,這些國外產(chǎn)品造價(jià)昂貴,且測量的局限性較大,嚴重地影響了它的普及。鑒于探地雷達具有廣泛的用途對其進(jìn)行了開(kāi)發(fā)研制,目前已研制成功。由于篇幅限制,文中在此重點(diǎn)介紹數據采集部分和顯示軟件。
1 數據采集
在探地雷達數據采集試驗中,所使用的是HY-6070 C通用數據采集控制板,此板的功能主要是A/D與D/A數據轉換。其接口是ISA總線(xiàn)型的,可以直接插入具有ISA總線(xiàn)擴展槽的計算機中,在計算機的控制下構成信號采集、監視輸入系統和模擬量電壓信號、數字電壓信號輸入系統。HY-6070 C板上安裝有12 bit分辨率的A/D轉換器,其通過(guò)率為40 kHz。為用戶(hù)提供了兩種模擬信號輸入方式:16路單端輸入和8路雙端輸入。通過(guò)硬件設置,模擬電壓信號輸入范圍可以是0~5 V,土2.5 V,±5 V。此板還提供了1路12 bit D/A轉換模擬電壓輸出通道。在HY-6070 C板上還裝有可編程定時(shí)/計數器82C54,其中82C54的定時(shí)/計數器1和定時(shí)/計數器2級連,用以生成定時(shí)啟動(dòng)A/D轉換的信號。定時(shí)/計數器O單獨引出,供用戶(hù)使用。HY-6070 C板支持軟件觸發(fā)、定時(shí)觸發(fā)和外觸發(fā)3種A/D電路啟動(dòng)轉換工作方式。支持軟件查詢(xún)和中斷申請數據傳送工作方式。HY-6070 c板還為用戶(hù)提供了16路數字輸入/輸出通道信號,接口電平符合TTL電平標準。
文中利用軟件編程啟動(dòng)HY-6070 C板的A/D轉換功能。在軟件觸發(fā)方式下,每次啟動(dòng)A/D轉換前由軟件切換通道,然后發(fā)送A/D轉換啟動(dòng)命令來(lái)觸發(fā)A/D轉換。當A/D轉換完成后,可通過(guò)軟件查詢(xún)A/D完成位,當程序測到A/D完成位為“1”時(shí),即可讀取A/D轉換的12 bit數據。
A/D采樣程序步驟如下:
(1)設置板上的模擬信號輸入通道(共16個(gè)通道,編號為0~15);
(2)設置A/D觸發(fā)方式,這里設置為軟件觸發(fā);
(3)開(kāi)始觸發(fā)A/D轉換;
(4)等待并查詢(xún)A/D轉換完成標志;
(5)對接收到的數據進(jìn)行存儲。
在HY-6070 c數據采集卡內預先分配了各種地址,程序通過(guò)訪(fǎng)問(wèn)這些地址并對其進(jìn)行相應的讀寫(xiě)操作來(lái)控制A/D采樣的實(shí)現。在實(shí)際應用中,可以直接利用由C語(yǔ)言編制的應用程序來(lái)控制采集卡進(jìn)行A/D轉換,只需調用頭文件為dos.h中的outport(address,data)(address為地址值,data為要向該地址輸出的數據)與inportb(ADaddress)(ADadress是A/D轉換數據所存儲的地址)兩個(gè)函數即可,但是應用程序的使用環(huán)境必須是DOS操作系統。這給應用程序的使用者帶來(lái)了諸多不便。因此為了讓用戶(hù)方便使用,作者制作了基于Windows操作系統的顯示軟件。由于Windows操作系統不能像DOS那樣直接讀取采集卡的板內地址,因此要想面向數據采集卡編程,首先需要安裝數據采集卡的驅動(dòng)程序,既讓W(xué)indows操作系統能夠識別到此硬件。在接下來(lái)的編程中還必須使用到數據采集卡自帶的兩個(gè)文件,HKIoMFC.H和HKIoMFC.lib,在這兩個(gè)文件中定義了對采集卡進(jìn)行控制的變量與函數體,編程時(shí)即可直接調用。
2 顯示軟件
利用Visual C++6.0在Windows操作系統下開(kāi)發(fā)應用程序主要是使用MFC(Microsoft Fbundation Class)類(lèi)庫。MFC是微軟為Windows程序員提供的一個(gè)面向對象的Windows編程接口,它簡(jiǎn)化了Windows編程工作。使用MFC類(lèi)庫的優(yōu)點(diǎn):首先,MFC提供了一個(gè)標準化的結構,這樣開(kāi)發(fā)人員不必從頭設計創(chuàng )建和管理一個(gè)標準Windows應用程序所需的程序,而是從一個(gè)比較高的起點(diǎn)編程,可節省大量的時(shí)間;其次,它提供了大量的代碼,指導用戶(hù)編程時(shí)實(shí)現某些技術(shù)和功能。MFC庫充分利用了Microsoft開(kāi)發(fā)人員多年開(kāi)發(fā)Windows程序的經(jīng)驗,并可以將這些經(jīng)驗融入到自己開(kāi)發(fā)的應用程序中去。
Visual C++6.0集成環(huán)境對MFC提供了多種界面友好的輔助工具,用AppWizard可以生成新的類(lèi),可以對類(lèi)成員進(jìn)行維護。MFC提供了一種機制,把Windows的消息與類(lèi)的某個(gè)成員直接聯(lián)系起來(lái),減少程序員中間的處理過(guò)程。比如在菜單中加了一個(gè)命令項,指定其命令I(lǐng)D,然后用ClassWizard可以指定此菜單ID與類(lèi)的成員函數相聯(lián)系,所需要的編程就是實(shí)現該成員函數的代碼,其他代碼均由MFC和Class-Wizard負責處理。這種機制提高了程序開(kāi)發(fā)效率,而且Visual C++提供了MFC的所有源代碼,這些源代碼不僅可供參考,還為應用程序的調試提供了方便,源代碼的開(kāi)放性也是MFC獲得成功的一個(gè)主要原因。
作者所設計的顯示軟件是基于單文檔(SDI)框架結構的應用程序,其外觀(guān)如圖1所示。
由圖可見(jiàn),單文檔的外觀(guān)與常見(jiàn)的Windows應用程序相似,因此操作方便,只需要選擇各個(gè)菜單執行相應的功能即可。
評論