李青 王成 沈俊田
中國人民解放軍陸軍工程大學(xué)石家莊校區(qū) 石家莊 050003
在現(xiàn)代測試技術(shù)課程教學(xué)過程中,為了使學(xué)生充分體驗應(yīng)用虛擬儀器技術(shù)實現(xiàn)測量控制、數(shù)據(jù)處理等工作[1],選用基于AV4036F 頻譜分析儀的虛擬儀器教學(xué)案例開展案例式教學(xué),使學(xué)員更好地理解虛擬儀器技術(shù)在測量工作中的應(yīng)用,體會虛擬儀器與傳統(tǒng)儀器測量的區(qū)別與特點(diǎn)。
虛擬頻譜分析儀是虛擬儀器的一種,是在以通用計算機(jī)為核心的硬件平臺上,把研究電磁波頻譜特性參數(shù)的頻譜分析儀這種儀器虛擬化,由用戶設(shè)計定義的虛擬面板、由測試軟件實現(xiàn)測試功能的一種計算機(jī)儀器系統(tǒng)。虛擬儀器的最大特點(diǎn)是將計算機(jī)資源與儀器硬件、DSP 技術(shù)相結(jié)合,在系統(tǒng)內(nèi)共享軟硬件資源。它打破了以往由廠家定義儀器功能的模式,而變成了由用戶自己定義儀器功能——使用相同的硬件系統(tǒng),通過不同的軟件編程,就可得到功能完全不同的測量儀器。
軟件系統(tǒng)的設(shè)計離不開其硬件平臺,因此要設(shè)計出符合需求、具有高性能的軟件,需要對它依賴的硬件平臺有深刻的理解。
圖1 硬件平臺聯(lián)接框圖
AV4036F 頻譜分析儀和主控計算機(jī)通過網(wǎng)線接入符合IEEE802.3 規(guī)范的局域網(wǎng)后,主控計算機(jī)通過TCP/IP 協(xié)議與頻譜分析儀實現(xiàn)通信,并可對AV4036F 頻譜分析儀進(jìn)行遠(yuǎn)程控制。在通信過程中,主控計算機(jī)作為控制端,發(fā)送SCPI 命令給AV4036F 頻譜分析儀;頻譜分析儀作為受控端,通過LAN 通信接收主控計算機(jī)發(fā)來的SCPI 命令,并根據(jù)命令內(nèi)容對信號源提供的測試信號進(jìn)行測試。
1.2.1 程序流程
編程中采用Labwindows/CVI 平臺上調(diào)用VISA 庫函數(shù)的方法。程序流程圖如圖2 所示。
圖2 虛擬儀器的程序流程
1.2.2 操作界面設(shè)計
Labwindows/CVI 是一個完全的ANSIC 開發(fā)環(huán)境,是用于儀器控制、自動檢測、數(shù)據(jù)處理的應(yīng)用軟件。它以ANSIC 為核心,將強(qiáng)大、使用靈活的C語言平臺與數(shù)據(jù)采集、分析和顯示的測控專業(yè)工具有機(jī)結(jié)合起來。它的交互式開發(fā)平臺、交互式編程方法、豐富的功能面板和函數(shù)庫大大加強(qiáng)了C 語言的功能,為熟悉C 語言的開發(fā)人員建立自動化的監(jiān)測系統(tǒng)、數(shù)據(jù)采集系統(tǒng)、過程控制系統(tǒng)等提供了一個理想的開發(fā)環(huán)境。
與NI 公司開發(fā)的另一款LabView 相比,Labwindows/CVI更適合中、大型復(fù)雜測試軟件開發(fā)。由于Labwindows/CVI 附加了各種軟件開發(fā)包,如數(shù)據(jù)庫軟件包、Internet 軟件包、大小分析軟件包等,利用該軟件能夠大大節(jié)省開發(fā)時間,增強(qiáng)測試軟件性能。
頻譜分析儀虛擬儀器軟件的操作界面采用Labwindows/CVI 開發(fā)。在主控計算機(jī)中設(shè)計遠(yuǎn)程控制軟件,需要顯示從儀器中獲取到的頻譜數(shù)據(jù)[2],在軟件中使用曲線顯示軌跡,有利于觀察信號的頻譜。為了能即時用遠(yuǎn)程控制儀器進(jìn)行測量,在軟件中還需要具有專門發(fā)送SCPI 命令的操作區(qū),通過該操作區(qū)可以直接發(fā)送儀器支持的SCPI命令給儀器。
本例中利用Labwindows/CVI 設(shè)計的用戶界面主要分為四個區(qū)域。
(1)加封:集裝箱出場站之前,在集裝箱門上加一把電子鉛封,封住集裝箱門。具體過程如下:挑選一把電子鉛封;將集裝箱號、運(yùn)載車輛號碼、起點(diǎn)海關(guān)、終點(diǎn)海關(guān)輸入場站計算機(jī);將電子鉛封放在加封器上;場站計算機(jī)通過加封器讀出電子鉛封ID號;場站計算機(jī)將集裝箱號和電子鉛封號傳到監(jiān)控中心;監(jiān)控中心按加密程序返回密碼;場站計算機(jī)通過加封器將密碼、集裝箱號碼、起點(diǎn)、終點(diǎn)海關(guān)等信息寫入電子鉛封;用電子鉛封封住集裝箱門。
1)波形顯示區(qū)。用戶能夠在該區(qū)域通過波形采集命令按鈕采集波形,顯示在圖表控件上并觀察,如圖3 所示。
2)參數(shù)設(shè)置區(qū)。用戶在該區(qū)域能夠設(shè)置頻率、頻寬、衰減、參考電平、掃描時間等參數(shù),還能選擇分辨率帶寬模式和衰減自動關(guān)聯(lián)開關(guān),如圖4 所示。
圖4 參數(shù)設(shè)置區(qū)
3)頻標(biāo)設(shè)置區(qū)。用戶能夠在該區(qū)域開啟/關(guān)閉頻標(biāo),顯示頻標(biāo)的頻率值、幅值信息,并以頻標(biāo)頻率值設(shè)置軌跡的起始、中心、終止頻率,根據(jù)頻標(biāo)幅值調(diào)整參考電平,如圖5 所示。
圖5 頻標(biāo)設(shè)置區(qū)
4)SCPI 命令調(diào)試區(qū)??赏ㄟ^該區(qū)域向儀器發(fā)送SCPI 命令并顯示返回值,此設(shè)計的作用是便于直接對儀器發(fā)送查詢語句和控制命令[2],補(bǔ)充前述按鈕所不能提供的功能,幫助用戶對儀器進(jìn)行調(diào)試,如圖6 所示。
圖6 SCPI 命令調(diào)試區(qū)
SCPI 在程控和響應(yīng)消息的使用中定義了不同的數(shù)據(jù)格式以符合“靈活地聽”和“精確地講”原則?!办`活地聽”指的是命令和參數(shù)的格式是靈活的,“精確地講”意味著特定查詢的響應(yīng)格式都是相同的。如:FREQ:OFFS:STAT ON 與FREQ:OFFS:STAT 1都是設(shè)置頻率偏移功能開啟。而查詢功率狀態(tài)(:POWer:ALC:STATe?),當(dāng)儀器處于開啟狀態(tài)時,不管先前發(fā)送的是“POWer:ALC:STATE 1”或者“POWer:ALC:STATe ON”,響應(yīng)總是為1。
有些參數(shù)如軌跡參數(shù)
在SCPI 標(biāo)準(zhǔn)中,SCPI 命令需要設(shè)計成層次的樹狀結(jié)構(gòu),SCPI 命令由兩個部分組成:儀器特定的控制命令和IEEE488.2 公共的命令[3]。IEEE488.2規(guī)定了儀器必須實現(xiàn)的公用命令,同時它還規(guī)定了公用命令的句法和語義。儀器特定的控制命令需要依據(jù)特定的儀器進(jìn)行設(shè)計。
在設(shè)計儀器的SCPI 命令時,需要依據(jù)儀器的功能進(jìn)行設(shè)計。在儀器中許多有關(guān)頻率的設(shè)置,如可以設(shè)置儀器的起始頻率、中心頻率、終止頻率等;在儀器中對掃描帶寬的設(shè)置,會影響儀器測量信號的準(zhǔn)確性,所以需要設(shè)計設(shè)置掃描帶寬的命令[3];在儀器中,掃描帶寬和RBW 的值是聯(lián)動的,可以設(shè)置掃寬RBW 的比值是自動的還是手動的等。由于這些功能都與儀器的頻率設(shè)置功能有關(guān),那么針對儀器的這些頻率設(shè)置功能可以使用中心頻率、自動步進(jìn)等頻率設(shè)置的SCPI 命令。
在儀器的掃描設(shè)置功能中,主要涉及的是對掃描時間、掃描方式和掃描點(diǎn)數(shù)的設(shè)置,針對這個功能可以使用掃描設(shè)置的SCPI 命令,用于遠(yuǎn)程設(shè)置儀器的掃描時間、掃描方式和掃描點(diǎn)數(shù)等。
頻標(biāo)設(shè)置是頻譜儀的一大特色功能,可以用于顯示測試數(shù)據(jù)和實現(xiàn)一些高級的測試功能,如顯示頻譜數(shù)據(jù)的最大峰值等。可以利用儀器的頻標(biāo)設(shè)置功能來獲取測試數(shù)據(jù)或依據(jù)測試數(shù)據(jù)對儀器進(jìn)行設(shè)置。
在儀器中,可以依據(jù)需要顯示三種軌跡,每種軌跡有不同的顯示方式,如最小值保持、最大值保持等。為了遠(yuǎn)程控制儀器的軌跡設(shè)置功能,可通過軌跡設(shè)置命令控制儀器顯示的軌跡類型、控制不同軌跡的顯示方式或獲取不同數(shù)據(jù)類型的頻譜數(shù)據(jù)。
除設(shè)計儀器不同功能對應(yīng)的SCPI 命令以外,還需要依據(jù)儀器的參數(shù)特點(diǎn),如頻率取值的精度、RBW 的取值特點(diǎn)和SCPI 命令的需要,設(shè)計儀器SCPI 命令使用的參數(shù)類型。
虛擬儀器軟件系統(tǒng)設(shè)計完成以后,必須要在硬件基礎(chǔ)上進(jìn)行調(diào)試,只有通過調(diào)試才能發(fā)現(xiàn)軟件錯誤,不斷改進(jìn)并完善程序,最終達(dá)到程序能夠正確、穩(wěn)定且高效運(yùn)行的結(jié)果。軟件調(diào)試分為兩個部分:軟件代碼調(diào)試和軟件功能驗證。軟件代碼調(diào)試主要是在軟件開發(fā)環(huán)境中進(jìn)行在線編譯、單步調(diào)試,檢測代碼是否有誤。軟件代碼調(diào)試工作主要在軟件編寫過程中進(jìn)行。
AV4036F 頻譜分析儀的LAN 與主控計算機(jī)通信,可以驗證頻譜分析儀端的驅(qū)動程序能否接收主控計算機(jī)發(fā)送的SCPI 命令,實現(xiàn)數(shù)據(jù)的收發(fā)。調(diào)試和驗證步驟如下。
1)硬件設(shè)備準(zhǔn)備。主控計算機(jī)、頻譜分析儀、網(wǎng)線和信號源。
2)建立硬件連接。啟動頻譜分析儀,用網(wǎng)線將主控計算機(jī)與頻譜分析儀接入同一局域網(wǎng),使用信號源提供中心頻率為2 GHz 的被測信號。
3)與頻譜分析儀建立通信。打開Labwindows/CVI 軟件的用戶界面,在右下方選擇頻譜分析儀的地址。按下復(fù)位和初始化按鈕,觀察儀器狀態(tài),判斷是否正常。而后,在SCPI 命令調(diào)試區(qū),可對如軌跡刷新模式、檢波方式、數(shù)據(jù)格式等儀器基本參數(shù)進(jìn)行設(shè)置和查詢。
4)對信號進(jìn)行測試。先設(shè)置信號源的中心頻率與振幅,此處分別設(shè)為2 GHz、-20 dBm。在參數(shù)設(shè)置區(qū),設(shè)置中心頻率為2 GHz,參考電平為3 dBm,分辨率帶寬為510 KHz,頻寬為4 MHz,掃描時間為5 s,點(diǎn)擊用戶界面上的“采集波形”按鈕,此時會給頻譜儀端發(fā)送SCPI 命令“TRACe:DATA?TRACE1”,該命令的作用是獲取頻譜分析儀端的軌跡數(shù)據(jù),經(jīng)數(shù)據(jù)處理后,進(jìn)行圖形化顯示,如圖7所示。
圖7 軟件的圖形化顯示
本文設(shè)計的基于AV4036F 頻譜分析儀示教系統(tǒng)應(yīng)用于現(xiàn)代測試技術(shù)課程教學(xué),通過項目化教學(xué)模式,達(dá)到了使學(xué)生體會應(yīng)用虛擬儀器技術(shù)實現(xiàn)信息化條件下的測量的學(xué)習(xí)目的,在課程教學(xué)中,通過讓學(xué)生應(yīng)用該示教系統(tǒng)進(jìn)行動手操作,提高了學(xué)生的動手能力,激發(fā)了學(xué)生的學(xué)習(xí)興趣,豐富了課程的教學(xué)手段,為該類課程建設(shè)提供了有益借鑒。