智能卡的自動(dòng)化測(cè)試系統(tǒng)機(jī)構(gòu)分析及平臺(tái)設(shè)計(jì)
引 言
本文引用地址:http://www.ex-cimer.com/article/151072.htm隨著智能卡在金融、電信、移動(dòng)通信、醫(yī)療保險(xiǎn)、付費(fèi)電視等領(lǐng)域應(yīng)用的迅速增長(zhǎng),其可靠性要求越來(lái)越高,而針對(duì)智能卡模塊的測(cè)試已經(jīng)成為必不可少的質(zhì)量保證手段。自動(dòng)化測(cè)試不需要人工干預(yù),能提高測(cè)試效率,受到更多重視和應(yīng)用。在發(fā)展自動(dòng)化測(cè)試的過(guò)程中,一個(gè)高效的自動(dòng)化測(cè)試平臺(tái)是其基本保障。根據(jù)智能卡的應(yīng)用現(xiàn)狀和市場(chǎng)需求,本設(shè)計(jì)用TCL語(yǔ)言和C語(yǔ)言聯(lián)合編程的方法,以 PC/SC為編程接口,實(shí)現(xiàn)了智能卡的測(cè)試平臺(tái),能夠?qū)χ悄芸ㄟM(jìn)行質(zhì)量和性能的測(cè)試。
1 測(cè)試系統(tǒng)結(jié)構(gòu)
具有測(cè)試功能的系統(tǒng)結(jié)構(gòu)如圖1所示。測(cè)試系統(tǒng)一般由測(cè)試平臺(tái)、讀/寫器和智能卡三個(gè)部分組成。測(cè)試平臺(tái)運(yùn)行測(cè)試腳本,并對(duì)從智能卡返回的結(jié)果進(jìn)行處理。智能卡內(nèi)部有被測(cè)程序,響應(yīng)測(cè)試平臺(tái)發(fā)來(lái)的命令,返回測(cè)試數(shù)據(jù)。讀/寫器提供測(cè)試平臺(tái)和智能卡的接口。這里的研究重點(diǎn)是測(cè)試平臺(tái)。
2 測(cè)試平臺(tái)的設(shè)計(jì)思路
測(cè)試平臺(tái)軟件由兩個(gè)部分組成,即界面程序和通信軟件程序,如圖2所示。界面程序提供一個(gè)友好的圖形畫面,接受用戶指令,如腳本輸入,按鈕響應(yīng)等。界面將用戶的任務(wù)轉(zhuǎn)換為內(nèi)部指令,然后由通信軟件程序具體實(shí)施,而通信軟件程序負(fù)責(zé)與USB讀卡器通信。下面分別介紹界面程序和通信軟件程序的實(shí)現(xiàn)原理。
圖2是測(cè)試平臺(tái)的軟件結(jié)構(gòu)
圖3界面程序
2.1 界面程序
界面程序分為三層,頂層為腳本層,用于支持ATP語(yǔ)言。ATP并不是一種全新的語(yǔ)言,是從TCL語(yǔ)言口
擴(kuò)展而來(lái),針對(duì)ATP開辟的命令集,它包括 TCL基本命令和應(yīng)用程序相關(guān)的擴(kuò)展命令。TCL基本指令的使用方法可以參考文獻(xiàn)[1,2],擴(kuò)展命令是TCL專門針對(duì)智能卡的測(cè)試而擴(kuò)展的。
中間層是根據(jù)應(yīng)用需求而擴(kuò)展的TCI 解釋器,它包含TCI標(biāo)準(zhǔn)庫(kù)和與底層接口程序有關(guān)的TCL擴(kuò)展庫(kù)。ATP的基本部分由TCL語(yǔ)言解釋器調(diào)用TCL標(biāo)準(zhǔn)庫(kù)來(lái)執(zhí)行;ATP的擴(kuò)展部分由擴(kuò)展的 TCL解釋器調(diào)用TCL擴(kuò)展庫(kù)執(zhí)行。
頂層和中間層說(shuō)明了TCI 即是一種腳本語(yǔ)言也是一個(gè)解釋器。底層是接口程序,提供與通信軟件程序的接口,負(fù)責(zé)發(fā)送命令和返回狀態(tài)。
圖4顯示了TCI 與應(yīng)用程序的調(diào)用關(guān)系
TCL 的標(biāo)準(zhǔn)命令是TCL自帶的,而與應(yīng)用程序相關(guān)的特殊命令需要用C代碼去擴(kuò)展,下面詳細(xì)介紹如何擴(kuò)展TCL命令。使用TCL之前,應(yīng)用程序必須首先創(chuàng)建 TCL解釋器創(chuàng)建標(biāo)準(zhǔn)的命令解釋器,然后可以調(diào)用Tcl CreateCommand過(guò)程使用用戶自定義命令來(lái)擴(kuò)展解釋器,它的原型是:Tcl—CreateCom mand (interp,cmdName,proc,cli—entData,deleteProc)其中:interp為創(chuàng)建的解釋器;cmdName為創(chuàng)建的命令名字;proc為與命令相對(duì)應(yīng)的函數(shù);clientData為一個(gè)字長(zhǎng)的值,通常指向一個(gè)專用數(shù)據(jù)結(jié)構(gòu);deleteProc為注銷命令的函數(shù)名,如果其為空,則在注銷命令前不調(diào)用任何函數(shù)。調(diào)用Tcl—CreateCommand時(shí),擴(kuò)展命令name就會(huì)和name—tcl聯(lián)系起來(lái);執(zhí)行name命令時(shí),會(huì)進(jìn)入name— tcl函數(shù)處理name命令。
創(chuàng)建完程序自定義命令后,應(yīng)用程序進(jìn)入死循環(huán),等到命令后就傳遞給解釋器。調(diào)用Tcl— Eval(interp,script),通過(guò)script的內(nèi)容知道命令的類型后,選擇在相應(yīng)的過(guò)程函數(shù)中進(jìn)行計(jì)算。
通信軟件程序的執(zhí)行就是在過(guò)程函數(shù)里面被調(diào)用,這樣就實(shí)現(xiàn)了界面程序與通信軟件程序的接口。
評(píng)論