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