摘 要:測試語言主要分2類:面向儀器的測試語言和面向信號的測試語言。通過分析2種測試語言的優(yōu)缺點,結(jié)合我國航天嵌入式電子系統(tǒng)測試系統(tǒng)的特點,提出一種基于虛擬儀器的面向航天嵌入式電子系統(tǒng)的測試語言,該語言主要借鑒ATLAS的關(guān)鍵語句,將其解釋為測試框架配置文件和測試文檔;同時還描述該測試語言的程序格式和執(zhí)行機制。
關(guān)鍵詞:航天嵌入式電子系統(tǒng);虛擬儀器;測試語言;ATLAS;自動測試
Research of Space Embedded Electronic Systems Oriented Test Language
QIAO Yongkang,WANG huping,WANG haoju
(Xi′an Micro-electronic Research Institute,Xi′an,710075,China
Abstract:Test language are mainly divided by two category:instrument-oriented test language and signal-oriented test language.By analysing theabove two languages′ feature,and combines the feature of our country′s test systems of space embedded electronic system,this paper puts forward a new space embedded electronic system oriented test language which is based on virtual instruments.This language mainly inherits from ATLAS key action words,and is resolved into documents and configuration file.Finally this paper describes the test language′s coding pattern and its execution model.
eywords:space embedded electronic system;virtual instrument;test language;ATLAS;automatic test system
隨著我國航天技術(shù)的發(fā)展,航天嵌入式電子系統(tǒng)的復(fù)雜度不斷增加,可靠度要求越來越高,產(chǎn)品研制周期也越來越短。這就給航天嵌入式電子系統(tǒng)的測試提出了新的挑戰(zhàn)。在新一代自動測試系統(tǒng)中,自動測試語言——如ATLAS語言,在系統(tǒng)級仿真、測試與驗證中起著非常重要的作用,人和機器均可翻譯的自動測試語言不但可以作為用戶與測試人員溝通的橋梁,而且可以編譯成可執(zhí)行測試代碼,在目標(biāo)機器上運行。
本文通過分析面向信號和面向儀器2類測試語言的優(yōu)缺點,結(jié)合我國航天嵌入式電子系統(tǒng)測試系統(tǒng)的特點,提出一種基于虛擬儀器的面向航天嵌入式電子系統(tǒng)的測試語言,目的是將測試過程中的各種資源和功能單元進行組態(tài),并將其涵蓋于既定的測試框架中,實現(xiàn)“積木式”軟件開發(fā)。同時,該測試語言還融入了軟件工程的思想,加入測試文檔和測試程序的自動生成功能,進一步提高了測試系統(tǒng)開發(fā)效率。
1 測試語言綜述
測試語言大體上可分為2類:面向信號的測試語言和面向儀器的測試語言。
面向儀器的測試語言,如LabView主要通過直接調(diào)用儀器驅(qū)動實現(xiàn)測試過程,面向儀器的測試語言與具體儀器緊密相關(guān),因此程序移植比較困難,可重用性也比較差。而面向信號的測試語言,如ATLAS(Abbreviated Test Language for All Systems),則主要通過對信號的操作(施加激勵信號,測試響應(yīng)信號)來映射底層測試儀器的操作,達到與儀器無關(guān)的目的,因此面向信號的測試語言具有較好的可移植性和可重用性。ATLAS語言作為一種面向信號的測試語言,還采用了類似于英語自然語言的語法格式,使得它成為一種人機均可翻譯的測試語言,既可以作為工程師和測試人員之間交流的文檔規(guī)范,也可以經(jīng)編譯后作為測試程序執(zhí)行,鑒于此,ATLAS成為美國國防部首推的軍方測試語言。
但由于ATALS語言是一種接近于英語自然語言的測試語言,并不適合國內(nèi)用戶使用;同時,為了能夠滿足各個方面的測試需求,IEEE組織不斷對ATLAS進行修改,使得其語句非常臃腫,僅語言關(guān)鍵字就有1 000個(IEEE ATLAS STD-95),使得ATLAS語言的培訓(xùn)費用十分高昂;再者,ATLAS的編譯器價格極其昂貴,使得其優(yōu)勢難以在國內(nèi)測控領(lǐng)域發(fā)揮。
而另一方面,面向儀器的測試語言卻在商業(yè)領(lǐng)域取得了長足的發(fā)展,鑒于儀器互換的問題,NI和惠普等公司聯(lián)合推出了一系列的儀器驅(qū)動標(biāo)準(zhǔn):VISA(Virtual Instrument Software Architecture)和IVI(Interchangeable Virtual Instrument)。VISA是VPP(VXI plug play)聯(lián)盟于1996年2月推出的新一代儀器I/O標(biāo)準(zhǔn),VISA具有與儀器硬件接口無關(guān)的特性,即VISA是面向器件功能,而不是面向接口總線。使用它控制VXI,GPIB,RS 232,PXI等儀器時,不必考慮接口總線類型。如圖1所示。
為了進一步提高儀器驅(qū)動程序的執(zhí)行性能,達到儀器的互換,1998 年由9家公司成立的IVI基金會,在VXI-PNP 技術(shù)基礎(chǔ)上為儀器驅(qū)動程序制定新的編程接口,在VISA 標(biāo)準(zhǔn)驅(qū)動程序上插入VXI-PNP 框架結(jié)構(gòu)和類驅(qū)動程序,它通過定義類驅(qū)動器和專用驅(qū)動器實現(xiàn)了部分通用儀器之間的互換,縮短了程序開發(fā)時間,提高了系統(tǒng)的運行性能。如圖2所示。
針對于此,IEEE推出ATLAS 2版本,它整合了VISA,IVI和面向?qū)ο蠹夹g(shù),給ATLAS語言注入了新的活力??傮w來講,面向信號的語言和面向儀器的語言各有優(yōu)勢,面向儀器的語言具有直觀,易用的特點;而面向信號的語言編寫的測試程序具有較好的可重用性和儀器可互換性。
2 航天嵌入式電子系統(tǒng)測試需求
航天嵌入式電子系統(tǒng)測試主要是針對航天專用的三模冗余或兩模冗余嵌入式電子計算機,這些系統(tǒng)在出廠前必須進行全面的測試,測試主要可分為內(nèi)部測試和外部測試,內(nèi)部測試主要是指那些無需借助外部測試儀器,而可以直接通過嵌入式系統(tǒng)內(nèi)部執(zhí)行測試程序所進行的測試,如CPU測試、ROM測試、RAM測試、端口測試等;外部測試則是指需要外部測試儀器配合所進行的測試,如開關(guān)量測試、串口測試、計數(shù)器測試、AD/DA測試等。
航天嵌入式電子系統(tǒng)測試的傳統(tǒng)方法為:根據(jù)測試需求分別設(shè)計內(nèi)部測試程序和外部測試儀器及測試程序;嵌入式電子系統(tǒng)和外部測試系統(tǒng)分別上電初始化后,外部測試系統(tǒng)向嵌入式電子系統(tǒng)上傳測試程序(嵌入式系統(tǒng)本身的ROM內(nèi)固化有1個RTOS);嵌入式系統(tǒng)加載測試程序后向外部測試系統(tǒng)發(fā)握手信號,并等待外部激勵;外部測試系統(tǒng)向嵌入式系統(tǒng)發(fā)送激勵信號,嵌入式系統(tǒng)接收激勵并做出響應(yīng),如此循環(huán)下去。
為提高測試系統(tǒng)可重用性和測試的準(zhǔn)確性,開展了面向航天嵌入式電子系統(tǒng)的測試技術(shù)研究,并對一些測試模塊(軟件)進行了標(biāo)準(zhǔn)化工作,如CPU測試、ROM測試、RAM測試、AD/DA測試等;同時還采用標(biāo)準(zhǔn)的基于PXI的測試儀器,以達到儀器可重用,系統(tǒng)可配置的目的。
3 面向航天嵌入式電子系統(tǒng)的測試語言
面向航天嵌入式電子系統(tǒng)的測試語言不但要解決外部測試問題還要解決內(nèi)部測試問題,這里在融合面向信號測試語言與面向儀器測試的各自優(yōu)勢的基礎(chǔ)上,通過系統(tǒng)建模的方法,定義了適用于航天嵌入式電子系統(tǒng)測試應(yīng)用的測試語言,以達到測試系統(tǒng)的可重用及可配置的目的。
系統(tǒng)建模包括3個方面:信號建模,UUT(Unit Under Test,被測對象)建模和測試儀器建模3個方面。信號建模主要針對航天嵌入式電子系統(tǒng)所常見的接口信號類型及特點,定義出一組常見信號,用戶可以通過參數(shù)設(shè)定,達到描述UUT或測試儀器接口信號特征的目的;UUT建模主要是通過對UUT外部接口,內(nèi)部組件參數(shù)及體系結(jié)構(gòu)的描述,達到內(nèi)部測試測試程序的自動裝配,UUT建模同時支持黑盒建模(僅描述其外部接口)和灰盒建模(同時描述其內(nèi)部體系結(jié)構(gòu)及組件參數(shù));測試儀器建模則通過描述測試儀器的本質(zhì)信號特征及關(guān)鍵接口特征,并最終映射實際儀器(所建立的測試儀器模型與實際儀器可能存在一對多或多對一的對應(yīng)關(guān)系),達到測試程序可重用,儀器可更換的目的。
因此,本文所描述的面向航天嵌入式系統(tǒng)的測試語言主要包括5個部分:
信號描述及定義通過定義一組航天嵌入式電子系統(tǒng)常見的基本信號,如數(shù)字信號(包括開關(guān)量和脈沖量)、模擬量(DC,AC)等。用戶可通過配置信號參數(shù)設(shè)定信號;
被測對象描述通過描述被測對象的接口關(guān)系,并建立狀態(tài)機功能模型,仿真被測對象的功能模型,并自動生成內(nèi)部測試程序。在未建立狀態(tài)機功能模型時,系統(tǒng)可以將被測對象作為一個黑盒考慮,此時不生成被測對象內(nèi)部測試程序;
測試儀器描述通過描述測試儀器,達到建立測試需求模型,并最終與1個或多個實際測試儀器相映射,測試儀器本身相當(dāng)于一個信號描述集合,通過定義虛擬測試儀器,提高了測試儀器的可互換性和測試程序的可重用性。這樣既保留了面向儀器測試語言的直觀性和易用性,也提高了程序的可重用性;
連接關(guān)系描述連接關(guān)系描述定義了UUT與測試儀器之間的連接關(guān)系,連接關(guān)系描述還可以包含適配器描述,使得測試系統(tǒng)的層次性更加明顯,也更有用;
測試策略描述測試測量是測試語言中的最重要的部分,通過一系列的測試動作:apply,measure,verify等,控制測試儀器完成測試過程。測試策略描述語句選擇提取ATLAS關(guān)鍵測試語句:單信號語句、多信號語句、總線操作語句、定時和事件相關(guān)語句,并對其進行了一定的改進,使之更直觀,且更易于實現(xiàn)到圖形化語言的轉(zhuǎn)換。測試語言的具體格式如下:
Signal//信號描述
信號類型(模擬/數(shù)字/脈沖量/DC電源等) 信號名
{
信號參數(shù):如Voltage range: 0..5v;
}
UUT被測對象名
{
信號類型(TTL,模擬信號,…,自定義類型):針腳名1,針腳名2,…,針腳名n;
Input(輸入引腳):針腳名1,針腳名2,…,針腳名n;
Output(輸出引腳):針腳名1,針腳名2,…,針腳名n;
…//被測對象狀態(tài)機描述,此功能尚未添加
Memo(說明):“”;
}
儀器類名(如開關(guān)量測試儀器,1553B測試儀器,A/D,D/A等)測試儀器名
{
信號類型(TTL,模擬信號,自定義類型):針腳名1,針腳名2,…,針腳名n;
Input(輸入引腳):針腳名1,針腳名2,…,針腳名n;
Output(輸出引腳):針腳名1,針腳名2,…,針腳名n;
…//各儀器所特有的屬性及配置
}
CONNECTION連接關(guān)系描述名
{
儀器端引腳(輸出)=>UUT端引腳(輸入)
…
儀器端引腳(輸入)<=UUT端引腳(輸出);
… }
TEST_ITEM測試項名//測試策略描述
{ 測試動作描述語句 }
下面是一個典型的測試策略描述:
TEST_ITEMitem1
{
Apply(VDout1.Dout,0x01;//施加激勵
Verify(VDin1.Din,0x00,0 ms;//測試驗證響應(yīng)
Apply (VDout1.Dout,0x00;
Verify (VDin1.Din,0x00,0 ms;
Apply (VDout1.Dout,0x10;
Verify (VDin1.Din,0x00,0 ms;
Apply (VDout1.Dout,0x11;
Verify (VDin1.Din,0x01,0 ms;
}
每一個TEST_ITEM(也即測試策略描述)對應(yīng)于測試框架中一個測試細(xì)則,測試細(xì)則是圖形化的測試執(zhí)行界面的一個子界面。
測試語言經(jīng)編譯/解釋后生成測試框架配置文件和測試文檔,用戶通過加載測試框架配置文件,設(shè)置執(zhí)行次數(shù)和選擇測試項目,系統(tǒng)即開始進行測試,測試界面主要分兩部分:測試總覽和測試細(xì)則,其中測試總覽主要采用文本框的形式顯示當(dāng)前的測試記錄,包括當(dāng)前正在進行的測試項目和捕獲的錯誤信息等;測試細(xì)則是由一個或多個圖形化的詳細(xì)測試分項構(gòu)成。
4 結(jié) 語
通過研究國內(nèi)外測試語言發(fā)展現(xiàn)狀,結(jié)合面向信號測試語言和面向儀器測試語言的優(yōu)勢,采用軟件工程的思想,建立了基于虛擬儀器的面向航天嵌入式電子系統(tǒng)的測試語言模型,為以后的進一步研究奠定了基礎(chǔ)?;谔摂M儀器的測試語言還處于研究的初級階段,仍有不完善的地方,需要進一步改進。
參 考 文 獻
[1]IEEE Std.771-1998.IEEE Guide to the Use of the ATLAS Specification,1998.
[2]IEEE Std.716-1995.IEEE Standard Test Language for all Systems Common/Abbreviated Test Language for All Systems (C/ATLAS,1995.
[3]于勁松,李行善.下一代自動測試系統(tǒng)體系結(jié)構(gòu)與關(guān)鍵技術(shù)[J].計算機測量與控制,2005,13(1:1-3.
[4]劉勇,遲華山,許愛強.新一代通用測試語言——ATLAS 2000[J].國外電子測量技術(shù),2006(3:56-59.
[5]鄧小川,趙俊霞,劉橋.面向儀器的圖形化編程環(huán)境LabView[J].貴州科學(xué),2002,20(4:68-71.
[6]李行善.自動測試系統(tǒng)集成技術(shù)[M].北京:電子工業(yè)出版社,2004.