資源描述:
《CPU卡的接口特性傳輸協(xié)議與讀寫程序設(shè)計.doc》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、CPU卡的接口特性、傳輸協(xié)議與讀寫程序設(shè)計摘要介紹IS07816-4及屮國金融集成電路(IC)卡規(guī)范所規(guī)定的T-0協(xié)議的CPU卡與終端之間的接II特性和傳輸協(xié)議,及以C51語言設(shè)計的CPU卡復(fù)位、下電及讀寫程序。關(guān)鍵詞IC卡CPU卡終端復(fù)位字符傳輸協(xié)議(T=0協(xié)議)IC卡的概念是20世紀(jì)70年代提出的。法國BULL公司首創(chuàng)IC卡產(chǎn)品,并將這項技術(shù)應(yīng)用到金融、交通、醫(yī)療、身份證明等多個方面。IC卡的核心是集成電路芯片,一般為3um以下的半導(dǎo)體技術(shù)制造。IC卡具有寫入數(shù)據(jù)和存儲數(shù)據(jù)的能力。IC可存儲其中的內(nèi)容,
2、根據(jù)需要可以有條件地供外部讀収,或供內(nèi)部信息處理或校驗用。根據(jù)各種集成電路的不同,IC卡可以分為以下三類:存儲器卡、邏輯加密卡與CPU卡。其中,存儲器卡僅有數(shù)據(jù)存儲能力,沒有安全措施;邏輯加密卡僅有幾個字節(jié)的密碼,卡屮有一個錯誤計數(shù)器,如果指定次數(shù)驗證密碼失敗,則卡屮數(shù)擁被自動鎖死,該卡數(shù)據(jù)不能再更改;(TU卡是這三類1C卡屮最高級的卡,一般有ROM.RAM和EEPROM三種存儲器。ROM中存放的是程序,程序是為1C卡的CPU專門設(shè)計的,用來解釋讀寫器終端送來的命令。IC卡應(yīng)用系統(tǒng)根據(jù)應(yīng)用需要山終端送一系列
3、命令到CPU卡,通過改變命令的內(nèi)容和命令的順序就可以滿足不同的需要,因此有較高的靈活性;同時,因為CPU有計算功能,存儲容最又大,可以進(jìn)行比較復(fù)雜的加密/解密運(yùn)算,極大提髙了安全性。EEPROM主要用來存放一些應(yīng)用數(shù)據(jù),其容最比邏輯加密卡大,可實現(xiàn)一卡多用,是目前最安全的卡類型。因此,CPU卡是目前IC卡的禾要發(fā)展方向之一。1CPU卡的接口特性1.1觸點(diǎn)定義觸點(diǎn)的定義遵循1S07816-2的規(guī)定,如圖1所示。符號說明如表1所列。C1■?C5C2■DC6C3■?C7C4□DCSVJ圖1CPU卡的觸點(diǎn)表1符號說
4、明符號說明說明Cl電源電壓(Vcc>C5地(GND)C2復(fù)位信號(RST〉C6不使用C3時鐘信號(CLK》C7輸入輸出(I/O)C4不使用C8不使用1.2字符幀數(shù)據(jù)在I/O上以圖2所示的字符幀方式傳輸。起讐卅數(shù)據(jù)位奇豎驗位起讐忒IIIIIIIIIII保護(hù)時間
5、口圖2字符幀傳輸方式每個位寬是1個etu,etu=372/fo在此處,f=3.57Mllzo起始位山接收端通過對I/O周期采樣獲得,采樣周期應(yīng)小于0.2etu。2個連續(xù)字符起始位上升沿之間的間隔時間等于(10±0.2)etu加上1個保護(hù)時間(最少2個e
6、tu)。在保護(hù)時間內(nèi),卡與終端都應(yīng)處于接收模式(I/O為高電平狀態(tài))。如果卡或終端作為接收方檢測出奇偶錯謀,則I/O被置為低電平,以向發(fā)送方表明出現(xiàn)錯誤。1.3卡操作卡操作的步驟如下:%1將卡插入終端接口設(shè)備,使兩者的觸點(diǎn)相接并激活觸點(diǎn);%1將卡復(fù)位,建立卡與終端間的通信;%1執(zhí)行操作;%1釋放觸點(diǎn),并從接「I設(shè)備取出卡片。以下是除第③步(執(zhí)行操作)以外,各步的時序要求。(1)觸點(diǎn)激活時序如圖3所示。(2)卡復(fù)位卡利用低電平復(fù)位來完成異步復(fù)位應(yīng)答,隨著觸點(diǎn)的激活,終端將進(jìn)行一個冷復(fù)位并從卡獲得復(fù)位應(yīng)答。冷復(fù)
7、位時序如圖4所示。Vcc[RST1111111111不定/b>甸位應(yīng)祥九?200個周期1CLK圖4冷復(fù)位時序冷復(fù)位過程之后■如果收到的復(fù)位應(yīng)答信號不滿足標(biāo)準(zhǔn)的規(guī)定,終端將啟動-?個熱復(fù)位并從卡獲得復(fù)位響應(yīng)。熱復(fù)位時序如圖5所示。RST在實際程序設(shè)計時,山Reset子程序?qū)崿F(xiàn)觸點(diǎn)激活和卡復(fù)位。(3)觸點(diǎn)釋放時序觸點(diǎn)釋放時序過程如圖6所示。ccRSTCIX1111丨111I/O不定’此時抽?出卡片圖6觸點(diǎn)釋放時序2傳輸協(xié)議與卡命令處理程序1S07816—4及屮國金融集成電路(10)卡規(guī)范所規(guī)定的異步半雙工傳輸協(xié)
8、議,是關(guān)于終端為實現(xiàn)傳輸控制和特殊控制而發(fā)出的命令的結(jié)構(gòu)及其處理過程,包括了兩種協(xié)議:字符傳輸協(xié)議(T二0)和塊傳輸協(xié)議(T=1)o木文著重:討論字符傳輸協(xié)議(T=0)協(xié)議,它是IC卡推薦使用的通信協(xié)議。2.1命令命令包含1個連續(xù)4字節(jié)的命令頭,用CLA.INS、P1和P2以及1個可變長度的條件體來表示。命令頭定義如下:OCLA:指令類別,除〃阡"外的任何值;OINS:在指令類別中的指令碼,當(dāng)最低位是"0",并且高位半字節(jié)既不是〃6"也不是〃9〃時,INS才有效;OPl、P2完成INS的參數(shù)字節(jié)。條件體定義
9、如下:OLc(發(fā)送數(shù)據(jù)長度)占1個字節(jié),在命令中定義為發(fā)送數(shù)據(jù)的字節(jié)數(shù),取值范用是1?255。OData為將要發(fā)送的命令數(shù)據(jù)域,字節(jié)數(shù)山Lc定義。OLe(接收數(shù)據(jù)長度)占1個字節(jié),指出命令響應(yīng)中預(yù)期的數(shù)據(jù)最大字節(jié)數(shù)。Le的取值范圍是0?255。如果Le=0,預(yù)期數(shù)據(jù)字節(jié)的最大長度是256??赡艿拿罱Y(jié)構(gòu)的4種情況定義如表2所列。表2情況結(jié)構(gòu)CLAINSPIP2AoCLAINSPlP2Lc3CLAINSPlP2Lc