王兆麒,孔令,李洋,李儀
(中國電子科技集團公司第二十九研究所,成都 610036)
電子對抗整機裝備通常由多種多通道射頻模塊組成,各模塊的功能和性能直接決定了整機裝備的作戰效果。為了保證各型模塊在整機工作中能夠正常實現其功能以及發揮其性能,在裝備至整機前,需要對每件模塊的各個通道設置大量測試點進行測試,各型模塊測試指標種類繁多,測試過程復雜,測試工作量較大,自動測試手段變得必不可少。
不同類型(甚至是同類型不同型號)多通道射頻模塊,由于指標參數、通道數目和組批臺套數不同,以及通道TR 屬性不固定等原因,導致各型產品的測試需求不盡相同。以往在模塊批產前,采用定制化開發自動化測試系統或對現有測試系統進行改造的方式來滿足產線的批產測試需求,這種開發改造方式存在重復開發、周期長、效率低的問題,已無法滿足日趨復雜的測試過程和日益增長的產能。
綜上所述,本文設計了一種基于C#與XML 的多通道射頻模塊可配置通用組批自動測試系統。測試前,測試人員只需編寫或修改配置文件,并對測試系統進行微調聯試,在測試時選擇對應的產品型號即可實現在不同型號待測設備的自動測試過程中共享測試系統。目前該測試系統已支持多型多通道變頻、頻率源和前端模塊的組批全自動測試。
自動測試系統的硬件架構如圖1 所示,包括測控計算機、測試儀器、射頻開關矩陣和待測模塊。該自動測試系統支持GPIB 通用并行接口總線協議和TCP/IP 網絡通信協議對測試儀器進行程控,可程控的儀器包括常見品牌的信號源、頻譜儀、示波器和電源,其中電源支持多(單)通道類型電源多臺程控,以滿足組批測試需求?;诒粶y模塊的測試需求和通信協議要求,測控計算機與被測模塊之間支持RS232/RS422 串口和96 通道數字I/O 通信,且支持多通信接口并行通信。該測試系統支持多型射頻開關矩陣,包括采用96 通道數字I/O通信的自研開關矩陣和GPIB/網口通信的外購開關矩陣。該測試系統使用的射頻開關矩陣均為標準化模塊組件,可按照測試需求以自由裝配式快速搭建測試系統硬件,滿足單工位帶載任意臺套數的任意通道數待測設備,同時支持射頻通道在自動測試過程中的TR 屬性切換[1-4]。
圖1 系統硬件架構
在軟件體系架構設計中,常用的架構模式有三層開發架構(3-tier application) 、SOA(面向服務架構)、DDD(領域驅動設計)等,目的在于實現高內聚、低耦合的思想[5]。
本測試系統采用三層開發架構,如圖2 所示分為業務層、數據層和硬件交互層。業務層基于測試需求,完成儀器管理、試驗信息設置,配置管理和測試執行等功能,該層基于C#實現。數據層負責測試參數和測試數據處理,該層基于XML 和C#實現。硬件平臺提供對程控儀器和待測設備的物理接口,硬件交互層通過DLL 對儀器程控指令進行調用從而程控儀器,同時與待測設備進行通信[6]。
圖2 系統軟件架構
自動測試軟件實現在不同型號待測設備之間通用,核心途徑是將測試過程參數化,設計合理的數據結構表達測試過程并固化為配置文件。本測試系統基于具有結構性的標記語言XML 設計數據結構存儲測試參數。本測試系統以待測設備型號命名建立文件夾保存配置文件,配置文件數據結構以多通道變頻為例,如圖3 所示分為三類:與待測設備型號強相關的綜合測試參數和各通道指標參數,以及與測試系統硬件相關的插損配置文件。綜合測試參數配置文件中,將測試參數分為“指標儀器配置”、“通道信息”、“開關信息” 、“電源配置”、“產品信息”和“報表配置”,共6 部分。用戶在使用軟件前,編寫好綜合測試參數和各通道指標參數配置文件,每次測試時只需選中待測型號即可,以對應型號的文件夾為入口,調用對應配置文件。插損配置文件由軟件實測后以“產品序號-TR 屬性-通道號”的方式命名自動保存。
圖3 配置文件數據結構
本測試系統軟件劃分功能模塊,不僅遵循高內聚低耦合的基本原則,而且還遵循與待測設備型號有無關聯的原則,將如儀器程控、待測設備通信、通道切換和報表生成等與待測設備型號無關的通用功能,和與待測設備型號強關聯的指標測試功能剝離。上述原則是實現測試平臺能夠在不同型號待測件之間通用的核心。軟件主要功能模塊包括:
1)硬件程控模塊
包含多型信號源、頻譜儀、示波器和電源等儀器以及多型射頻開關矩陣的程控驅動庫。軟件根據測試需求通過加載程控指令參數,以虛擬設備的方式實現對儀器和射頻開關矩陣進行控制[7,8]。
2)配置文件讀取解析模塊
讀取配置文件,解析測試參數,將測試參數加載至軟件界面和緩存區。
3)指標測試模塊
依據待測設備產品規范,結合測試參數,按待測設備類型以DLL 的方式,對待測設備的頻率、功率、雜波、諧波、相噪等主要指標的測試步驟進行封裝,完成指標測試,并與軟件界面交互,實時顯示測試數據和測試結果判斷。
4)待測件通信模塊
建立待測設備和測控計算機之間的通信連接,向待測設備下發程控指令,并實時回讀待測設備的上報信息。
5)報表生成模塊
基于COM 組件技術調用Microsoft Office Word,結合配置參數自動生成Word 報表。
6)測試過程控制模塊
模擬手動操作,通過程控電源和下發指令控制待測設備狀態,并通過調用指標測試模塊完成測試過程,存儲測試數據和測試結果。
測試系統軟件采用模塊化設計思路,根據代碼功能封裝成軟件模塊,預留對外函數接口便于調用和二次開發。
1)硬件驅動類函數
public bool Open(int primaryAddr, int secondAddr)、public bool Open(string IPaddr, string Port)儀器初始化函數:分別通過GPIB 和TCP/IP 建立計算機與程控儀器或射頻開關的通信連接,軟件根據用戶填寫的地址信息自動識別具體使用哪種方式建立連接。
2)配置文件相關函數
private void XML_Load(string test_type)XML 加載解析函數:根據待測設備類型和實驗類型讀取XML 配置文件,并將測試參數解析加載至軟件。
3)測試類函數
private void testStart()測試過程函數:控制一次全自動測試過程的執行。
4)待測設備通信函數
public bool PortOpen(string type,string add,string param)端口出初始化函數:用于建立計算機于待測設備之間的通信鏈路。
5)數據類函數
private void writerThreadStart(object parameter)報表生成函數:將測試數據,根據配置文和測試信息生成為指定格式和文件名的Word 報表,保存至指定路徑。
測試軟件執行流程如圖4 所示。
圖4 軟件執行流程圖
從流程圖可得,軟件從臺套、通道、指標、測試頻點4 個層面,以循環的方式遍歷所有與測試系統相連待測設備的每個通道,各項指標的所有測試頻點。測試完成后,根據配置文件自動生成Word 報表。軟件執行過程邏輯清晰,層次分明,能夠準確穩定高效地完成整個自動測試過程。
測試系統軟件的UI 設計,遵循了簡約、一致性和易用性的基本原則,對于不同型號待測件,交互方式相同,且交互過程操作簡潔,簡單易學[9,10]。軟件UI 如圖5 所示,主要包含了:
圖5 軟件UI
1)測試信息填寫窗口:選擇待測件型號,試驗項目,填寫測試地點等測試信息;
2)實驗類型選擇窗口:勾選待測實驗類型;
3)指標選擇窗口:勾選待測指標;
4)通道選擇窗口:勾選待測通道;
5)待測設備信息窗口:填寫待測設備編號,勾選待測設備和選擇報表保存路徑;
6)端口信息窗口:顯示和更改待測設備通信端口信息;
7)指標儀器參數窗口:顯示待測指標的儀器參數;
8)測試信息窗口:實時顯示測試時間、待測設備編號、指標等測試過程信息;
9)測試操作窗口:顯示測試過程執行狀態,控制軟件開始、停止和暫停測試。
10)協議下發窗口:顯示下發至待測設備的通信內容。
本測試系統已在頻率源、多通道變頻和前端三種類型的模塊產線上成功應用,具體應用情況及自動測試系統開發周期如表1 所示,本文以測試指標數目和開發周期衡量測試系統開發效率。在投入產線使用前,自動測試系統的開發需要經歷需求分析、代碼編寫、硬件設計搭建、測試環境聯調驗證和管理控制流程5 個階段,以往開發可測2 個指標到6 個指標的自動測試系統,開發周期為10 天至34 天不等,單個指標平均耗時5.5 天。使用本測試系統,在基礎通用功能開發調試完成的情況下,各型待測模塊自動測試系統的開發周期如表1 所示,單個指標平均耗時1.6 天,由此可得自動測試系統的開發效率提升了70 %以上。
表1 測試系統應用及開發周期
本文研究了一種多通道射頻模塊可配置通用組批自動測試系統設計方案。該測試系統采用標準模塊化組件和程控儀器,以自由裝配的方式搭建硬件系統;以通用可配置為核心設計理念,剝離通用和個性化功能模塊,參數化自動測試過程,并依托具有結構性標記語言XML,設計數據結構保存測試參數,以C#為編譯環境,結合虛擬儀器、多類型總線通信和COM 組件技術設計系統軟件,實現了自動測試系統在不同類型多通道射頻模塊的組批全自動測試過程中通用,將自動測試系統的開發周期縮短了約70%以上,有效提高了產線自動測試能力建設效率。