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