智能卡COS芯片層模塊設(shè)計與測試方案研究
智能卡芯片(以下以51系列智能卡芯片為例)一般包含幾十到幾百KB的FLASH,以1個頁面為單位進行擦除,根據(jù)FLASH編程寫的特點,也就是1能寫成0,而0不能寫成1,故在設(shè)計編程寫函數(shù)時為了保證寫數(shù)據(jù)的正確性,特采取如下的方式實現(xiàn)此功能:
第一步:取出要寫入地址的數(shù)據(jù)(為A),與要寫入的數(shù)據(jù)(為B)進行與操作(結(jié)果為C);
第二步:在要寫入數(shù)據(jù)的地址寫入數(shù)據(jù)(B);
第三步:取出寫人數(shù)據(jù)后的地址的數(shù)據(jù)與數(shù)據(jù)C進行比較。
對于51系列智能卡芯片,由于標準的8051對程序存儲器最大值支持64 KB,所以芯片采用BANK的編址方式。這時往往需要一個映射函數(shù)來實現(xiàn)不同BANK的跳轉(zhuǎn)。如果一款智能卡芯片的程序存儲器采用128 KB的FLASH用來存放COS和用戶數(shù)據(jù)。128 KB的FLASH均分4個32 KB的BANK,在這4個區(qū)域里,Commom區(qū)是3個Bnak的公共區(qū)域,即Commom區(qū)和每個32 KB的BANK都可以組成64 KB的連續(xù)空間。3個Bnak之間不能直接互相訪問,而必須調(diào)用Commom區(qū)里的程序才能實現(xiàn)相互的訪問。所以在創(chuàng)建工程時要把經(jīng)常使用的程序和常數(shù),如中斷入口函數(shù)、Bank Switch跳轉(zhuǎn)表等都放到Commom區(qū)里,這樣才能實現(xiàn)各個區(qū)域的相互訪問。
(3)異常保護模塊設(shè)計。IS07816―3規(guī)定2個連續(xù)字符上升沿之間的延遲至少是12 ETU,且2個連續(xù)字符上升沿之間的延遲應不超過9 600 ETU。所以COS在設(shè)計時要加入發(fā)送“60”來實現(xiàn)正常的通信。
發(fā)送“60”采用芯片定時器中斷的方式,設(shè)置定時器的工作模式,使用時鐘和的初始值。定時器的中斷服務(wù)程序的實現(xiàn)流程:關(guān)閉發(fā)送“60”定時器;發(fā)送“60”;打開發(fā)送“60”定時器。
操作系統(tǒng)的異常處理,此函數(shù)為COS進行異常狀態(tài)時調(diào)用的函數(shù)。進入異常狀態(tài)時,要關(guān)閉發(fā)送“60”的定時器,然后進入死循環(huán)狀態(tài)。
本文引用地址:http://m.butianyuan.cn/article/195815.htm
3 芯片測試方案設(shè)計
以下提出一種針對芯片模塊函數(shù)的測試方案。即嵌入式Testing COS。
(1)Testing COS測試平臺組成。T-COS平臺由MAIN.C文件、API.C文件、常量配置、A51文件以及芯片庫、LIB文件組成。其中,針對不同的芯片,main.c,api.C是相同的,而常量配置文件和芯片庫文件則不同,在使用時需要更改或更換。
另外,MAIN.C文件中的CommandInterpreter()命令解釋器函數(shù)是對發(fā)送命令的識別解釋(在此函數(shù)中,為所有需要測試的函數(shù)定義了指令嗎)。被測函數(shù)的函數(shù)體在API.C文件中。芯片庫在API.C文件中被具體調(diào)用。
此Testing COS可直接寫入智能卡中,設(shè)計思路是:采用直接APDU指令調(diào)用的形式,直接調(diào)用硬件模塊函數(shù),如擦一頁函數(shù)。執(zhí)行完指令,函數(shù)返回一個狀態(tài)字。
主程序是一個死循環(huán),如下:
命令解釋器函數(shù)支持多個函數(shù),為用戶對硬件的直接操作提供接口,可以通過發(fā)送APDU指令實現(xiàn)對芯片的多種操作。
例如:APDU:80 00 10 00 00表示擦除地址0x1000所在頁面。
APDU:80 0C 10 00 10表示從地址Oxl000開始讀取長度為Oxl0的數(shù)據(jù)。
(2)Tesling COS測試平臺的使用。T―COS測試 平臺測試流程,如圖2所示:
(3)Testing COS測試平臺局限性分析。T―COS平臺使用方便簡潔,易于觀察執(zhí)行結(jié)果,但是其不能觀察過程。因此,在返回結(jié)果與預期結(jié)果不一致,或者出現(xiàn)錯誤的情況下,無法判斷產(chǎn)生錯誤的原因。在這種情況下,需要借助仿真器,跟蹤執(zhí)行過程,最終找出產(chǎn)生問題的原因。
4 結(jié) 語
智能卡操作系統(tǒng)根本的部分就在于芯片底層各個模塊的穩(wěn)固性。芯片層開發(fā)是電信、稅控等產(chǎn)品開發(fā)的重要組成部分之一,也是最基礎(chǔ)的部分。為了保證電信、稅控產(chǎn)品可以在不同芯片之間的平穩(wěn)移植,需要對芯片層的開發(fā)提出一定的要求和標準,這樣可以保證上層開發(fā)的一致性。
評論