陳 星,武占成,范麗思
(軍械工程學(xué)院靜電與電磁防護(hù)研究所,河北 石家莊 050003)
隨著軍隊信息化建設(shè)進(jìn)程的加快,以電子信息系統(tǒng)為核心的信息化武器裝備大量投入使用,使得復(fù)雜電磁環(huán)境下裝備保障指揮如何發(fā)揮更大的效能以保障主戰(zhàn)裝備作戰(zhàn)效能的發(fā)揮,成為裝備保障指揮領(lǐng)域急需研究的課題[1]。軍事裝備在復(fù)雜電磁環(huán)境下的敏感性測試就顯得十分重要了。根據(jù)國軍標(biāo)GJB 151A-97《軍用設(shè)備和分系統(tǒng)電磁發(fā)射和敏感度要求》和GJB 152A-97《軍用設(shè)備和分系統(tǒng)電磁發(fā)射和敏感度測量》中RS103項目的試驗要求,場強(qiáng)極限值在頻域內(nèi)變化較小。實(shí)驗室構(gòu)建的電場輻射敏感度測試系統(tǒng)在試驗掃描過程中是手動操作,即通過觀察場強(qiáng)計的讀數(shù)大小來調(diào)節(jié)信號源和大功率放大器的輸出,以保證掃描過程場強(qiáng)值的穩(wěn)定一致,EMC試驗過程中涉及到頻率敏感點(diǎn)和敏感極限電平,實(shí)驗的次數(shù)多而麻煩,依據(jù)GJB 152A-97中的規(guī)定,大致計算一下所需要測試次數(shù),可以算出從8~100MHz(按0.25%步進(jìn))最少要經(jīng)過1011個頻率點(diǎn)。每個頻率點(diǎn)上都要反復(fù)調(diào)整電磁場內(nèi)的場強(qiáng),工作量極大,急需構(gòu)建電場自動控制系統(tǒng)。依據(jù)基于ANSIC為核心的交互式C語言編程的LabWindows/CVI開發(fā)平臺,編制自動控制軟件。自動控制軟件采用模塊化編程,主要包括儀器模塊、校正模塊、測試模塊、報告模塊。編制的程序大大加快了測試速度并易于進(jìn)行升級。
輻射敏感度測試系統(tǒng)就是對設(shè)備或系統(tǒng)進(jìn)行電磁輻射干擾試驗,從而測量出設(shè)備或系統(tǒng)抗電磁輻射干擾的輻射敏感度門限值[2]。
用GTEM室為電場輻射敏感性試驗,已被FCC、IEC、CISPR 以及國標(biāo)(GB)和國軍標(biāo)(GJB)所采納。它具有頻帶寬、無需更換天線、場均勻性好、成本低等特點(diǎn),特別適合EMS自動測試[3]。在構(gòu)建電場輻射敏感度自動測試系統(tǒng)時,場強(qiáng)幅度變化的大小直接影響測試結(jié)果,因此必須將其變化限定在規(guī)定的誤差限內(nèi)。自動控制硬件框圖如圖1所示。
圖1 系統(tǒng)硬件配置圖
信號源、功率計的GPIB接口,通過電纜級連的方式匯入USB-GPIB接口上,系統(tǒng)在不同的GPIB地址區(qū)分這兩種儀器。計算機(jī)通過GPIB卡控制信號源產(chǎn)生一定類型、頻率和幅值的信號。信號源產(chǎn)生的信號通過功率放大器放大,通過同軸電纜饋入GTEM小室。GTEM小室內(nèi)的場強(qiáng)由場探頭變?yōu)殡娦盘?,通過場強(qiáng)測量儀測量它的大小,場強(qiáng)測量儀將電信號轉(zhuǎn)成光信號通過光纖和RS232接口將場強(qiáng)數(shù)據(jù)輸入計算機(jī)內(nèi)。測量的場強(qiáng)數(shù)值和標(biāo)準(zhǔn)規(guī)定的數(shù)值進(jìn)行比較,通過調(diào)整信號源的大小直到GTEM室中場強(qiáng)與標(biāo)定場強(qiáng)的誤差符合規(guī)定為止。
編寫自動測試程序之前,首先應(yīng)該對儀器的原理、功能、操作方法有詳細(xì)的了解,對程序的結(jié)構(gòu)進(jìn)行設(shè)計,電場輻射敏感度自動測試系統(tǒng)實(shí)現(xiàn)的功能是對GTEM室內(nèi)場強(qiáng)的控制、通過調(diào)節(jié)信號源輸出功率大小改變室內(nèi)場強(qiáng)。涉及控制或通信的儀器主要有信號源、功率計、場強(qiáng)計。為了適應(yīng)通信總線和測試儀器的變化,驅(qū)動程序分層、模塊化設(shè)計。程序由底層向上編寫,VISA首先定義了一種管理所有VISA資源的資源管理器,以實(shí)現(xiàn)各種VISA資源的管理、控制和分配,內(nèi)容包括資源尋址、資源創(chuàng)建與刪除、資源屬性的讀取與修改、操作激活、事件報告、存取控制和默認(rèn)值設(shè)置等[4]。VISA調(diào)用物理儀器的VPP協(xié)議驅(qū)動程序,寫入儀器管理配置信息,用戶功能模塊調(diào)用VISA函數(shù)實(shí)現(xiàn)與功能接口。軟件結(jié)構(gòu)主要包括輸入輸出接口軟件、儀器驅(qū)動程序、應(yīng)用軟件開發(fā)環(huán)境。輸入輸出接口主要是通過VISA I/O來實(shí)現(xiàn),其存在于儀器與儀器驅(qū)動程序之間,完成儀器內(nèi)部寄存器數(shù)據(jù)的存取操作,是儀器與儀器驅(qū)動程序之間進(jìn)行信息傳遞的底層軟件[5]。應(yīng)用軟件LabWindows/CVI是基于C語言編程的虛擬儀器軟件開發(fā)平臺。它是32位的面向計算機(jī)測控領(lǐng)域的虛擬儀器軟件開發(fā)平臺,以ANSI C為核心,將功能強(qiáng)大、應(yīng)用廣泛的C語言與測控專業(yè)工具有機(jī)地結(jié)合起來,實(shí)現(xiàn)數(shù)據(jù)的采集、分析和顯示[6]。儀器驅(qū)動程序?qū)嶋H上是聯(lián)系應(yīng)用程序與硬件設(shè)備的橋梁,VISA庫函數(shù)為驅(qū)動程序提供了與硬件通訊的軟件接口。通過對函數(shù)的調(diào)用實(shí)現(xiàn)對儀器的操作[7]。虛擬儀器軟件體系結(jié)構(gòu)與軟件設(shè)計流程如圖2、圖3所示。
圖2 虛擬儀器軟件體系結(jié)構(gòu)
圖3 軟件設(shè)計流程圖
在測試的過程中涉及到計算機(jī)與信號源、功率計、場強(qiáng)計間的通信,就必須對其進(jìn)行初始化。信號源、場強(qiáng)計、功率計都有LabWindows/CVI的儀器驅(qū)動程序,通過儀器菜單裝載驅(qū)動器函數(shù)庫,并將其c代碼文件與h頭文件添加到test工程文件中。添加的代碼文件主要包括功率計c代碼文件rsnrvd.c和h頭文件rsnrvd.h,信號源c代碼文件rssml.c、rssmr.c以及其h頭文件rssml.h、rssmr.h。對各個儀器的驅(qū)動函數(shù)調(diào)用進(jìn)行初始化編程。儀器間是通過安捷倫公司的USB-GPIB卡與RS232接口總線通信,因此也必須安裝USB-GPIB卡的輸入輸出庫Agilent IO Libraries Suite才能對儀器進(jìn)行通信控制。
3.2.1 儀器模塊
主要包括對儀器的初始化,初始化函數(shù)是通過VISA庫中的函數(shù)調(diào)用來實(shí)現(xiàn)的。儀器初始化時對各個儀器的初始化函數(shù)的調(diào)用如下所示:
3.2.2 校正模塊
對場強(qiáng)的校正可以分成開環(huán)校正和閉環(huán)校正。在開環(huán)的校正過程中,固定信號源輸入功率的情況下得到GTEM室內(nèi)的場強(qiáng)頻域特性常數(shù)K(f),可以用公式表示為 K(f)=P0/E(f)2。對于標(biāo)定的場強(qiáng)值 E0所需的信號源功率可以表示為P=K(f)·E02。軟件編程過程如下所示,校正完的數(shù)據(jù)以*.csv格式文件保存。
在閉環(huán)校正時,可以調(diào)用開環(huán)的校正文件,通過調(diào)用開環(huán)的校正文件來更為精確地獲得標(biāo)定場強(qiáng)所需的信號源功率。對*.csv文件的調(diào)用主要過程是對開環(huán)校正文件以塊的形式寫入一個data數(shù)組中,取數(shù)組中前2*maxfreq項分別放入另外兩個數(shù)組中,分別得到頻率與信號源功率數(shù)據(jù)。軟件編制如下所示:
在獲得開環(huán)校正文件上就可以通過測試的場強(qiáng)值來反饋調(diào)節(jié)信號源功率,直到室內(nèi)測試場強(qiáng)值與標(biāo)定場強(qiáng)值的誤差在規(guī)定的誤差限內(nèi)。
3.2.3 測試模塊
在測試模塊中,主要是對校正文件調(diào)用,可以是開環(huán)數(shù)據(jù)文件也可以是閉環(huán)數(shù)據(jù)文件。在選擇哪種校正文件時,可以通過實(shí)際測量的場強(qiáng)值在頻域內(nèi)變化大小與實(shí)驗對場強(qiáng)變化大小的要求來選擇。對校正文件的調(diào)用與閉環(huán)校正時對開環(huán)校正文件的調(diào)用過程一樣。
3.2.4 報告模塊
LabWindows/CVI與 Word、Excel通信基礎(chǔ)是對Active X的調(diào)用。LabWindows/CVI調(diào)用Active X時,首先要建立其服務(wù)器,并進(jìn)行配置,然后生成系統(tǒng)可以識別的程序文件,一般包括.c、.h、.fp、.obj、.sub等文件[8-9]。主要過程是在LabWindows/CVI開發(fā)環(huán)境下選擇 Tools-Create ActiveX Automation Controller,然后在ActiveX服務(wù)控件選擇框中選擇Microsoft Word 11.0 Object Library將會生成函數(shù)對話框,并將其保存為wordsrvr.fp,同時在選擇的目標(biāo)目錄中還會生成 wordsrvr.c、wordsrvr.h、wordsrvr.obj、wordsrvr.sub等四個文件,將 wordsrvr.fp、wordsrvr.c、wordsrvr.h 文件加入工程后,就可以調(diào)用生成的函數(shù)庫,從而實(shí)現(xiàn)LabWindows/CVI與Word的混合應(yīng)用。通過對函數(shù)庫中函數(shù)的調(diào)用生成以Word形式的報告。
PC機(jī)已經(jīng)從基于字符的DOS用戶界面轉(zhuǎn)移到更強(qiáng)大的Windows圖形用戶界面,然而增強(qiáng)的GUI也付出了代價。在許多連續(xù)采集數(shù)據(jù)并在軟件界面上顯示的自動測試過程中,用戶界面是一個制約因素[10]。
在編制軟件測試GTEM室內(nèi)場強(qiáng)或是控制場強(qiáng)的過程中,當(dāng)測量的過程中遇到特殊情況時,軟件能夠迅速停止下來并關(guān)閉儀器。在此過程中界面控件動作與硬件通信是同時進(jìn)行的,如果用單線程的話,軟件不能夠快速響應(yīng)控件事件,甚至造成死機(jī)。因此在編程的過程中就必須應(yīng)用到多線程技術(shù)才能克服數(shù)據(jù)采集與界面顯示之間的矛盾。
在LabWindows/CVI中提供了兩種多線程技術(shù),分別是線程池(Thread Pools)和異步定時器(Asynchronous Timers)機(jī)制[11]。該軟件的編寫用到的是線程池機(jī)制,使用線程池創(chuàng)建線程函數(shù),在調(diào)用線程函數(shù)進(jìn)行場強(qiáng)的校正。具體的線程池代碼如下所示:
當(dāng)出現(xiàn)過載或者是檢測員需要暫停的情況時,需要釋放與線程池相關(guān)聯(lián)的校正線程函數(shù),停止校正或是關(guān)閉儀器。在LabWindows/CVI開發(fā)平臺中用到釋放線程的函數(shù)為:
該文主要介紹了電場輻射敏感度自動控制技術(shù)的軟件編制過程。通過軟件架構(gòu)的分析,進(jìn)行了模塊化編程,軟件的四大模塊通過對函數(shù)庫和校正文件的調(diào)用實(shí)現(xiàn)其功能。在校正場強(qiáng)的過程中,開環(huán)校正的速度很快,適合對于場強(qiáng)要求不是很高的場合。閉環(huán)校正相對于開環(huán)校正速度比較慢,因為有一個標(biāo)定場強(qiáng)誤差限需要滿足,其實(shí)現(xiàn)主要是通過開環(huán)校正的數(shù)據(jù)產(chǎn)生的場強(qiáng)與測量場強(qiáng)值比較,來修正信號源的功率值,比較修正的過程比較費(fèi)時,但是閉環(huán)產(chǎn)生的場強(qiáng)值更為精確,得到的實(shí)驗數(shù)據(jù)也就更可靠。在保證GTEM室內(nèi)場強(qiáng)值的精確的基礎(chǔ)上如何加快閉環(huán)校準(zhǔn)速度值得進(jìn)一步的研究和探討。
[1]羅小明.復(fù)雜電磁環(huán)境下裝備保障指揮效能評估指標(biāo)體系及方法研究[J].裝備指揮技術(shù)學(xué)院學(xué)報,2008,19(3):1-2.
[2]朱傳煥.小型電磁輻射敏感度自動測試系統(tǒng)的設(shè)計[J].計算機(jī)技術(shù)與應(yīng)用,2000,20(4):32.
[3]歐陽星明,張國富.使用可視化編程語言實(shí)現(xiàn)EMS測試的閉環(huán)控制[J].吉首大學(xué)學(xué)報:自然科學(xué)版,2000,21(2):44-45.
[4]陳張良.基于LabWindows/CVI的網(wǎng)絡(luò)化虛擬儀器軟件系統(tǒng)的設(shè)計與實(shí)現(xiàn)[D].西安:電子科技大學(xué),2007:7-8.
[5]刁修民,王 建.基于LabWindows/CVI的虛擬儀器軟件開發(fā)技術(shù)[J].國外電子測量技術(shù),2003(增刊軟件技術(shù)):73-74.
[6]徐 健.基于LabWindows/CVI的LGDJ溫濕度箱控制[J].國外電子測量技術(shù),2005,24(10):28.
[7]柳吉齡,張宇河.基于VXI通用儀器的虛擬示波器設(shè)計[J].自動化與儀表技術(shù),2005(2):58-59.
[8]王建新,楊世鳳,隋美麗.LabWindows/CVI測試技術(shù)及工程應(yīng)用[M].北京:化學(xué)工業(yè)出版社,2006.
[9]王富輝,李慶文,趙嬋娟,等.基于LabWindows/CVI的工程機(jī)械振動測試與分析系統(tǒng) [J].計量與測試技術(shù),2008,35(3):26-27.
[10]史君成,張淑偉,律淑珍.LabWindows虛擬儀器設(shè)計[M].北京:國防工業(yè)出版社,2007.
[11]楊東升,王高峰.多線程技術(shù)在虛擬儀器開發(fā)軟件中的實(shí)現(xiàn)[J].電測與儀表,2005(3):39-40.