1、引言
微波,射頻技術已經廣泛應用于軍事和民用領域。如雷達、末級制導、快速偵察,電子對抗以及通信和導航等。隨著軍事電子技術的發展,對射頻波段測試設備和儀器的需求更為迫切,射頻頻譜分析儀作為一種通用測試儀器,是研制、檢測與維護很多軍用電子產品的必備工具;
Namisoft將介紹在開發頻譜分析往中基于LabWindows/CVI的軟件的總體設計,相比其它軟件工具而言,LabWindows/CVI功能強大,簡單易學,可以使很多復雜的功能變得更容易實現。
2、LabWindows/CVI概述
LabWindows/CVI是交互式C語言開發平臺,可以在多操作系統下運行。它是以ANSIC為核心的面向儀器與測控過程的交互式平臺,具有圖形用戶接口(GUI)簡單、控制功能強大,實時性強、編程容易等優點。主要適用于各種測試,控制、故障分析及信息處理軟件的開發,尤其是大型,復雜的測試試軟件,使用LabWindows/CVI開發可以獲得優良的測試性能。
Namisoft在實際開發中體會到,和其它虛擬儀器開發工具相比,LabWindows/CVI具有如下特點:
(1)基于標準C語言,編程技術主要采用時間驅動方式與回調函數方式,易于學習和掌握。
(2)是可視化、交互式的開發工具。具有人機交互界面編輯器.運用可視化交互技術實現“所見即所得”,使人機界面的實現直觀簡單。
(3)具有程序自動生成的能力,可減少軟件開發過程中代碼編寫的工作量。
(4)具有功能齊全的軟件工具包(儀器控制、I/O控制、通訊、數據處理等)以及功能強大的函數庫,包括GPIB、RS232,VXI,VISA等。
(5)有大量與外部代碼或軟件進行連接的機制,如DLL(動態鏈接庫)、DDE(共享庫)、ActiveX等。
(6)具有多種靈活的函數調用手段。
3、Namisoft頻譜儀程控軟件總體方案的設計
總體設計方案
從頻譜儀軟件的總體需求來說,Namisoft頻譜儀程控軟件主要由三部分組成:主界面操作與顯示,數據分析和處理以及和底層硬件通信。其中主界面主要完成配置參數的設置,用戶命令的發送、顯示圖形和分析結果等:數據分析和處理這一部分負責根據用戶命令參數,將獲取的原始數據進行分析處理,得到可以用于顯示的結果;和底層通信部分負責用戶控制命令和儀器配置數據的下發、獲取硬件上傳的原始數據供數據分析部分使用,以及獲取儀器設備的狀態數據反饋用戶。
主界面:主要指人機界面部分,用戶通過人機界面來完成儀器的操作,以及直觀地得到需要的分析、測量結果。這一部分主要是針對用戶,所以在界面風格設計上更多是要符合用戶的習慣.由于本軟件是在PC機上運行,顯示窗口應設計為可謂整的,以適合用戶不同大小的顯示器。除了設計供用戶使用鼠標點擊的軟鍵盤和菜單鍵外.還應考慮菜單和鍵盤的兼容性,增強軟件的適應性。在界面顯示上,應保證圖形顯示的連續性,避免出現圖形停頓的現象。
界面應包含的菜單如下:
(1)中心頻率、起始頻率.終止頻率、頻率步進:(2)參考電平、單位轉換、衰減;(3)頻率跨度(span).全SP軸、零span;(4)FFT/數字檢波模式選擇、實時分析帶寬設置,視頻濾波帶寬設置,數字檢波方式設置、掃描時間;(5)光標開啟/關閉、單光標,雙光標、光標至中心頻率:(6)跡線(最大值跡線、最小值跡線、當前跡線):(7)校準:(8)軟件復位。
數據分析與處理:這一部分是整個軟件的核心,它關系到軟件運行的準確性,可靠性和執行效率。在該軟件中,主要分為以下幾類數據:(1)控制與配置數據,用戶通過人機界面對測量參數進行設置。把發送給硬件部分的參數稱為控制數據;把用于數據分析的參數稱為配置數據。(2)接收數據,接收來自VⅪ總線的數據信息或者狀態信息。(3)顯示結果數據,用于顯示圖形和測量結果。(4)讀取數據.從外設讀入出廠的校準數據。數據流程圖如圖1所示。
圖1 數據流程圖
與底層通信:該譜儀中與底層通信采用VXI總線通信機制,VXI通信起著系統硬件和軟件的承上啟下接口作用,軟件和硬件的溝通主要是由這部分完成。硬件接口部分基于VXI總線,本軟件首先應保證能和VXI總線進行通信:其次要保證用戶的設置參數能準確、實時下發,能準確無誤地讀出當前的狀態信息以及數據。因此,需要為接口上的信息通信制定一個同步機機制,以保證數據傳輸過程中不會出現數據錯位、數據丟失的情況。
因此,根據上述三個方面的功能,得到了Namisoft頻譜儀程控軟件的層次結構圖,見圖2。本軟件自項向下分為三個層次:最上層是圖形用戶界面,它包括圖形顯示及向用戶提供的人機交互平臺:居中的是數據處理分析層,它包括數據處理、控制命令的配置等:最底層是與VXI總線相關的信息處理.如軟,硬件接口、中斷指令、控制命令的下發、數據讀取以及軟硬件同步等。
圖2 軟件層次結構圖
Namisoft頻譜儀程控軟件在流程上采用兩個線程:數據處理線程和界面處理線程。界面線程涉及參數的配置.參數下發,圖形顯示等,其中需要對部分變量釋放,重新分配空間和初始化.而數據處理線程會使用到這些變量,于是在兩個線程之間需要進行相應的保護。在本軟件中采取的是延時和標志位相結合的辦法,在界面線程里,需要對變量進行釋放時,采取一定時間的延時,這個時間足夠一個數據線程運行的時間,并且會對數據線程入口處的標志位進行置位,這樣,
在界面線程未對變量重新初始化完之前數據線程不會執行具體的函數,只是響應中斷。
4、初步方案實現
因為LabWindows/CVI提供了VISA函數庫。很方便的和VXI總線打交道,還提供了功能強大的信號處理函數比如FFT變換.以及豐富的界面顯示和波形繪制函數庫,所以Namisoft頻譜儀程控軟件很容易地實現了上述的功能。并且界面上顯示的控件,均有相對應的控件回調函數,用起來非常方便。
5、結束語
本文Namisoft給出了頻譜儀上層軟件的設計方案,并且用LabWindows/CVI初步實現了改方案,具有一定的工程價值,但要投入頻譜儀的研發與使用還需進一步的研究。
責任編輯:gt
-
顯示器
+關注
關注
21文章
5010瀏覽量
140412 -
操作系統
+關注
關注
37文章
6896瀏覽量
123755 -
線程
+關注
關注
0文章
505瀏覽量
19758
發布評論請先 登錄
相關推薦
評論