基于多線(xiàn)程技術(shù)的天線(xiàn)實(shí)時(shí)測量系統研究
系統軟件用戶(hù)界面可以完成所有測量參數的輸入和設置并及時(shí)響應用戶(hù)操作,除此線(xiàn)程外建立額外的工作者線(xiàn)程實(shí)現其他功能的并行工作,提高系統實(shí)時(shí)性,在用戶(hù)界面實(shí)時(shí)更新顯示儀器的運行狀態(tài)和系統的測量進(jìn)度以供用戶(hù)了解系統狀態(tài),同時(shí)對測量數據進(jìn)行實(shí)時(shí)地讀取和保存,便于后期的進(jìn)一步處理和研究。
本文引用地址:http://dyxdggzs.com/article/201712/373009.htm0 引言
隨著(zhù)計算機技術(shù)和現代電子測量技術(shù)在儀器領(lǐng)域的應用和普及,特別是電子測量?jì)x器計算機接口及相應標準的出現,使得計算機與儀器間的通信簡(jiǎn)單易得,用戶(hù)可以通過(guò)計算機程序進(jìn)行儀器控制和數據讀取與存儲,這些技術(shù)的發(fā)展使得天線(xiàn)自動(dòng)測量系統的實(shí)現成為可能。
以往基于單線(xiàn)程的簡(jiǎn)單測量系統,對用戶(hù)操作的響應以及多任務(wù)之間的切換需要使用“中斷處理”來(lái)完成,極大地影響了系統的實(shí)時(shí)性和工作效率,測量過(guò)程中軟件進(jìn)入數據讀取與存儲的循環(huán)過(guò)程,使得用戶(hù)界面進(jìn)入“假死”狀態(tài),無(wú)法對測量進(jìn)行控制和了解系統測量的實(shí)時(shí)進(jìn)度。為了彌補這些不足,需要做到多任務(wù)的并行工作,而多線(xiàn)程技術(shù)以其避免阻塞、同時(shí)執行多項任務(wù)、減小運行過(guò)程和用戶(hù)界面的相互影響,以及最大程度地利用多處理器性能的獨特優(yōu)點(diǎn)很好地滿(mǎn)足了這一要求。
本文設計了一套基于多線(xiàn)程技術(shù)的天線(xiàn)實(shí)時(shí)測量系統,提供了布局簡(jiǎn)潔而功能完善的用戶(hù)界面,可以完成所有測量參數的輸入和設置并及時(shí)響應用戶(hù)操作,使用不同線(xiàn)程實(shí)現多個(gè)任務(wù)的并行工作,提高系統實(shí)時(shí)性,在用戶(hù)界面實(shí)時(shí)更新顯示儀器的運行狀態(tài)和系統的測量進(jìn)度以供用戶(hù)了解系統狀態(tài),同時(shí)實(shí)現了測量數據的實(shí)時(shí)讀取和保存,便于后期的進(jìn)一步處理和研究。
1 系統概述
1.1 系統工作原理
本測量系統使用旋轉天線(xiàn)測量法,輔助天線(xiàn)(源天線(xiàn))連接到矢網(wǎng)發(fā)射端口,待測天線(xiàn)連接到矢網(wǎng)接收端口,使待測天線(xiàn)的待測平面與轉臺旋轉平面平行,使用矢網(wǎng)測量不同角度的傳輸參數(S 參數),利用這些數據便可以做出特定頻率下的天線(xiàn)方向圖。此外矢網(wǎng)的掃頻特性為天線(xiàn)測量提供了另外一個(gè)優(yōu)勢,即在一次測量中,可以得到在某一頻段內多個(gè)頻點(diǎn)的測量數據,可以通過(guò)對比不同頻點(diǎn)的數據和天線(xiàn)方向圖對天線(xiàn)的頻率特性進(jìn)行比較和分析。
1.2 系統組成
該測試系統由五部分組成:微波暗室,計算機(系統軟件),矢量網(wǎng)絡(luò )分析儀,程控轉臺和源天線(xiàn)。其布局如圖1所示。

主控計算機與矢量網(wǎng)絡(luò )分析儀通過(guò)LAN 線(xiàn)互連,與傳統的GPIB總線(xiàn)模式比較,突破了通信距離限制,具有數據流量大、控制靈活、易于設備共享、數據共享等優(yōu)點(diǎn)。
矢量網(wǎng)絡(luò )分析儀用于掃頻信號的發(fā)射與接收,源天線(xiàn)通過(guò)同軸線(xiàn)與連接到矢量網(wǎng)絡(luò )分析儀功率發(fā)射端的功率放大器相連,待測天線(xiàn)通過(guò)同軸線(xiàn)與矢量網(wǎng)絡(luò )分析儀的功率接收端口相連。
主控計算機與轉臺控制箱通過(guò)USB接口相連,不需要考慮轉臺控制的機械流程,只需要編程完成與控制箱的通信,即可控制轉臺和獲取轉臺狀態(tài)數據。
矢量網(wǎng)絡(luò )分析儀與轉臺控制箱之間通過(guò)BNC接頭同軸電纜連接,轉臺控制箱通過(guò)此電纜向矢量網(wǎng)絡(luò )分析儀發(fā)送測量所需的觸發(fā)脈沖。
2 系統軟件實(shí)現
編寫(xiě)系統軟件使用的編譯環(huán)境是基于VC++的MFC(Microsoft Foundation Classes),使用面向對象的程序設計(Object Oriented Programming,OOP)方法,分別使用基于VISA(Virtual Instrument Software Architec-ture)庫的SCPI(Standard Commands for ProgrammableInstruments)指令和Mint運動(dòng)控制語(yǔ)言進(jìn)行編程完成計算機與矢量網(wǎng)絡(luò )分析儀和轉臺的通信,控制儀器并讀取信息和數據。
2.1 軟件分層結構與信息交互
系統軟件是整個(gè)系統的控制核心,它的功能對用戶(hù)是透明的,對于用戶(hù)而言,只要選擇和輸入了正確的測量參數,系統就能自動(dòng)完成相應的測量功能。
根據軟件需求和功能,可將其分為三層結構部分:
用戶(hù)界面部分、數據處理部分和硬件接口部分。
系統軟件各層之間的信息交互如圖2所示。

用戶(hù)界面部分,響應用戶(hù)操作,將硬件設置傳輸到硬件接口部分,將輸入數據送到數據處理部分,同時(shí)將數據處理部分送來(lái)的數據與狀態(tài)信息顯示給用戶(hù),使用戶(hù)可以便捷地完成測量控制與監控。
數據處理部分,一方面將硬件接口傳遞來(lái)的數據與狀態(tài)信息進(jìn)行處理,轉換為用戶(hù)需要的格式以供顯示和存儲;另一方面將用戶(hù)設置的數據信息轉換為數據指令交給硬件接口部分。
硬件接口部分,完成計算機與儀器之間的通信,一方面將指令和數據等程序語(yǔ)言轉化為儀器可識別的機器語(yǔ)言輸送到儀器;另一方面將儀器傳輸回來(lái)的數據和狀態(tài)信息等轉換為可編程處理的數據,以供數據處理部分使用。
2.2 軟件任務(wù)分析
根據系統工作原理,系統軟件需要完成以下任務(wù):
(1)建立計算機與轉臺控制箱之間的通信:建立通道,使計算機可以讀取轉臺實(shí)時(shí)運行狀態(tài),并可以隨時(shí)控制轉臺以改變其運行狀態(tài)。
(2)轉臺運行狀態(tài)的顯示:將轉臺運動(dòng)速度及角度信息顯示到用戶(hù)界面并實(shí)時(shí)更新。
(3)轉臺運行參數的設置:按照用戶(hù)輸入設置轉臺的運動(dòng)速度、起止位置以及脈沖輸出方式,并控制其運動(dòng)的起止。
(4)建立計算機與矢量網(wǎng)絡(luò )分析儀的通信:建立通道,使計算機可以讀取矢網(wǎng)狀態(tài)及測量數據,并可以隨時(shí)控制矢網(wǎng)以改變其運行狀態(tài)。
(5)矢量網(wǎng)絡(luò )分析儀的初始化以及測量參數的設置:使用基于VISA 庫的SCPI指令,對矢網(wǎng)進(jìn)行初始化使其進(jìn)入測量狀態(tài),按照用戶(hù)輸入完成測量參數的設置。
(6)測量數據存儲文檔的建立與更新:在計算機中建立文檔用于測量數據的存儲,將測量過(guò)程從由矢網(wǎng)讀取的測量數據按特定格式進(jìn)行實(shí)時(shí)記錄。
(7)系統測量進(jìn)度的顯示:在測量過(guò)程中的軟件運行節點(diǎn)、測量過(guò)程中完成某次測量時(shí)以及測量完成后輸出相應提示性文字到用戶(hù)界面。
在實(shí)時(shí)測量系統中,要求計算機能同時(shí)完成多項任務(wù),且具有很高的實(shí)時(shí)性要求,多線(xiàn)程技術(shù)以其避免阻塞、能同時(shí)執行多項任務(wù)、減小運行過(guò)程和用戶(hù)界面的相互影響,以及最大程度地利用多處理器性能的獨特優(yōu)點(diǎn)很好地滿(mǎn)足了這一要求。
2.3 軟件多線(xiàn)程的實(shí)現
MFC 中有兩類(lèi)線(xiàn)程,用戶(hù)界面線(xiàn)程和工作者線(xiàn)程。前者有自己的消息隊列和消息循環(huán),一般用于處理獨立于其他線(xiàn)程執行之外的用戶(hù)輸入,響應用戶(hù)及系統所產(chǎn)生的事件和消息等;后者沒(méi)有消息循環(huán),通常用來(lái)執行后臺計算和維護任務(wù),如冗長(cháng)的計算過(guò)程,數據的循環(huán)讀取等。
任意一個(gè)MFC 程序至少具有一個(gè)線(xiàn)程,也是程序的主線(xiàn)程。通過(guò)主線(xiàn)程能夠生成或終止任意多的線(xiàn)程,主線(xiàn)程一直存在直至程序終止。其中用戶(hù)界面線(xiàn)程是程序默認啟動(dòng)的主線(xiàn)程,主要實(shí)現軟件的運行和響應用戶(hù)操作及控制。根據軟件任務(wù)分析部分,在主線(xiàn)程中生成三個(gè)工作者線(xiàn)程,通過(guò)計算機與測量?jì)x器的通信,完成儀器參數的設置以及數據的實(shí)時(shí)采集、處理等后臺工作。
各線(xiàn)程工作順序及生存時(shí)間如圖3所示。

三個(gè)工作者線(xiàn)程所完成的具體工作如下:
轉臺狀態(tài)線(xiàn)程:建立計算機與轉臺控制箱的通信,不斷讀取轉臺的位置信息和速度信息并將其更新顯示到用戶(hù)界面,對應軟件任務(wù)分析部分的任務(wù)(1)和(2),流程如圖4所示。

轉臺啟動(dòng)線(xiàn)程:首先進(jìn)入等待狀態(tài),在矢網(wǎng)初始化以及數據文檔建立完成后,向轉臺控制箱發(fā)送指令設置轉臺的運行參數使其開(kāi)始運動(dòng),對應軟件任務(wù)分析部分的任務(wù)(3),流程如圖5所示。

矢網(wǎng)工作線(xiàn)程:其功能為向矢網(wǎng)發(fā)送指令進(jìn)行初始化設置,使矢網(wǎng)進(jìn)入觸發(fā)等待狀態(tài),并建立數據存儲文檔,在測量過(guò)程中不斷讀取矢網(wǎng)的測量狀態(tài),每完成一次測量,將測量數據讀取并保存到文檔中,同時(shí)將測量進(jìn)度顯示到用戶(hù)界面,對應軟件任務(wù)分析部分的任務(wù)(4)~(7),流程如圖6所示。
3 系統性能
3.1 系統軟件用戶(hù)界面
系統軟件用戶(hù)界面根據功能進(jìn)行區域劃分和布局,保證視圖清晰和操作方便,如圖7所示,其中序號標注的區域功能如下:
(1)系統菜單:可以完成一些系統常規設置,如儀器切換,數據輸出格式以及儀器運行方式的選擇等。這些設置不需要經(jīng)常改動(dòng),對于一般測試使用默認設置即可。
(2)常用設置:用于輸入矢網(wǎng)測量參數和轉臺運行參數,以及文件輸出位置的選擇和自定義文件名的輸入。此部分為系統運行時(shí)經(jīng)常需要改動(dòng)的設置,與用戶(hù)交互頻繁。

(3)測量控制:控制測量的啟動(dòng)與停止,也可以在非測量狀態(tài)下控制轉臺的運行。用戶(hù)對此部分進(jìn)行操作便可完成對系統運行的控制,以及對轉臺進(jìn)行位置調整等。
(4)系統運行狀態(tài)顯示:實(shí)時(shí)顯示轉臺的轉動(dòng)速度和當前位置,在測量過(guò)程中不斷更新顯示系統的運行進(jìn)度。通過(guò)這些信息用戶(hù)可以對系統狀態(tài)了如指掌,以便做出適當操作。
3.2 測量實(shí)例選擇實(shí)驗室內BJ-32標準矩形角錐喇叭天線(xiàn),使用Agilent 和Anritsu 矢量網(wǎng)絡(luò )分析儀分別進(jìn)行測量,相關(guān)參數見(jiàn)表1.
選取兩次測量所得數據文檔中3.26 GHz頻率點(diǎn)的數據做出天線(xiàn)歸一化方向圖,如圖8和圖9所示。

4 結論
本系統以計算機為核心,充分利用了實(shí)驗室先進(jìn)儀器的計算機通信接口,系統軟件的用戶(hù)界面布局清晰、功能全面,減少了對儀器的直接操作,對貴重儀器起到了保護作用從而降低了維護費用。系統中使用矢量網(wǎng)絡(luò )分析儀使得系統具有一次性?huà)呙铚y量便可獲得多頻點(diǎn)天線(xiàn)數據的能力。編程中采用通用標準指令,增強了軟件的可移植性和可擴展性。多線(xiàn)程技術(shù)的使用,實(shí)現了多任務(wù)的并行工作,滿(mǎn)足了系統實(shí)時(shí)性要求,使用戶(hù)可以通過(guò)用戶(hù)界面直觀(guān)了解到系統運行狀態(tài)及測量進(jìn)度,同時(shí)還可將天線(xiàn)測量數據即時(shí)讀取并保存,以便進(jìn)一步處理和研究。
評論