文獻標識碼: A
文章編號: 0258-7998(2014)04-0088-04
在現(xiàn)代自動測試行業(yè)中,大量采用可程控儀器來搭建測試系統(tǒng)。早期的不同程控儀器采用不同的程控語言導致程控儀器與計算機之間的接口語言非標準化,使得如何控制每一臺儀器成為了第一要務,一體化測試系統(tǒng)難以短期搭建。因此,建立在IEEE 488.2規(guī)范基礎上的SCPI (Standard Commands for Programmable Instruments) 應運而生。SCPI確定了計算機與程控儀器之間接口語言標準化,縮短自動測試儀器的開發(fā)時間,并提高了集成系統(tǒng)的效率。目前SCPI應用的領域包括數(shù)字萬用表、示波器、可控電源、負載等,沒有涉及到功率半導體測試行業(yè)。
本文在探討SCPI命令的創(chuàng)建和命令解析器設計的基礎上,將其應用到IGBT可靠性測試設備,針對該設備設計符合要求的程控命令以及擴展性好的解析器。該應用下,程控命令由主機通過以太網(wǎng)發(fā)送給測試設備,測試設備接收并且對其進行解析,轉化為設備可以識別的目標代碼,從而完成主機所要求的操作;在設備運行過程中,被測器件(DUT)的所有測試參數(shù)也均通過以太網(wǎng)返回給主機,由主機對其分析處理。通過以太網(wǎng)傳輸SCPI命令及測量數(shù)據(jù)不僅有效節(jié)約了硬件資源,也使整個系統(tǒng)的穩(wěn)定性能得以提升。
1 SCPI簡介
SCPI是測量儀器程控命令的業(yè)界標準,定義標準化的SCPI命令只與測試儀器的功能及其性能、精度有關,而與儀器硬件組成、制造廠家、通信物理連接硬件環(huán)境和測試程序編寫環(huán)境等均無關。它是建立在IEEE 488.2標準代碼和格式基礎之上的,基于ASCII碼,依附BASIC、C、C++等編程語言,可以在LabVIEW、MATLAB、Visual Studio、Keil 等環(huán)境下使用。由于具有硬件獨立性,可以通過任何儀器接口發(fā)送,如RS232、GPIB、VXIbus、LAN口等。同時SCPI編程具有橫向一致性和縱向一致性。不同測試儀器的相同功能具有相同的命令形式,在橫向上使測試儀器兼容;同時使用相同的命令可以控制同一類儀器中的相同功能,使得儀器在縱向上兼容。
2 SCPI語法分析
SCPI命令關鍵字通常是有意義的英文單詞,也稱助記符,分長短型兩種。短型助記符由長型助記符的前4個字符構成,如CONFigure的短型為CONF。當助記符長度大于4,并且第4個字符為元音時,則取前3個字符表示為短格式,如POWer的短型為POW,而FREE的短型為FREE。
SCPI可以分為兩類,一是IEEE 488.2公共命令,另一部分是儀器特定命令。公共命令是IEEE 488.2規(guī)定的必須要執(zhí)行的命令,一般不涉及到具體操作,但是有整體控制功能,如復位、狀態(tài)和同步,其語法格式為:‘*關鍵字’或‘*關鍵字?’。問號表示查詢,主要用來獲取儀器的設置或狀態(tài)。常用的公共命令有 *RST、*IDN?、*CLS等。儀器特定命令是與儀器相關的,針對不同的儀器,命令不同。該命令包括關鍵字和可選的一個或多個參數(shù),格式如下:
<關鍵字>[:<關鍵字>[…] <空格> [<參數(shù) 1>[, <參數(shù)2>[…]]]
其中,冒號(:)用于分離關鍵字,方括號([])用于包含可選關鍵字。關鍵字之后是參數(shù),由空格符隔開,不同參數(shù)之間使用逗號(,)進行隔開。儀器命令關鍵字具有分層結構,其中第一級關鍵字級別最高,后續(xù)的關鍵字級別較低;儀器特定執(zhí)行命令通常后帶參數(shù),參數(shù)類型包括數(shù)值型、布爾型、字符型、字符串等。
SCPI命令實際使用時,習慣將命令字符串逐個發(fā)送;也可以將多個命令組合成一個命令串發(fā)送。SCPI命令組合使用,其具有模塊化強、使用更便捷等優(yōu)勢,但針對特定儀器,對命令解析器的設計要求較高。
3 SCPI命令解析器設計
測試儀器接收SCPI命令,能否準確地識別并進行下一步動作關系列測試系統(tǒng)整體性能的好壞,因此SCPI命令解析器的設計至關重要。
3.1 SCPI命令的創(chuàng)建
根據(jù)SCPI命令層次結構的特點,可以對命令節(jié)點采用順序結構存儲和鏈式結構存儲等。本文針對該半導體測試系統(tǒng)的命令,采用較容易實現(xiàn)的單鏈表結構來存儲命令節(jié)點,該結構便于命令節(jié)點的存儲和擴展。命令節(jié)點關鍵字的存儲結構如下:
struct SCPIcmd {
char Keyword[15]; //長型助記符
int ShortNum; //短型助記符字符個數(shù)
int CommandType; //命令類型
char ParType; //參數(shù)類型
int ParNum; //期望的參數(shù)個數(shù)
struct StrPar *SzStr; //參數(shù)結構體
int (*CmdFunc)(); //執(zhí)行儀器功能函數(shù)
int (*QueFunc)(); //執(zhí)行查詢功能
bool DefNode; //該結點是否為默認節(jié)點
struct SCPIcmd *Next; //指針指向下一關鍵字
};
3.2 SCPI命令的解析
由SCPI命令樹形結構的特點可知, IEEE 488.2公共命令的深度為1,不需要進行下一個關鍵字結點的查找;而儀器特定命令的深度具有不確定性,隨著系統(tǒng)逐漸龐大,深度值也會隨之增大;如果存在下一級關鍵字結點,就必須對其進行查找。本文采用單鏈表算法順序查找關鍵字結點,從時間上考慮,處理速度相對較慢,不適合大量數(shù)據(jù)的操作;但是由于程控儀器的可程控命令關鍵字結點數(shù)有限,并且儀器采用的處理器的速度很快,單鏈表算法完全可以滿足解析器的設計要求。
對于本文解析器的設計,首先從整體上確定SCPI命令的解析過程,規(guī)定解析過程中相應的執(zhí)行函數(shù),然后結合二維數(shù)組共同實現(xiàn)解析,該數(shù)組中行表示由特殊連接符(冒號、分號等)分解出字符串的不同的首字符,列表示執(zhí)行函數(shù)的標號,數(shù)組中存儲的亦為將要執(zhí)行的函數(shù)標號。針對公共命令和半導體測試儀器命令,規(guī)定的解析過程執(zhí)行函數(shù)如下:
char (*RoutineFunc[9])(int) = {
ErrAlert, //0錯誤提示
CurCommRoot, //1公共命令關鍵字賦入口地址
CurDevRoot, //2儀器命令關鍵字賦入口地址
Common488, //3 公共命令關鍵字查找
DevCmdSearch, //4 儀器命令關鍵字查找
CurDevNext, //5儀器命令下一關鍵字查詢
SaveCurNode, //6存儲當前結點
Quit, //7退出解析
ErrAlert //8錯誤提示
};
存儲執(zhí)行函數(shù)標號的二維數(shù)組如下:
int StateTable[7][6]=
{ /*0 1 2 3 4 5 */
/*STATE *: alpha ; EOM unknown */
/* 0 */ {1, 2, 2, 8, 0, 8},
… … … … … … …
/* 6 */ {1, 2, 2, 0, 0, 8}
};
SCPI命令整體的解析流程如圖1所示。解析器收到SCPI命令字符串后,首先判斷首字符是否為星號、冒號或者字母,如果不是,提示輸入錯誤;如果是,則結合二維數(shù)組,通過初始狀態(tài)零和首字符判定將要執(zhí)行的函數(shù)(其中首次執(zhí)行的函數(shù)是為命令根節(jié)點提供入口地址)。然后存儲該函數(shù)標號,該標號同時也作為新的狀態(tài)量提供給下一個關鍵字查找使用。查找關鍵字并判斷該關鍵字節(jié)點是否存在指向下一關鍵字的指針,如果存在,保存當前的節(jié)點信息并繼續(xù)查找余下字符串的首字符;如果不存在,則表明關鍵字查找結束,根據(jù)該節(jié)點定義的命令類型來執(zhí)行半導體測試系統(tǒng)相應的功能函數(shù);若該命令為查詢類型,則返回狀態(tài)值;若為功能執(zhí)行類型,則根據(jù)命令有無參數(shù)作進一步處理。
本文解析器在功能上進一步加強,使得組合命令能夠有效地得到解析。當?shù)谝粋€關鍵字功能函數(shù)執(zhí)行完畢后繼續(xù)查找字符,若遇到分號,則表明輸入的SCPI命令為組合命令,應存儲當前節(jié)點并重復該命令關鍵字查找函數(shù);若遇到結束符,則解析結束,退出解析過程。
4 IGBT可靠性測試中SCPI的應用
IGBT可靠性測試主要是結合IGBT額定的電參數(shù)值對其進行失效分析,從而完成對它的評估和篩選。測試方法有多種,本文測試系統(tǒng)兼容兩種常用的測試,包括高溫反偏測試(HTRB)和高溫柵偏測試(HTGB)。
4.1 系統(tǒng)硬件電路設計
如圖2所示,測試系統(tǒng)主要由溫度控制、測試模式選擇、DUT被測參數(shù)采集和通信四部分電路構成。溫度控制部分為閉環(huán)反饋網(wǎng)絡,DUT置于高溫箱中,根據(jù)測試要求控制高溫箱溫度,通過反饋網(wǎng)絡來保持DUT結溫恒定。DUT的測試模式由繼電器進行控制選擇(如圖3所示),HTRB模式下短接柵極-發(fā)射極,繼電器K1、K4、K5閉合,K2、K3打開,根據(jù)測試需求由直流電壓源向DUT的集電極-發(fā)射極兩端提供最高3 kV的電壓。系統(tǒng)對器件參數(shù)VCES和由分流器RSHRB產(chǎn)生的ICES進行測試;為了保證系統(tǒng)支持測試3 kV高壓等級的IGBT器件,K1則采用能承受至少3 kV的高壓繼電器來導通大電壓。HTGB模式短接集電極和發(fā)射極,繼電器K2、K3閉合,K1、K4、K5打開,根據(jù)要求向柵極-發(fā)射極兩端施加最高100 V的電壓,K3采用能承受電壓最高100 V的繼電器即可。該模式下系統(tǒng)對器件參數(shù)VGES和RSHGB由分流器產(chǎn)生的IGES進行測試。
由于器件被測參數(shù)值VCES、VGES很大,為滿足A/D轉換器輸入要求,將其通過比例縮放電路,縮小到A/D參考電壓的范圍之內,再對其進行采樣以及合理的校正。所有被測參數(shù)均對應著不同的測試通道,由選通器決定哪個通道與A/D轉換器輸入端相連。系統(tǒng)通信部分采用以太網(wǎng)總線替代廣泛使用的RS232、GPIB和VXI總線,上位機發(fā)送的命令和經(jīng)過A/D采樣得到的數(shù)據(jù)均通過以太網(wǎng)進行傳輸。
4.2 系統(tǒng)解析功能測試
通過對測試系統(tǒng)硬件電路及器件參數(shù)基本測試過程的分析,制定一系列與該系統(tǒng)相關的程控命令,并使用Keil開發(fā)工具編寫命令解析程序,使命令轉化為設備可以識別的目標代碼。文中根據(jù)SCPI命令的語法要求創(chuàng)建幾條針對該測試系統(tǒng)的基本命令:
(1)顯示測試系統(tǒng)信息
<*IDN?>
(2)配置測試模式為HTRB或者HTGB
<CONF:MODE HTRB|HTGB>
(3)配置為高壓或者低壓測試模式
<CONF:HVPS ON|OFF>
(4)測量門極電流值
<MEAS:GATE:CURR? >
將這些命令進行測試,由主機依次發(fā)送,解析器接收并處理,解析結果借助串口打印到超級終端上顯示,如圖4所示,解析順序通過執(zhí)行函數(shù)標號顯示。
結果表明命令解析器設計成功,測試系統(tǒng)可以準確識別主機發(fā)送過來的命令,根據(jù)這一命令及時執(zhí)行相應的中斷響應函數(shù),完成主機所要求的操作。解析器中單鏈表算法與數(shù)組的結合使用不僅使解析順序清晰可見,而且增強解析器的可擴展性。若測試系統(tǒng)接收到的命令為CONF:MODE HTRB,系統(tǒng)繼電器K1、K4、K5閉合,K2、K3打開;若命令為MEAS:GATE:VOLT,采樣的柵極電壓值通過以太網(wǎng)傳輸?shù)缴衔粰C進行實時顯示。測試實驗充分表明將SCPI命令應用到IGBT測試系統(tǒng)具有可行性。
隨著自動測試行業(yè)的逐步發(fā)展,可程控測試儀器越來越多,本文開拓半導體測試領域,成功實現(xiàn)了SCPI命令在功率半導體可靠性測試系統(tǒng)中的應用,使得儀器操作更便捷,測試效率更高。應用中命令解析器的設計完全適用于該系統(tǒng),并且具有很好的可讀性與擴展性;同時該應用還成功采用以太網(wǎng)總線進行通信,充分利用以太網(wǎng)的高性能及成本低廉的優(yōu)勢,實現(xiàn)SCPI命令遠程控制測試儀器,也為多臺可程控半導體測試儀器組網(wǎng)奠定了堅實的基礎。
參考文獻
[1] SCPI Consortium. Standard commands for programmable in struments[EB/OL]. http://www.scpiconsortium.org.
[2] 賴小紅,鐘秀蓉. SCPI命令解釋程序設計在數(shù)據(jù)結構教學中的應用[J].實驗科學與技術,2011,9(5):250-252.
[3] 鄧闖,明靈. 使用SCPI語言實現(xiàn)計算機與設備儀器通訊[J]. 集成電路通訊, 2010,28(1):36-39.
[4] 井濤,郭永瑞. 一種實用的SCPI語法分析設計方法[J].國外電子測量技術, 2006,25(2):42-44.
[5] 石雪松. SCPI語言在自動測試系統(tǒng)中的應用[J].宇航計測技術,1997,17(2):62-64.
[6] 張岐寧,王曉寶. IGBT模塊的測試[J]. 電力電子技術,2005,39(1):112-114.
[7] 王正元,由宇義珍, 宋高升. IGBT技術的發(fā)展歷史和最新進展[J]. 電力電子技術, 2004(5):7-12.
[8] 嚴蔚敏,吳偉民. 數(shù)據(jù)結構[M]. 北京:清華大學出版社,1996.