滿宏權,王厚軍,李 力
(電子科技大學自動化工程學院,四川 成都 611731)
在毫米波系統裝置運用于戰場給現代戰爭注入了高精尖技術的同時,也使得武器設備的復雜度變得越來越高,而在軍事技術競爭越來越激烈的今天,僅僅依靠傳統儀器對復雜的武器設備進行測試,越來越不適應現代化作戰和測試的要求[1]。因此,設計一種具有高速度、高性能、高可靠、高可用、標準化、模塊化的自動化內場測試設備已經迫在眉睫[2]。該文針對毫米波頻段電子設備的測試需求,設計了毫米波系統內場測試儀,實現對毫米波系統的各種指標和功能的自動測試,并對系統中故障設備進行快速診斷定位。
該內測儀測控系統不僅能實現對該毫米波被測設備各種指標和功能的自動測試,并對每項測試進行測試結果分析、測試結果顯示、測試數據保存以及歷史記錄查詢。判斷被測設備存在故障時,能對被測設備中的故障模塊進行快速診斷定位。系統采取基于比對的測試思想,使用模塊替換的測試方式,配合開關切換的測試行為實現快速診斷隔離故障模塊的功能。
毫米波系統內場測試儀(以下簡稱內測儀)最核心的部分為Compact PCI(compact periperal component interconnect,CPCI)機箱,機箱內插有零槽控制器模塊、電源模塊、CPCI功率計模塊、CPCI頻率計模塊、PXI開關模塊、CPCI-422多串口收發板卡,除此之外該內測儀系統還包括機柜、接口適配器、射頻開關、數字I/O模塊、標準參考整機系統、液晶顯示器、鍵盤單元和鼠標單元。內測儀測控系統組成框圖如圖1所示。

圖1 內測儀測控系統組成框圖
內測儀測控系統所采用的CompactPCI總線具有高總線帶寬、高可靠、高性能、支持熱插拔、標準化、模塊化等特點,滿足高速度、高性能尤其是復雜控制算法并要求可視化操作的應用場合的功能需求[3]。
在該內測儀系統中,采用3U雙槽的CPCI零槽控制器作為其主控制模塊。其具有較完整的計算機功能,其上運行嵌入式操作系統WindowsXP Embedded,支持即插即用,且穩定可靠,完全滿足內測儀測控系統需求。
該系統選用了高可靠性的WindowsXP Embedded作為底層系統支持,采用LabWindows/CVI6.0作為開發平臺[4]。
該內測儀系統軟件設計主要包括人機交互界面設計、測試算法設計、快速診斷算法設計、測試結果保存與處理程序設計。測試算法設計分為指標測試算法設計和功能測試算法設計,其中被測設備指標測試又主要包括發射功率測試、發射頻率測試、接收靈敏度測試以及動態范圍測試4個部分。功能測試主要包括顯控分機測試和接口校時分機測試。
針對每種測試,為了避免測試過程過長,導致整個系統軟件凍結,采取多線程的方式設計程序,為每種測試開辟新線程執行整個測試流程。同時在程序設計中制定超時機制,控制測試線程在指定時間內執行;又因為系統測試時具有對硬件模塊的獨占性質,所以通過人機交互界面作為橋梁來實現流程控制,使各測試線程只與主線程即界面事件線程并發執行[5]。軟件結構如圖2所示。

圖2 軟件結構圖
2.3.1 開關切換操作的設計
開關切換操作是內測儀測控系統中不可或缺的關鍵環節,起到了整個測試環節中的橋梁作用,是整個測控系統實現診斷功能的物理基礎。因此,開關切換操作的合理性、科學性直接制約著測控系統的整體性能。
開關切換操作主要存在以下兩個問題:
(1)開關切換操作與系統硬件資源聯系緊密,硬件物理連接的改動勢必導致軟件程序的改動,這不利于測試系統的開發、調試和維護。
(2)在進行診斷測試時,每次模塊替換所需操作的開關數量較多,若針對每個開關切換編寫代碼,也會造成程序代碼的復雜化。
為了解決上述問題,在開關切換操作的設計中,通過2個表即編碼-開關映射表和開關信息表來完成應用層程序與底層物理連接的映射通信。其編碼-開關映射表部分截取圖片如圖3所示。

圖3 編碼-開關映射表截圖
其中最左一列為操作編碼,在應用程序中只會出現這個編碼,而表單中的每一行則分別對應該操作編碼所進行操作的開關板卡邏輯編號及其操作數據。這種方式不僅直觀,而且非常靈活,同時也意味著若開關切換操作有變,只需改變對應板卡的操作數據即可。這大大提高了軟件的靈活性和可用性,同時也滿足系統高可用、模塊化的要求。
開關信息表部分截取圖片如圖4所示,最左一列對應編碼-開關映射表中的各開關板卡邏輯編號,中間一列代表開關板卡在CPCI機箱中總線號,右邊一列代表開關板卡在CPCI機箱中的槽號。這個表作為編碼-開關映射表的補充,保障了開關模塊物理位置變更的情況下,無需修改軟件代碼,只需要修改配置文件即可。

圖4 開關信息表截圖
2.3.2 測試報告管理程序設計
測試系統在完成測試后,除了應該將測試結果形成測試記錄,顯示在人機交互界面上,還應具備保存測試結果的功能,以便用戶在日后調出歷史記錄進行查詢,此外測試系統還應該具備查詢歷史記錄的功能。由于測試報告的數據結構與Microsoft Excel表單的數據結構相類似,因此采用Microsoft Excel來保存測試報告,并通過LabWindows/CVI提供的關于Excel操作的庫函數,完成對數據的保存、查詢等操作。另外,利用LabWindows/CVI提供的Table控件實現測試結果在人機交互界面上的顯示。
2.3.3 多線程技術與超時機制
在測試過程中,因為指標參數眾多,某些指標測試時所需測試時間較長,且每種指標測試時有可能出現測試故障導致測試函數無法返回,致使整個系統軟件凍結,不能響應用戶的隨機操作,甚至有可能造成系統崩潰而出現死機現象。為避免這種現象的產生,系統在開發時充分利用多線程技術,采用針對每個測試過程開辟新線程與主線程并發執行的方式,使系統始終響應用戶事件,增加了用戶對系統操作的可控性[6]。LabWindows/CVI開發環境提供了較完善的多線程操作庫函數。線程結構如圖5所示。
為了給測試響應時間設置一個限度,更有效地避免因測試過程中產生故障而導致測試響應時間過長甚至無法返回,在該測試軟件中引入超時機制,配合測試線程的使用,保證測試過程的高速性和可靠性。超時機制程序流程圖如圖6所示。
文中對某毫米波系統內場測試儀的功能、系統組成和軟件設計進行了系統的介紹。該內場測試儀不但能對毫米波被測設備各種指標和功能進行自動測試,而且當被測設備存在故障時,能對被測設備中的故障模塊進行診斷定位。該測試系統已經成功用于實際應用中,且運行可靠,測試快速、準確,滿足標準化、模塊化的自動測試要求,具有一定的參考、借鑒價值。

圖5 線程結構圖

圖6 超時機制程序流程圖
[1] 余宏明,張志堅.毫米波雷達及其對抗[J].艦船電子工程,2008(2):168-171.
[2] 楊春,杜舒明.美國軍用自動測試系統發展趨勢[J].國外電子測量技術,2004(6):5-7.
[3]劉鑫,周金蓮.CompactPCI總線工控機技術的現狀與應用[J].電子技術應用,2002(7):6-7.
[4]張毅剛.虛擬儀器軟件開發環境LabWindows/CVI6.0編程指南[M].北京:機械工業出版社,2002.
[5] 駱斌,費翔林.多線程技術的研究與應用[J].計算機研究與發展,2000(4):31-34.
[6]許曉煒,黃建國.基于多線程的通用自動測試系統軟件設計[J].科技天地,2008(2):59-60.
[7] 譚浩強.C程序設計[M].北京:清華大學出版社,1999.
[8] 李立功,年夫順,王厚軍,等.現代電子測試技術[M].北京:國防工業出版社,2008.
[9] 李行善.自動測試系統集成技術[M].北京:電子工業出版社,2004.