滿宏權(quán),王厚軍,李 力
(電子科技大學自動化工程學院,四川 成都 611731)
在毫米波系統(tǒng)裝置運用于戰(zhàn)場給現(xiàn)代戰(zhàn)爭注入了高精尖技術(shù)的同時,也使得武器設(shè)備的復(fù)雜度變得越來越高,而在軍事技術(shù)競爭越來越激烈的今天,僅僅依靠傳統(tǒng)儀器對復(fù)雜的武器設(shè)備進行測試,越來越不適應(yīng)現(xiàn)代化作戰(zhàn)和測試的要求[1]。因此,設(shè)計一種具有高速度、高性能、高可靠、高可用、標準化、模塊化的自動化內(nèi)場測試設(shè)備已經(jīng)迫在眉睫[2]。該文針對毫米波頻段電子設(shè)備的測試需求,設(shè)計了毫米波系統(tǒng)內(nèi)場測試儀,實現(xiàn)對毫米波系統(tǒng)的各種指標和功能的自動測試,并對系統(tǒng)中故障設(shè)備進行快速診斷定位。
該內(nèi)測儀測控系統(tǒng)不僅能實現(xiàn)對該毫米波被測設(shè)備各種指標和功能的自動測試,并對每項測試進行測試結(jié)果分析、測試結(jié)果顯示、測試數(shù)據(jù)保存以及歷史記錄查詢。判斷被測設(shè)備存在故障時,能對被測設(shè)備中的故障模塊進行快速診斷定位。系統(tǒng)采取基于比對的測試思想,使用模塊替換的測試方式,配合開關(guān)切換的測試行為實現(xiàn)快速診斷隔離故障模塊的功能。
毫米波系統(tǒng)內(nèi)場測試儀(以下簡稱內(nèi)測儀)最核心的部分為Compact PCI(compact periperal component interconnect,CPCI)機箱,機箱內(nèi)插有零槽控制器模塊、電源模塊、CPCI功率計模塊、CPCI頻率計模塊、PXI開關(guān)模塊、CPCI-422多串口收發(fā)板卡,除此之外該內(nèi)測儀系統(tǒng)還包括機柜、接口適配器、射頻開關(guān)、數(shù)字I/O模塊、標準參考整機系統(tǒng)、液晶顯示器、鍵盤單元和鼠標單元。內(nèi)測儀測控系統(tǒng)組成框圖如圖1所示。
圖1 內(nèi)測儀測控系統(tǒng)組成框圖
內(nèi)測儀測控系統(tǒng)所采用的CompactPCI總線具有高總線帶寬、高可靠、高性能、支持熱插拔、標準化、模塊化等特點,滿足高速度、高性能尤其是復(fù)雜控制算法并要求可視化操作的應(yīng)用場合的功能需求[3]。
在該內(nèi)測儀系統(tǒng)中,采用3U雙槽的CPCI零槽控制器作為其主控制模塊。其具有較完整的計算機功能,其上運行嵌入式操作系統(tǒng)WindowsXP Embedded,支持即插即用,且穩(wěn)定可靠,完全滿足內(nèi)測儀測控系統(tǒng)需求。
該系統(tǒng)選用了高可靠性的WindowsXP Embedded作為底層系統(tǒng)支持,采用LabWindows/CVI6.0作為開發(fā)平臺[4]。
該內(nèi)測儀系統(tǒng)軟件設(shè)計主要包括人機交互界面設(shè)計、測試算法設(shè)計、快速診斷算法設(shè)計、測試結(jié)果保存與處理程序設(shè)計。測試算法設(shè)計分為指標測試算法設(shè)計和功能測試算法設(shè)計,其中被測設(shè)備指標測試又主要包括發(fā)射功率測試、發(fā)射頻率測試、接收靈敏度測試以及動態(tài)范圍測試4個部分。功能測試主要包括顯控分機測試和接口校時分機測試。
針對每種測試,為了避免測試過程過長,導(dǎo)致整個系統(tǒng)軟件凍結(jié),采取多線程的方式設(shè)計程序,為每種測試開辟新線程執(zhí)行整個測試流程。同時在程序設(shè)計中制定超時機制,控制測試線程在指定時間內(nèi)執(zhí)行;又因為系統(tǒng)測試時具有對硬件模塊的獨占性質(zhì),所以通過人機交互界面作為橋梁來實現(xiàn)流程控制,使各測試線程只與主線程即界面事件線程并發(fā)執(zhí)行[5]。軟件結(jié)構(gòu)如圖2所示。
圖2 軟件結(jié)構(gòu)圖
2.3.1 開關(guān)切換操作的設(shè)計
開關(guān)切換操作是內(nèi)測儀測控系統(tǒng)中不可或缺的關(guān)鍵環(huán)節(jié),起到了整個測試環(huán)節(jié)中的橋梁作用,是整個測控系統(tǒng)實現(xiàn)診斷功能的物理基礎(chǔ)。因此,開關(guān)切換操作的合理性、科學性直接制約著測控系統(tǒng)的整體性能。
開關(guān)切換操作主要存在以下兩個問題:
(1)開關(guān)切換操作與系統(tǒng)硬件資源聯(lián)系緊密,硬件物理連接的改動勢必導(dǎo)致軟件程序的改動,這不利于測試系統(tǒng)的開發(fā)、調(diào)試和維護。
(2)在進行診斷測試時,每次模塊替換所需操作的開關(guān)數(shù)量較多,若針對每個開關(guān)切換編寫代碼,也會造成程序代碼的復(fù)雜化。
為了解決上述問題,在開關(guān)切換操作的設(shè)計中,通過2個表即編碼-開關(guān)映射表和開關(guān)信息表來完成應(yīng)用層程序與底層物理連接的映射通信。其編碼-開關(guān)映射表部分截取圖片如圖3所示。
圖3 編碼-開關(guān)映射表截圖
其中最左一列為操作編碼,在應(yīng)用程序中只會出現(xiàn)這個編碼,而表單中的每一行則分別對應(yīng)該操作編碼所進行操作的開關(guān)板卡邏輯編號及其操作數(shù)據(jù)。這種方式不僅直觀,而且非常靈活,同時也意味著若開關(guān)切換操作有變,只需改變對應(yīng)板卡的操作數(shù)據(jù)即可。這大大提高了軟件的靈活性和可用性,同時也滿足系統(tǒng)高可用、模塊化的要求。
開關(guān)信息表部分截取圖片如圖4所示,最左一列對應(yīng)編碼-開關(guān)映射表中的各開關(guān)板卡邏輯編號,中間一列代表開關(guān)板卡在CPCI機箱中總線號,右邊一列代表開關(guān)板卡在CPCI機箱中的槽號。這個表作為編碼-開關(guān)映射表的補充,保障了開關(guān)模塊物理位置變更的情況下,無需修改軟件代碼,只需要修改配置文件即可。
圖4 開關(guān)信息表截圖
2.3.2 測試報告管理程序設(shè)計
測試系統(tǒng)在完成測試后,除了應(yīng)該將測試結(jié)果形成測試記錄,顯示在人機交互界面上,還應(yīng)具備保存測試結(jié)果的功能,以便用戶在日后調(diào)出歷史記錄進行查詢,此外測試系統(tǒng)還應(yīng)該具備查詢歷史記錄的功能。由于測試報告的數(shù)據(jù)結(jié)構(gòu)與Microsoft Excel表單的數(shù)據(jù)結(jié)構(gòu)相類似,因此采用Microsoft Excel來保存測試報告,并通過LabWindows/CVI提供的關(guān)于Excel操作的庫函數(shù),完成對數(shù)據(jù)的保存、查詢等操作。另外,利用LabWindows/CVI提供的Table控件實現(xiàn)測試結(jié)果在人機交互界面上的顯示。
2.3.3 多線程技術(shù)與超時機制
在測試過程中,因為指標參數(shù)眾多,某些指標測試時所需測試時間較長,且每種指標測試時有可能出現(xiàn)測試故障導(dǎo)致測試函數(shù)無法返回,致使整個系統(tǒng)軟件凍結(jié),不能響應(yīng)用戶的隨機操作,甚至有可能造成系統(tǒng)崩潰而出現(xiàn)死機現(xiàn)象。為避免這種現(xiàn)象的產(chǎn)生,系統(tǒng)在開發(fā)時充分利用多線程技術(shù),采用針對每個測試過程開辟新線程與主線程并發(fā)執(zhí)行的方式,使系統(tǒng)始終響應(yīng)用戶事件,增加了用戶對系統(tǒng)操作的可控性[6]。LabWindows/CVI開發(fā)環(huán)境提供了較完善的多線程操作庫函數(shù)。線程結(jié)構(gòu)如圖5所示。
為了給測試響應(yīng)時間設(shè)置一個限度,更有效地避免因測試過程中產(chǎn)生故障而導(dǎo)致測試響應(yīng)時間過長甚至無法返回,在該測試軟件中引入超時機制,配合測試線程的使用,保證測試過程的高速性和可靠性。超時機制程序流程圖如圖6所示。
文中對某毫米波系統(tǒng)內(nèi)場測試儀的功能、系統(tǒng)組成和軟件設(shè)計進行了系統(tǒng)的介紹。該內(nèi)場測試儀不但能對毫米波被測設(shè)備各種指標和功能進行自動測試,而且當被測設(shè)備存在故障時,能對被測設(shè)備中的故障模塊進行診斷定位。該測試系統(tǒng)已經(jīng)成功用于實際應(yīng)用中,且運行可靠,測試快速、準確,滿足標準化、模塊化的自動測試要求,具有一定的參考、借鑒價值。
圖5 線程結(jié)構(gòu)圖
圖6 超時機制程序流程圖
[1] 余宏明,張志堅.毫米波雷達及其對抗[J].艦船電子工程,2008(2):168-171.
[2] 楊春,杜舒明.美國軍用自動測試系統(tǒng)發(fā)展趨勢[J].國外電子測量技術(shù),2004(6):5-7.
[3]劉鑫,周金蓮.CompactPCI總線工控機技術(shù)的現(xiàn)狀與應(yīng)用[J].電子技術(shù)應(yīng)用,2002(7):6-7.
[4]張毅剛.虛擬儀器軟件開發(fā)環(huán)境LabWindows/CVI6.0編程指南[M].北京:機械工業(yè)出版社,2002.
[5] 駱斌,費翔林.多線程技術(shù)的研究與應(yīng)用[J].計算機研究與發(fā)展,2000(4):31-34.
[6]許曉煒,黃建國.基于多線程的通用自動測試系統(tǒng)軟件設(shè)計[J].科技天地,2008(2):59-60.
[7] 譚浩強.C程序設(shè)計[M].北京:清華大學出版社,1999.
[8] 李立功,年夫順,王厚軍,等.現(xiàn)代電子測試技術(shù)[M].北京:國防工業(yè)出版社,2008.
[9] 李行善.自動測試系統(tǒng)集成技術(shù)[M].北京:電子工業(yè)出版社,2004.