<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

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

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

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

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

          1 引言

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

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

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

          3、系統(tǒng)概述

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

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

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

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

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

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

          地址區(qū)間

          空間量

          覆蓋區(qū)間

          操 作

          片選信號(hào)

          0000―1FFF

          4KW

          SP0雙口RAM

          讀寫(xiě)

          CSP0

          2000―3FFF

          4KW

          SP1雙口RAM

          讀寫(xiě)

          CSP1

          4000―5FFF

          4KW

          SP2雙口RAM

          讀寫(xiě)

          CSP2

          6000―7FFF

          4KW

          SP3雙口RAM

          讀寫(xiě)

          CSP3

          8000―9FFF

          4KW

          SP4雙口RAM

          讀寫(xiě)

          CSP4

          A000―BFFF

          4KW

          SP5雙口RAM

          讀寫(xiě)

          CSP5

          C000―DFFF

          4KW

          SP6雙口RAM

          讀寫(xiě)

          CSP6

          E000―FFFF

          4KW

          I/O外設(shè)

          讀寫(xiě)

          CSP7

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

          4.1顯控軟件功能

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

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

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

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

          (3) 檢測(cè)激光器發(fā)射信號(hào),傳送控制數(shù)據(jù),啟動(dòng)DSP分機(jī);

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

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

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

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

          4.2技術(shù)要點(diǎn)

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

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

          Lab Windows/CVI在Utility函數(shù)庫(kù)中提供了利用物理地址對(duì)內(nèi)存直接訪問(wèn)的Physical Memory Access子類(lèi),當(dāng)系統(tǒng)中有大量數(shù)據(jù)需要處理時(shí),利用物理內(nèi)存訪問(wèn)函數(shù)即可以提高程序的運(yùn)行速度,又可以避免開(kāi)發(fā)虛擬設(shè)備驅(qū)動(dòng)程序的繁重工作。在這一系統(tǒng)的開(kāi)發(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 波形的顯示和光標(biāo)定位操作

          Lab Windows/CVI提供了圖表控件來(lái)完成圖表、靜態(tài)的曲線和波形及動(dòng)態(tài)實(shí)時(shí)信號(hào)波形的顯示,這里我們通過(guò)使用Graph控件來(lái)完成波束數(shù)據(jù)的顯示。Graph控件功能十分強(qiáng)大,主要包括繪圖功能、光標(biāo)功能、坐標(biāo)設(shè)定功能和縮放、移動(dòng)視區(qū)功能等。用戶(hù)界面庫(kù)中提供了大量的函數(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個(gè)參數(shù),其中panelHandl為Graph控件所在面板的句柄;contrlHandle為Graph控件的句柄,這兩者結(jié)合指明繪圖區(qū)域;Yarray為繪制曲線的數(shù)據(jù)數(shù)組;NumofPoints為繪制數(shù)據(jù)點(diǎn)的個(gè)數(shù);YdataType為數(shù)據(jù)類(lèi)型;PlotStyle為控制曲線類(lèi)型的常量;PointStyle為數(shù)據(jù)點(diǎn)形狀常量,通過(guò)設(shè)置它將數(shù)據(jù)點(diǎn)用特定的形狀繪制;LineStyle為線條類(lèi)型常量,進(jìn)行諸如實(shí)線、虛線的選擇;PointFrequency為點(diǎn)間距常量,無(wú)效時(shí)設(shè)為默認(rèn)值1;Color曲線顏色設(shè)置常量。仔細(xì)設(shè)置好這些常數(shù)即可精確繪制出波形。

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

          Graph控件的縮放和視區(qū)移動(dòng)功能則允許我們對(duì)波形的局部進(jìn)行放大以觀察細(xì)節(jié),以及將波形繪制在視區(qū)之外,需要時(shí)又可移入視區(qū)之內(nèi)進(jìn)行顯示??傊?,該控件的強(qiáng)大功能滿(mǎn)足了我們現(xiàn)階段所有的波形顯示和分析的需要。

          5結(jié)束語(yǔ)

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

          參考文獻(xiàn)

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



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

          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();