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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于多線程技術的天線實時測量系統(tǒng)研究

          基于多線程技術的天線實時測量系統(tǒng)研究

          作者: 時間:2017-12-14 來源:網絡 收藏

            系統(tǒng)軟件用戶界面可以完成所有測量參數的輸入和設置并及時響應用戶操作,除此線程外建立額外的工作者線程實現其他功能的并行工作,提高系統(tǒng)實時性,在用戶界面實時更新顯示儀器的運行狀態(tài)和系統(tǒng)的測量進度以供用戶了解系統(tǒng)狀態(tài),同時對測量數據進行實時地讀取和保存,便于后期的進一步處理和研究。

          本文引用地址:http://www.ex-cimer.com/article/201712/373009.htm

            0 引言

            隨著計算機技術和現代電子測量技術在儀器領域的應用和普及,特別是電子測量儀器計算機接口及相應標準的出現,使得計算機與儀器間的通信簡單易得,用戶可以通過計算機程序進行儀器控制和數據讀取與存儲,這些技術的發(fā)展使得天線自動測量系統(tǒng)的實現成為可能。

            以往基于單線程的簡單測量系統(tǒng),對用戶操作的響應以及多任務之間的切換需要使用“中斷處理”來完成,極大地影響了系統(tǒng)的實時性和工作效率,測量過程中軟件進入數據讀取與存儲的循環(huán)過程,使得用戶界面進入“假死”狀態(tài),無法對測量進行控制和了解系統(tǒng)測量的實時進度。為了彌補這些不足,需要做到多任務的并行工作,而技術以其避免阻塞、同時執(zhí)行多項任務、減小運行過程和用戶界面的相互影響,以及最大程度地利用多處理器性能的獨特優(yōu)點很好地滿足了這一要求。

            本文設計了一套基于技術的測量系統(tǒng),提供了布局簡潔而功能完善的用戶界面,可以完成所有測量參數的輸入和設置并及時響應用戶操作,使用不同線程實現多個任務的并行工作,提高系統(tǒng)實時性,在用戶界面實時更新顯示儀器的運行狀態(tài)和系統(tǒng)的測量進度以供用戶了解系統(tǒng)狀態(tài),同時實現了測量數據的實時讀取和保存,便于后期的進一步處理和研究。

            1 系統(tǒng)概述

            1.1 系統(tǒng)工作原理

            本測量系統(tǒng)使用旋轉天線測量法,輔助天線(源天線)連接到矢網發(fā)射端口,待測天線連接到矢網接收端口,使待測天線的待測平面與轉臺旋轉平面平行,使用矢網測量不同角度的傳輸參數(S 參數),利用這些數據便可以做出特定頻率下的天線方向圖。此外矢網的掃頻特性為天線測量提供了另外一個優(yōu)勢,即在一次測量中,可以得到在某一頻段內多個頻點的測量數據,可以通過對比不同頻點的數據和天線方向圖對天線的頻率特性進行比較和分析。

            1.2 系統(tǒng)組成

            該測試系統(tǒng)由五部分組成:微波暗室,計算機(系統(tǒng)軟件),矢量網絡分析儀,程控轉臺和源天線。其布局如圖1所示。

              

           

            主控計算機與矢量網絡分析儀通過LAN 線互連,與傳統(tǒng)的GPIB總線模式比較,突破了通信距離限制,具有數據流量大、控制靈活、易于設備共享、數據共享等優(yōu)點。

            矢量網絡分析儀用于掃頻信號的發(fā)射與接收,源天線通過同軸線與連接到矢量網絡分析儀功率發(fā)射端的功率放大器相連,待測天線通過同軸線與矢量網絡分析儀的功率接收端口相連。

            主控計算機與轉臺控制箱通過USB接口相連,不需要考慮轉臺控制的機械流程,只需要編程完成與控制箱的通信,即可控制轉臺和獲取轉臺狀態(tài)數據。

            矢量網絡分析儀與轉臺控制箱之間通過BNC接頭同軸電纜連接,轉臺控制箱通過此電纜向矢量網絡分析儀發(fā)送測量所需的觸發(fā)脈沖。

            2 系統(tǒng)軟件實現

            編寫系統(tǒng)軟件使用的編譯環(huán)境是基于VC++的MFC(Microsoft Foundation Classes),使用面向對象的程序設計(Object Oriented Programming,OOP)方法,分別使用基于VISA(Virtual Instrument Software Architec-ture)庫的SCPI(Standard Commands for ProgrammableInstruments)指令和Mint運動控制語言進行編程完成計算機與矢量網絡分析儀和轉臺的通信,控制儀器并讀取信息和數據。

            2.1 軟件分層結構與信息交互

            系統(tǒng)軟件是整個系統(tǒng)的控制核心,它的功能對用戶是透明的,對于用戶而言,只要選擇和輸入了正確的測量參數,系統(tǒng)就能自動完成相應的測量功能。

            根據軟件需求和功能,可將其分為三層結構部分:

            用戶界面部分、數據處理部分和硬件接口部分。

            系統(tǒng)軟件各層之間的信息交互如圖2所示。

              

           

            用戶界面部分,響應用戶操作,將硬件設置傳輸到硬件接口部分,將輸入數據送到數據處理部分,同時將數據處理部分送來的數據與狀態(tài)信息顯示給用戶,使用戶可以便捷地完成測量控制與監(jiān)控。

            數據處理部分,一方面將硬件接口傳遞來的數據與狀態(tài)信息進行處理,轉換為用戶需要的格式以供顯示和存儲;另一方面將用戶設置的數據信息轉換為數據指令交給硬件接口部分。

            硬件接口部分,完成計算機與儀器之間的通信,一方面將指令和數據等程序語言轉化為儀器可識別的機器語言輸送到儀器;另一方面將儀器傳輸回來的數據和狀態(tài)信息等轉換為可編程處理的數據,以供數據處理部分使用。

            2.2 軟件任務分析

            根據系統(tǒng)工作原理,系統(tǒng)軟件需要完成以下任務:

            (1)建立計算機與轉臺控制箱之間的通信:建立通道,使計算機可以讀取轉臺實時運行狀態(tài),并可以隨時控制轉臺以改變其運行狀態(tài)。

            (2)轉臺運行狀態(tài)的顯示:將轉臺運動速度及角度信息顯示到用戶界面并實時更新。

            (3)轉臺運行參數的設置:按照用戶輸入設置轉臺的運動速度、起止位置以及脈沖輸出方式,并控制其運動的起止。

            (4)建立計算機與矢量網絡分析儀的通信:建立通道,使計算機可以讀取矢網狀態(tài)及測量數據,并可以隨時控制矢網以改變其運行狀態(tài)。

            (5)矢量網絡分析儀的初始化以及測量參數的設置:使用基于VISA 庫的SCPI指令,對矢網進行初始化使其進入測量狀態(tài),按照用戶輸入完成測量參數的設置。

            (6)測量數據存儲文檔的建立與更新:在計算機中建立文檔用于測量數據的存儲,將測量過程從由矢網讀取的測量數據按特定格式進行實時記錄。

            (7)系統(tǒng)測量進度的顯示:在測量過程中的軟件運行節(jié)點、測量過程中完成某次測量時以及測量完成后輸出相應提示性文字到用戶界面。

            在實時測量系統(tǒng)中,要求計算機能同時完成多項任務,且具有很高的實時性要求,技術以其避免阻塞、能同時執(zhí)行多項任務、減小運行過程和用戶界面的相互影響,以及最大程度地利用多處理器性能的獨特優(yōu)點很好地滿足了這一要求。

            2.3 軟件多線程的實現

            MFC 中有兩類線程,用戶界面線程和工作者線程。前者有自己的消息隊列和消息循環(huán),一般用于處理獨立于其他線程執(zhí)行之外的用戶輸入,響應用戶及系統(tǒng)所產生的事件和消息等;后者沒有消息循環(huán),通常用來執(zhí)行后臺計算和維護任務,如冗長的計算過程,數據的循環(huán)讀取等。

            任意一個MFC 程序至少具有一個線程,也是程序的主線程。通過主線程能夠生成或終止任意多的線程,主線程一直存在直至程序終止。其中用戶界面線程是程序默認啟動的主線程,主要實現軟件的運行和響應用戶操作及控制。根據軟件任務分析部分,在主線程中生成三個工作者線程,通過計算機與測量儀器的通信,完成儀器參數的設置以及數據的實時采集、處理等后臺工作。

            各線程工作順序及生存時間如圖3所示。

              

           

            三個工作者線程所完成的具體工作如下:

            轉臺狀態(tài)線程:建立計算機與轉臺控制箱的通信,不斷讀取轉臺的位置信息和速度信息并將其更新顯示到用戶界面,對應軟件任務分析部分的任務(1)和(2),流程如圖4所示。

              

           

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

              

           

            矢網工作線程:其功能為向矢網發(fā)送指令進行初始化設置,使矢網進入觸發(fā)等待狀態(tài),并建立數據存儲文檔,在測量過程中不斷讀取矢網的測量狀態(tài),每完成一次測量,將測量數據讀取并保存到文檔中,同時將測量進度顯示到用戶界面,對應軟件任務分析部分的任務(4)~(7),流程如圖6所示。

            3 系統(tǒng)性能

            3.1 系統(tǒng)軟件用戶界面

            系統(tǒng)軟件用戶界面根據功能進行區(qū)域劃分和布局,保證視圖清晰和操作方便,如圖7所示,其中序號標注的區(qū)域功能如下:

            (1)系統(tǒng)菜單:可以完成一些系統(tǒng)常規(guī)設置,如儀器切換,數據輸出格式以及儀器運行方式的選擇等。這些設置不需要經常改動,對于一般測試使用默認設置即可。

            (2)常用設置:用于輸入矢網測量參數和轉臺運行參數,以及文件輸出位置的選擇和自定義文件名的輸入。此部分為系統(tǒng)運行時經常需要改動的設置,與用戶交互頻繁。

              

           

            (3)測量控制:控制測量的啟動與停止,也可以在非測量狀態(tài)下控制轉臺的運行。用戶對此部分進行操作便可完成對系統(tǒng)運行的控制,以及對轉臺進行位置調整等。

            (4)系統(tǒng)運行狀態(tài)顯示:實時顯示轉臺的轉動速度和當前位置,在測量過程中不斷更新顯示系統(tǒng)的運行進度。通過這些信息用戶可以對系統(tǒng)狀態(tài)了如指掌,以便做出適當操作。

            3.2 測量實例選擇實驗室內BJ-32標準矩形角錐喇叭天線,使用Agilent 和Anritsu 矢量網絡分析儀分別進行測量,相關參數見表1.

            選取兩次測量所得數據文檔中3.26 GHz頻率點的數據做出天線歸一化方向圖,如圖8和圖9所示。

              

           

            4 結論

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



          關鍵詞: 天線實時 多線程

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();