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初步實作了改方案,具有一定的工程價值,但要投入頻譜儀的研發與使用還需進一步的研究。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/74181.html
標籤:非技術區
