智能卡COS芯片層模塊設計與測試方案研究
隨著科學技術的不斷進步,智能卡的應用已經(jīng)越來越廣泛,涉及到人類生活的各個領域,如商業(yè)、醫(yī)療、保險、交通、社會公共事業(yè)等多種領域,所以如何設計一個高效穩(wěn)定的智能卡操作系統(tǒng)口具有較高的社會意義。這里針對智能卡的硬件結構設計了操作系統(tǒng)的通信和硬件其他模塊,并提出了一種測試方案以檢測芯片底層模塊的穩(wěn)定性。
1 智能卡操作系統(tǒng)概述
片內(nèi)操作系統(tǒng)(Chip Operating System,COS)一般是緊緊圍繞著它所服務的智能卡的特點而開發(fā)的。與常見的微機上的操作系統(tǒng)相比,COS在本質上更加接近于監(jiān)控程序。在此以具體開發(fā)實例說明卡片操作系統(tǒng)的基本問題,并提出一種可行可測試的芯片層設計方案及一種芯片底層的測試方案。
2 COS芯片模塊設計
COS底層模塊在設計時一般都是緊密結合智能卡內(nèi)存儲器分區(qū)的情況,按照國際標準中所規(guī)定的一些功能進行設計、開發(fā)。
IS07816是接觸式智能卡必須遵循的國際規(guī)范其中IS07816―3主要描述接觸式智能卡的電信號和傳輸協(xié)議,其中包括各個觸點的電壓電流承受范圍、卡復位應答各個信息位的實際表示和T=0,T=1的傳輸協(xié)議。ISO/IEC 7816―3規(guī)定了IC卡的電氣特性和傳輸協(xié)議。包括該類卡和接口設備問的電源、電氣信號協(xié)議和信息交換協(xié)議。通信過程中,由接口設備給IC卡提供電源(Vcc),復位信號(RST)和時鐘(CLK),卡和接口設備間通過I/O端口進行串行通信。
(1)通信模塊設計。根據(jù)T=0異步半雙工字符傳輸協(xié)議,Ic卡和接口設備之間以字符為單位(簡稱字符幀)進行傳輸,采用偶校驗,每個字符由10 b組成。傳輸字符幀之前,I/O線處于狀態(tài)z,第1 b為起始位(狀態(tài)A);后面8 b為數(shù)據(jù)位D1~D8;第10 b為偶校驗位,即8位數(shù)據(jù)和奇偶校驗位中1的個數(shù)為偶數(shù)。
串行通信是按位傳送的,每位信息寬度(持續(xù)時間)定義為基本時間單位ETU(Elementary Time Unit)。在復位應答期間的信息寬度稱為“初始ETU”,它等于372個時鐘周期,即1ETU=372/f。復位應答后的信息寬度稱為“當前ETU”,其計算公式為:當前ETU=(F/D)(1/f)。其中:F是時鐘頻率變換因數(shù);D是比特率調(diào)整因數(shù);f是時鐘頻率。
IC卡必須與相應的讀寫設備(IFD)通信。從這個角度講,智能IC卡操作系統(tǒng)的作用就是從讀寫設備(IFD)接收命令、執(zhí)行命令并將結果返回讀寫設備(IFD)。所以,通信管理功能模塊在操作系統(tǒng)中具有十分重要的作用。通信管理功能模塊主要實現(xiàn)以下幾種功能:實現(xiàn)某一通信協(xié)議的數(shù)據(jù)鏈路層的傳輸管理功能;實現(xiàn)ISO/IEC 7816標準規(guī)定的ATR(復位響應)等功能;為操作系統(tǒng)中的其他功能模塊提供相應接口。
按ISO/IEC 7816標準,IC卡和讀寫設備之間的通信協(xié)議有多種,一般一種卡片只支持某一種通信協(xié)議。下面以符合ISO/IEC 7816―3標準的T=0字符傳輸協(xié)議的智能IC卡為例介紹通信管理功能(支持其他通信協(xié)議的卡的通信管理功能與此相似)。
ICC上電之后,IFD將向ICC發(fā)送命令數(shù)據(jù),在這樣一次典型的通信過程中,通信管理功能主要從事6個步驟的具體工作。如圖1所示。
以下是卡片接收指令相關的源代碼:
評論