新聞中心

EEPW首頁 > 測試測量 > 設(shè)計應用 > 激光聲遙感系統(tǒng)顯控軟件的功能及設(shè)計

激光聲遙感系統(tǒng)顯控軟件的功能及設(shè)計

作者: 時間:2007-06-28 來源:網(wǎng)絡(luò) 收藏

要:本文介紹了顯控的功能和設(shè)計中的關(guān)鍵技術(shù),并給出其在Lab Windows/CVI環(huán)境下的實現(xiàn)方案,總結(jié)了基于此種方案的優(yōu)越性。
關(guān)鍵詞:Lab Windows/CVI; 虛擬儀器; DSP

1 引言

Windows操作因其卓越的性能已成為各個領(lǐng)域廣泛采用的操作平臺,由于Windows對系統(tǒng)底層操作采取了屏蔽的策略,因而對用戶而言,系統(tǒng)變得更為安全,但這卻給眾多的硬件或者系統(tǒng)開發(fā)人員帶來了不小的困難,因為只要應用中涉及到底層的操作,如直接訪問I/O端口和物理內(nèi)存等,開發(fā)人員就不得不深入到Windows的內(nèi)核去編寫屬于系統(tǒng)級的虛擬設(shè)備驅(qū)動程序。筆者開發(fā)的系統(tǒng)顯控中涉及到物理內(nèi)存的訪問和信號波形的顯示,如采用VC++等語言開發(fā),一方面開發(fā)虛擬設(shè)備驅(qū)動程序工作難度較大,另外波形的顯示及選取定位等工作實現(xiàn)起來也較繁雜,而如果在Lab Windows/CVI[1]環(huán)境下完成這一工作,這一切將變得十分輕松,而且使系統(tǒng)的性能更加出色。

2 關(guān)于Lab windows/CVI

Lab Windows/CVI 是美國NI(National Instrument)公司開發(fā)的Measurement Studio軟件組中的一員,是32位的面向計算機測控領(lǐng)域的虛擬儀器軟件開發(fā)平臺,可在Windows 98/NT/2000等操作系統(tǒng)下運行。它以ANSI C為核心,將功能強大、使用靈活的C語言平臺與用于數(shù)據(jù)采集、分析和顯示的測控專業(yè)工具有機結(jié)合起來。它的交互式開發(fā)平臺、交互式編程方法、豐富的功能面板和庫函數(shù)大大增強了C語言的功能,為熟悉C語言的開發(fā)人員建立自動化檢測系統(tǒng)、自動測量環(huán)境、數(shù)據(jù)采集系統(tǒng)、過程控制系統(tǒng)等提供了一個理想的軟件開發(fā)環(huán)境。當前的最新版本Lab Windows/CVI 7.0更因其完全集成的工作平臺(Workspace)、可生成代碼的硬件配置助手以及經(jīng)重新設(shè)計的數(shù)據(jù)采集界面為廣大用戶提供更靈活、高效又長期穩(wěn)定的ANSI C編程,大幅增加了開發(fā)速度。它的用戶界面函數(shù)庫除了提供一般程序設(shè)計語言提供的控件外,還擴展了新的完善的帶有圖像、標記和分欄功能的樹型控件、圖形圖例控件、以及“open GL”控件 等;新的圖形控件具有平滑顯示,抗混疊, 內(nèi)置DataSocket以及另一個x軸的功能,能更有效地顯示測量數(shù)據(jù)。另外,Lab Windows/CVI還支持多線程編程及物理內(nèi)存訪問,它不僅提供了用來進行數(shù)據(jù)存儲和讀取的內(nèi)存管理函數(shù),還在Utility函數(shù)庫中提供了利用物理地址對內(nèi)存直接訪問的Physical Memory Access子類,本文中顯控軟件的設(shè)計正是基于它這幾個方面的特性。

3、系統(tǒng)概述

激光聲遙感系統(tǒng)[2 ]是一種新型的水下目標遙感探測系統(tǒng),它通過對接收到的水下目標反射的寬帶窄脈沖信號進行實時處理來實現(xiàn)對水下目標的探測和定位。因此,在軍事和國防建設(shè)中具有重要的意義。

系統(tǒng)的工作原理為高能激光束照射水面在水中產(chǎn)生高頻寬帶聲脈沖信號,信號在傳播的過程中遇到水下目標發(fā)生散射或反射后有部分聲波會透過水面?zhèn)鞑サ娇諝庵?。在空中布放的聲陣將接收到的聲信號轉(zhuǎn)換為電信號后送多波束接收機進行采集、處理、顯示、分析,進而確定水下目標的方位和距離。

按系統(tǒng)要求,該接收機將完成對采樣率高達384KHz的8路信號的波束形成、檢波和短積分處理,并能夠?qū)崟r顯示14個波束的目標信號方位─距離畫面及光標所選目標的方位、距離數(shù)據(jù),系統(tǒng)的DSP部分包括前置預處理分機、高速信號處理分機和顯示控制分機三個部分。其中前兩部分集成為專用的DSP分機,顯控分機采用高性能微機,二者通過PCI總線接口卡進行控制和數(shù)據(jù)信息的交換。系統(tǒng)結(jié)構(gòu)框圖如圖1所示。

1 數(shù)字多波束接收機結(jié)構(gòu)框圖

系統(tǒng)工作時首先啟動顯控微機和DSP處理機,顯控微機啟動圖形用戶界面應用程序,接收用戶設(shè)置輸入,并檢測激光系統(tǒng)發(fā)射信號;DSP分機中各采集處理模塊的DSP處理器完成初始化工作后等待啟動命令。激光系統(tǒng)發(fā)射后觸發(fā)主控微機向DSP分機發(fā)送增益設(shè)置命令及啟動信號。DSP分機對來自接收陣的信號進行采集和計算,形成目標的方位―距離波形數(shù)據(jù)并存入數(shù)據(jù)輸出雙口RAM中,數(shù)據(jù)滿一幀后由顯控微機進行讀取、顯示,并可以文件形式進行存儲。接收機作為微機的一個外圍設(shè)備,是按照數(shù)據(jù)空間進行讀寫操作的,根據(jù)微機內(nèi)存資源配置情況,選擇了內(nèi)存的EXXXXH空間存儲14個波束的數(shù)據(jù)(字存?。噜弮蓚€波束數(shù)據(jù)交錯排列,處于同一區(qū)間,區(qū)間分配情況如下表所示。

1 波束數(shù)據(jù)緩沖區(qū)地址分配表

地址區(qū)間

空間量

覆蓋區(qū)間

操 作

片選信號

0000―1FFF

4KW

SP0雙口RAM

讀寫

CSP0

2000―3FFF

4KW

SP1雙口RAM

讀寫

CSP1

4000―5FFF

4KW

SP2雙口RAM

讀寫

CSP2

6000―7FFF

4KW

SP3雙口RAM

讀寫

CSP3

8000―9FFF

4KW

SP4雙口RAM

讀寫

CSP4

A000―BFFF

4KW

SP5雙口RAM

讀寫

CSP5

C000―DFFF

4KW

SP6雙口RAM

讀寫

CSP6

E000―FFFF

4KW

I/O外設(shè)

讀寫

CSP7

4、顯控軟件設(shè)計

4.1顯控軟件功能

該程序負責啟動接收機工作,并完成14個波束的方位―距離數(shù)據(jù)顯示,它首先將輸入的增益值及波束號轉(zhuǎn)換為控制碼,然后以程序詢問的方式認知發(fā)射機同步信號的到來,如接收到發(fā)射機同步信號,則控制接收機進入工作狀態(tài),并將控制碼寫入接收機控制寄存器的指定位,最后將該次發(fā)射所得處理結(jié)果顯示輸出,直至用戶按“ESC”鍵停止程序的運行。

這部分軟件運行于主控機上,以菜單驅(qū)動方式進行操作,其控制功能包括對接收機的增益進行設(shè)置、執(zhí)行波束選擇及聲陣的高度輸入等,并對接收機信號處理單元進行起停控制;顯示功能則完成14個波束的方位―距離數(shù)據(jù)顯示或?qū)χ付úㄊ牟ㄐ芜M行輸出,并能夠以文字方式給出光標所在位置的目標方位及距離。全部功能可總結(jié)為如下幾項:

(1) 系統(tǒng)及圖形環(huán)境初始化;

(2) 接收程放增益及陣高度設(shè)置輸入;

(3) 檢測激光器發(fā)射信號,傳送控制數(shù)據(jù),啟動DSP分機;

(4) 讀取、顯示14個波束的方位―距離數(shù)據(jù);

(5) 給出光標所在位置的目標方位及距離;

(6) 波束數(shù)據(jù)存盤。

程序的設(shè)計上本著結(jié)構(gòu)化設(shè)計思想,將整個系統(tǒng)功能分解為幾個子功能模塊分別開發(fā)調(diào)試,從而提高了程序的可讀性和可維護性,也便于功能的擴充。下圖給出顯控軟件主程序的流程:

4.2技術(shù)要點

程序在Lab Windows/CVI環(huán)境下開發(fā),主窗體及菜單可在用戶界面窗口中快速便捷地建立,操作控制消息處理過程框架也可由環(huán)境自動生成,設(shè)計人員只需加入相應的處理邏輯即可。程序設(shè)計中要解決的關(guān)鍵問題是DSP分機輸出緩沖器中波束數(shù)據(jù)的讀取及波形的顯示和通過光標操作進行目標的定位。這些工作如果用VC++等實現(xiàn)將比較繁瑣,而在Lab Windows/CVI環(huán)境下則可以得到輕松而完美的解決。

4.2.1 DSP分機輸出緩沖器中波束數(shù)據(jù)的讀取

Lab Windows/CVI在Utility函數(shù)庫中提供了利用物理地址對內(nèi)存直接訪問的Physical Memory Access子類,當系統(tǒng)中有大量數(shù)據(jù)需要處理時,利用物理內(nèi)存訪問函數(shù)即可以提高程序的運行速度,又可以避免開發(fā)虛擬設(shè)備驅(qū)動程序的繁重工作。在這一系統(tǒng)的開發(fā)中我們使用ReadFromPhysicalMemoryEX完成波束數(shù)據(jù)的讀取,該函數(shù)原形如下:

Int status=ReadFromPhysicalMemoryEX(unsigned int physicalAddress,void *destinatyionBuffer,unsigned int numberOfBytes,int bytesAtATime);

其中,physicalAddress為數(shù)據(jù)在內(nèi)存中的物理地址;destinatyionBuffer為讀出后存放數(shù)據(jù)的緩沖器;numberOfBytes為讀出數(shù)據(jù)的字節(jié)數(shù);bytesAtATime為一次讀取的字節(jié)數(shù),取值可為1、2、4。返回值為1表示讀取成功。

4.2.2 波形的顯示和光標定位操作

Lab Windows/CVI提供了圖表控件來完成圖表、靜態(tài)的曲線和波形及動態(tài)實時信號波形的顯示,這里我們通過使用Graph控件來完成波束數(shù)據(jù)的顯示。Graph控件功能十分強大,主要包括繪圖功能、光標功能、坐標設(shè)定功能和縮放、移動視區(qū)功能等。用戶界面庫中提供了大量的函數(shù)以用于在Graph控件上繪制各種曲線和幾何圖形,這里我們使用PlotY函數(shù),其原形為:

Int PlotY(int panelHandle,int contrlHandle,double[] Yarray,int NumofPoints,int YdataType,int PlotStyle,int PointStyle,int LineStyle,int PointFrequency,int Color)

該函數(shù)有10個參數(shù),其中panelHandl為Graph控件所在面板的句柄;contrlHandle為Graph控件的句柄,這兩者結(jié)合指明繪圖區(qū)域;Yarray為繪制曲線的數(shù)據(jù)數(shù)組;NumofPoints為繪制數(shù)據(jù)點的個數(shù);YdataType為數(shù)據(jù)類型;PlotStyle為控制曲線類型的常量;PointStyle為數(shù)據(jù)點形狀常量,通過設(shè)置它將數(shù)據(jù)點用特定的形狀繪制;LineStyle為線條類型常量,進行諸如實線、虛線的選擇;PointFrequency為點間距常量,無效時設(shè)為默認值1;Color曲線顏色設(shè)置常量。仔細設(shè)置好這些常數(shù)即可精確繪制出波形。

Graph控件支持光標操作,在程序設(shè)計中可利用光標進行定位,在設(shè)計時可對光標的個數(shù)、顏色、形狀、模式等屬性進行設(shè)置,程序中又可通過函數(shù)對光標進行操作,如設(shè)置活動光標,獲取和設(shè)置光標的坐標等,而坐標數(shù)據(jù)與目標的時間、距離數(shù)據(jù)是相關(guān)聯(lián)的,在程序中可通過簡單的計算進行轉(zhuǎn)換。

Graph控件的縮放和視區(qū)移動功能則允許我們對波形的局部進行放大以觀察細節(jié),以及將波形繪制在視區(qū)之外,需要時又可移入視區(qū)之內(nèi)進行顯示??傊摽丶膹姶蠊δ軡M足了我們現(xiàn)階段所有的波形顯示和分析的需要。

5結(jié)束語

本文討論了在Lab Windows/CVI環(huán)境下開發(fā)DSP顯控程序的優(yōu)越性和關(guān)鍵技術(shù)。該接收機經(jīng)受了海試的考驗,在整個海試過程中一直穩(wěn)定可靠地運行,其處理所得目標方位、距離值及海深等數(shù)值都能與預知值很好地吻合。另外,該系統(tǒng)的設(shè)計使得其功能很容易擴充,它除了對國防建設(shè)具有重要意義外,稍加改進后還可應用于如沉船打撈、航道勘測、水底地形圖的測繪等領(lǐng)域,對海洋的開發(fā)和經(jīng)濟的發(fā)展都具有重要的意義。

參考文獻

[1] 張鳳均. Lab Windows/CVI開發(fā)入門和進階[J]. 北京航空航天大學出版社,2001.
[2] 李榮福,崔桂華,田作喜,桑國明. 激光聲遙感系統(tǒng)[M]. 國防工業(yè)出版社, 2003



關(guān)鍵詞: 激光 遙感 系統(tǒng) 軟件

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉