摘 要:測試語言主要分2類:面向儀器的測試語言和面向信號的測試語言。通過分析2種測試語言的優缺點,結合我國航天嵌入式電子系統測試系統的特點,提出一種基于虛擬儀器的面向航天嵌入式電子系統的測試語言,該語言主要借鑒ATLAS的關鍵語句,將其解釋為測試框架配置文件和測試文檔;同時還描述該測試語言的程序格式和執行機制。
關鍵詞:航天嵌入式電子系統;虛擬儀器;測試語言;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
隨著我國航天技術的發展,航天嵌入式電子系統的復雜度不斷增加,可靠度要求越來越高,產品研制周期也越來越短。這就給航天嵌入式電子系統的測試提出了新的挑戰。在新一代自動測試系統中,自動測試語言——如ATLAS語言,在系統級仿真、測試與驗證中起著非常重要的作用,人和機器均可翻譯的自動測試語言不但可以作為用戶與測試人員溝通的橋梁,而且可以編譯成可執行測試代碼,在目標機器上運行。
本文通過分析面向信號和面向儀器2類測試語言的優缺點,結合我國航天嵌入式電子系統測試系統的特點,提出一種基于虛擬儀器的面向航天嵌入式電子系統的測試語言,目的是將測試過程中的各種資源和功能單元進行組態,并將其涵蓋于既定的測試框架中,實現“積木式”軟件開發。同時,該測試語言還融入了軟件工程的思想,加入測試文檔和測試程序的自動生成功能,進一步提高了測試系統開發效率。
1 測試語言綜述
測試語言大體上可分為2類:面向信號的測試語言和面向儀器的測試語言。
面向儀器的測試語言,如LabView主要通過直接調用儀器驅動實現測試過程,面向儀器的測試語言與具體儀器緊密相關,因此程序移植比較困難,可重用性也比較差。而面向信號的測試語言,如ATLAS(Abbreviated Test Language for All Systems),則主要通過對信號的操作(施加激勵信號,測試響應信號)來映射底層測試儀器的操作,達到與儀器無關的目的,因此面向信號的測試語言具有較好的可移植性和可重用性。ATLAS語言作為一種面向信號的測試語言,還采用了類似于英語自然語言的語法格式,使得它成為一種人機均可翻譯的測試語言,既可以作為工程師和測試人員之間交流的文檔規范,也可以經編譯后作為測試程序執行,鑒于此,ATLAS成為美國國防部首推的軍方測試語言。
但由于ATALS語言是一種接近于英語自然語言的測試語言,并不適合國內用戶使用;同時,為了能夠滿足各個方面的測試需求,IEEE組織不斷對ATLAS進行修改,使得其語句非常臃腫,僅語言關鍵字就有1 000個(IEEE ATLAS STD-95),使得ATLAS語言的培訓費用十分高昂;再者,ATLAS的編譯器價格極其昂貴,使得其優勢難以在國內測控領域發揮。
而另一方面,面向儀器的測試語言卻在商業領域取得了長足的發展,鑒于儀器互換的問題,NI和惠普等公司聯合推出了一系列的儀器驅動標準:VISA(Virtual Instrument Software Architecture)和IVI(Interchangeable Virtual Instrument)。VISA是VPP(VXI plug play)聯盟于1996年2月推出的新一代儀器I/O標準,VISA具有與儀器硬件接口無關的特性,即VISA是面向器件功能,而不是面向接口總線。使用它控制VXI,GPIB,RS 232,PXI等儀器時,不必考慮接口總線類型。如圖1所示。
為了進一步提高儀器驅動程序的執行性能,達到儀器的互換,1998 年由9家公司成立的IVI基金會,在VXI-PNP 技術基礎上為儀器驅動程序制定新的編程接口,在VISA 標準驅動程序上插入VXI-PNP 框架結構和類驅動程序,它通過定義類驅動器和專用驅動器實現了部分通用儀器之間的互換,縮短了程序開發時間,提高了系統的運行性能。如圖2所示。
針對于此,IEEE推出ATLAS 2版本,它整合了VISA,IVI和面向對象技術,給ATLAS語言注入了新的活力。總體來講,面向信號的語言和面向儀器的語言各有優勢,面向儀器的語言具有直觀,易用的特點;而面向信號的語言編寫的測試程序具有較好的可重用性和儀器可互換性。
2 航天嵌入式電子系統測試需求
航天嵌入式電子系統測試主要是針對航天專用的三模冗余或兩模冗余嵌入式電子計算機,這些系統在出廠前必須進行全面的測試,測試主要可分為內部測試和外部測試,內部測試主要是指那些無需借助外部測試儀器,而可以直接通過嵌入式系統內部執行測試程序所進行的測試,如CPU測試、ROM測試、RAM測試、端口測試等;外部測試則是指需要外部測試儀器配合所進行的測試,如開關量測試、串口測試、計數器測試、AD/DA測試等。
航天嵌入式電子系統測試的傳統方法為:根據測試需求分別設計內部測試程序和外部測試儀器及測試程序;嵌入式電子系統和外部測試系統分別上電初始化后,外部測試系統向嵌入式電子系統上傳測試程序(嵌入式系統本身的ROM內固化有1個RTOS);嵌入式系統加載測試程序后向外部測試系統發握手信號,并等待外部激勵;外部測試系統向嵌入式系統發送激勵信號,嵌入式系統接收激勵并做出響應,如此循環下去。
為提高測試系統可重用性和測試的準確性,開展了面向航天嵌入式電子系統的測試技術研究,并對一些測試模塊(軟件)進行了標準化工作,如CPU測試、ROM測試、RAM測試、AD/DA測試等;同時還采用標準的基于PXI的測試儀器,以達到儀器可重用,系統可配置的目的。
3 面向航天嵌入式電子系統的測試語言
面向航天嵌入式電子系統的測試語言不但要解決外部測試問題還要解決內部測試問題,這里在融合面向信號測試語言與面向儀器測試的各自優勢的基礎上,通過系統建模的方法,定義了適用于航天嵌入式電子系統測試應用的測試語言,以達到測試系統的可重用及可配置的目的。
系統建模包括3個方面:信號建模,UUT(Unit Under Test,被測對象)建模和測試儀器建模3個方面。信號建模主要針對航天嵌入式電子系統所常見的接口信號類型及特點,定義出一組常見信號,用戶可以通過參數設定,達到描述UUT或測試儀器接口信號特征的目的;UUT建模主要是通過對UUT外部接口,內部組件參數及體系結構的描述,達到內部測試測試程序的自動裝配,UUT建模同時支持黑盒建模(僅描述其外部接口)和灰盒建模(同時描述其內部體系結構及組件參數);測試儀器建模則通過描述測試儀器的本質信號特征及關鍵接口特征,并最終映射實際儀器(所建立的測試儀器模型與實際儀器可能存在一對多或多對一的對應關系),達到測試程序可重用,儀器可更換的目的。
因此,本文所描述的面向航天嵌入式系統的測試語言主要包括5個部分:
信號描述及定義通過定義一組航天嵌入式電子系統常見的基本信號,如數字信號(包括開關量和脈沖量)、模擬量(DC,AC)等。用戶可通過配置信號參數設定信號;
被測對象描述通過描述被測對象的接口關系,并建立狀態機功能模型,仿真被測對象的功能模型,并自動生成內部測試程序。在未建立狀態機功能模型時,系統可以將被測對象作為一個黑盒考慮,此時不生成被測對象內部測試程序;
測試儀器描述通過描述測試儀器,達到建立測試需求模型,并最終與1個或多個實際測試儀器相映射,測試儀器本身相當于一個信號描述集合,通過定義虛擬測試儀器,提高了測試儀器的可互換性和測試程序的可重用性。這樣既保留了面向儀器測試語言的直觀性和易用性,也提高了程序的可重用性;
連接關系描述連接關系描述定義了UUT與測試儀器之間的連接關系,連接關系描述還可以包含適配器描述,使得測試系統的層次性更加明顯,也更有用;
測試策略描述測試測量是測試語言中的最重要的部分,通過一系列的測試動作:apply,measure,verify等,控制測試儀器完成測試過程。測試策略描述語句選擇提取ATLAS關鍵測試語句:單信號語句、多信號語句、總線操作語句、定時和事件相關語句,并對其進行了一定的改進,使之更直觀,且更易于實現到圖形化語言的轉換。測試語言的具體格式如下:
Signal//信號描述
信號類型(模擬/數字/脈沖量/DC電源等) 信號名
{
信號參數:如Voltage range: 0..5v;
}
UUT被測對象名
{
信號類型(TTL,模擬信號,…,自定義類型):針腳名1,針腳名2,…,針腳名n;
Input(輸入引腳):針腳名1,針腳名2,…,針腳名n;
Output(輸出引腳):針腳名1,針腳名2,…,針腳名n;
…//被測對象狀態機描述,此功能尚未添加
Memo(說明):“”;
}
儀器類名(如開關量測試儀器,1553B測試儀器,A/D,D/A等)測試儀器名
{
信號類型(TTL,模擬信號,自定義類型):針腳名1,針腳名2,…,針腳名n;
Input(輸入引腳):針腳名1,針腳名2,…,針腳名n;
Output(輸出引腳):針腳名1,針腳名2,…,針腳名n;
…//各儀器所特有的屬性及配置
}
CONNECTION連接關系描述名
{
儀器端引腳(輸出)=>UUT端引腳(輸入)
…
儀器端引腳(輸入)<=UUT端引腳(輸出);
… }
TEST_ITEM測試項名//測試策略描述
{ 測試動作描述語句 }
下面是一個典型的測試策略描述:
TEST_ITEMitem1
{
Apply(VDout1.Dout,0x01;//施加激勵
Verify(VDin1.Din,0x00,0 ms;//測試驗證響應
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(也即測試策略描述)對應于測試框架中一個測試細則,測試細則是圖形化的測試執行界面的一個子界面。
測試語言經編譯/解釋后生成測試框架配置文件和測試文檔,用戶通過加載測試框架配置文件,設置執行次數和選擇測試項目,系統即開始進行測試,測試界面主要分兩部分:測試總覽和測試細則,其中測試總覽主要采用文本框的形式顯示當前的測試記錄,包括當前正在進行的測試項目和捕獲的錯誤信息等;測試細則是由一個或多個圖形化的詳細測試分項構成。
4 結 語
通過研究國內外測試語言發展現狀,結合面向信號測試語言和面向儀器測試語言的優勢,采用軟件工程的思想,建立了基于虛擬儀器的面向航天嵌入式電子系統的測試語言模型,為以后的進一步研究奠定了基礎。基于虛擬儀器的測試語言還處于研究的初級階段,仍有不完善的地方,需要進一步改進。
參 考 文 獻
[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]于勁松,李行善.下一代自動測試系統體系結構與關鍵技術[J].計算機測量與控制,2005,13(1:1-3.
[4]劉勇,遲華山,許愛強.新一代通用測試語言——ATLAS 2000[J].國外電子測量技術,2006(3:56-59.
[5]鄧小川,趙俊霞,劉橋.面向儀器的圖形化編程環境LabView[J].貴州科學,2002,20(4:68-71.
[6]李行善.自動測試系統集成技術[M].北京:電子工業出版社,2004.