當(dāng)前位置:首頁 > 模擬 > 模擬
[導(dǎo)讀]介紹ISO7816-4及中國金融集成電路(IC)卡規(guī)范所規(guī)定的T=0協(xié)議的CPU卡與終端之間的接口特性和傳輸協(xié)議,及以C51語言設(shè)計的CPU卡復(fù)位、下電及讀寫程序。

 IC卡的概念是20世紀(jì)70年代提出的。法國BULL公司首創(chuàng)IC卡產(chǎn)品,并將這項技術(shù)應(yīng)用到金融、交通、醫(yī)療、身份證明等多個方面。IC卡的核心是集成電路芯片,一般為3μm以下的半導(dǎo)體技術(shù)制造。IC卡具有寫入數(shù)據(jù)和存儲數(shù)據(jù)的能力。IC可存儲其中的內(nèi)容,根據(jù)需要可以有條件地供外部讀取,或供內(nèi)部信息處理或校驗用。

  根據(jù)各種集成電路的不同,IC卡可以分為以下三類:存儲器卡、邏輯加密卡與CPU卡。其中,存儲器卡僅有數(shù)據(jù)存儲能力,沒有安全措施;邏輯加密卡僅有幾個字節(jié)的密碼,卡中有一個錯誤計數(shù)器,如果指定次數(shù)驗證密碼失敗,則卡中數(shù)據(jù)被自動鎖死,該卡數(shù)據(jù)不能再更改;CPU卡是這三類IC卡中最高級的卡,一般有ROM、RAM和EEPROM三種存儲器。ROM中存放的是程序,程序是為IC卡的CPU專門設(shè)計的,用來解釋讀寫器終端送來的命令。IC卡應(yīng)用系統(tǒng)根據(jù)應(yīng)用需要由終端送一系列命令到CPU卡,通過改變命令的內(nèi)容和命令的順序就可以滿足不同的需要,因此有較高的靈活性;同時,因為CPU有計算功能,存儲容量又大,可以進(jìn)行比較復(fù)雜的加密/解密運算,極大提高了安全性。EEPROM主要用來存放一些應(yīng)用數(shù)據(jù),其容量比邏輯加密卡大,可實現(xiàn)一卡多用,是目前最安全的卡類型。因此,CPU卡是目前IC卡的重要發(fā)展方向之一。

  1 CPU卡的接口特性

  1.1 觸點定義

  觸點的定義遵循ISO7816-2的規(guī)定,如圖1所示。符號說明如表1所列。

  

  圖1 CPU卡的觸點 

  表1 符號說明

   

  1.2 字符幀

  數(shù)據(jù)在I/O上以圖2所示的字符幀方式傳輸。

  

  圖2 字符幀傳輸方式

  每個位寬是1個etu,etu = 372/f。在此處,f = 3.57 MHz。

  起始位由接收端通過對I/O周期采樣獲得,采樣周期應(yīng)小于0.2 etu。2個連續(xù)字符起始位上升沿之間的間隔時間等于(10±0.2)etu加上1個保護(hù)時間(最少2個etu)。在保護(hù)時間內(nèi),卡與終端都應(yīng)處于接收模式(I/O為高電平狀態(tài))。如果卡或終端作為接收方檢測出奇偶錯誤,則I/O被置為低電平,以向發(fā)送方表明出現(xiàn)錯誤。

  1.3 卡操作

  卡操作的步驟如下:

  ① 將卡插入終端接口設(shè)備,使兩者的觸點相接并激活觸點;

  ② 將卡復(fù)位,建立卡與終端間的通信;

  ③ 執(zhí)行操作;

 ?、?釋放觸點,并從接口設(shè)備取出卡片。

  以下是除第③步(執(zhí)行操作)以外,各步的時序要求。

  (1) 觸點激活

  時序如圖3所示。

  

  圖3 觸點激活時序

  (2) 卡復(fù)位

  卡利用低電平復(fù)位來完成異步復(fù)位應(yīng)答,隨著觸點的激活,終端將進(jìn)行一個冷復(fù)位并從卡獲得復(fù)位應(yīng)答。冷復(fù)位時序如圖4所示。

  

  圖4 冷復(fù)位時序

  冷復(fù)位過程之后,如果收到的復(fù)位應(yīng)答信號不滿足標(biāo)準(zhǔn)的規(guī)定,終端將啟動一個熱復(fù)位并從卡獲得復(fù)位響應(yīng)。熱復(fù)位時序如圖5所示。

  

  圖5 熱復(fù)位時序

  在實際程序設(shè)計時,由Reset子程序?qū)崿F(xiàn)觸點激活和卡復(fù)位。

  (3) 觸點釋放時序

  觸點釋放時序過程如圖6所示。

  

  圖6 觸點釋放時序

  2 傳輸協(xié)議與卡命令處理程序

  ISO7816-4及中國金融集成電路(IC)卡規(guī)范所規(guī)定的異步半雙工傳輸協(xié)議,是關(guān)于終端為實現(xiàn)傳輸控制和特殊控制而發(fā)出的命令的結(jié)構(gòu)及其處理過程,包括了兩種協(xié)議:字符傳輸協(xié)議(T = 0)和塊傳輸協(xié)議(T = 1)。本文著重討論字符傳輸協(xié)議(T = 0)協(xié)議,它是IC卡推薦使用的通信協(xié)議。

  2.1 命令

  命令包含1個連續(xù)4字節(jié)的命令頭,用CLA、INS、P1和P2以及1個可變長度的條件體來表示。

  命令頭定義如下:

  ◇ CLA:指令類別,除“FF”外的任何值;

  ◇ INS:在指令類別中的指令碼,當(dāng)最低位是“0”,并且高位半字節(jié)既不是“6”也不是“9”時,INS才有效;

  ◇ P1、P2完成INS的參數(shù)字節(jié)。

  條件體定義如下:

  ◇ Lc(發(fā)送數(shù)據(jù)長度)占1個字節(jié),在命令中定義為發(fā)送數(shù)據(jù)的字節(jié)數(shù),取值范圍是1~255。

  ◇ Data為將要發(fā)送的命令數(shù)據(jù)域,字節(jié)數(shù)由Lc定義。

  ◇ Le (接收數(shù)據(jù)長度)占1個字節(jié),指出命令響應(yīng)中預(yù)期的數(shù)據(jù)最大字節(jié)數(shù)。Le的取值范圍是0~255。如果Le=0,預(yù)期數(shù)據(jù)字節(jié)的最大長度是256。

  可能的命令結(jié)構(gòu)的4種情況定義如表2所列。

  表2

   

  命令全部由終端應(yīng)用層(TAL)初始化。它通過終端傳輸層(TTL)向卡發(fā)送1個由5個字節(jié)組成的命令頭,并等待一個過程字節(jié)。

  2.2 過程字節(jié)

  卡收到命令后,緊接著返回一個過程字節(jié)給TTL,指明下一步該作什么,如表3所列。

  表3

   

  在(1)、(2)情況中,TTL完成動作后將等待另一個過程字節(jié)。在(3)情況中,第二個過程字節(jié)或狀態(tài)碼(SW2)被收到后,TTL將做以下事情:

  ◇ 如果過程字節(jié)為“61”,TTL將發(fā)送一個最大長度(P3)為“XX”的得到響應(yīng)命令(GET RESPONSE)給卡,“XX”為SW2的值。GET RESPONSE命令僅適用于T = 0協(xié)議。命令報文的結(jié)構(gòu)如表4所列。

  表4

   

  ◇ 如果過程字節(jié)為“6C”,TTL將立即重發(fā)前一個命令的命令頭給卡,它的P3值用“XX”代替。“XX”是SW2的值。

  ◇ 如果過程字節(jié)是“6X”(除“60”、“61”及“6C”之外)或“9X”,與前兩者TTL自己處理不同,TTL將通過命令響應(yīng)返回狀態(tài)碼給上一層--終端應(yīng)用層(TAL),由TAL處理,并等待下一個命令。

  2.3 卡命令處理程序流程圖

  圖 7 是卡命令處理程序,即終端與卡的信息交互過程的流程圖,具體程序見本刊網(wǎng)站。

 

  

  圖7 卡命令處理程序流程圖

  以下是引腳說明。

  ECPU:決定卡的CLK觸點上是否有CLK信號的引腳;

  ICVCC:終端與卡的Vcc觸點相接觸的引腳;

  ICIO: 終端與卡的I/O觸點相接觸的引腳;

  ICCLK:終端與卡的CLK觸點相接觸的引腳;

  ICRST:終端與卡的RST觸點相接觸的引腳。

  以下是程序中函數(shù)介紹。

  ◇ void isr_timer1(void) interrupt 3:定時器1中斷子程序,用于按位發(fā)送和接收數(shù)據(jù)字節(jié);

  ◇ void Snd(void): 發(fā)送數(shù)據(jù)子程序,由定時器1實現(xiàn);

  ◇ void Rcv(BYTE bytenr,BYTE *Buffer):接收數(shù)據(jù)子程序(參數(shù)含義分別是:接收數(shù)據(jù)字節(jié)數(shù)、接收數(shù)據(jù)的存放處),由定時器1實現(xiàn);

  ◇ 函數(shù)1 void Reset(BYTE *len, BYTE *resp):復(fù)位子程序(參數(shù)含義分別是:返回復(fù)位響應(yīng)數(shù)據(jù)的長度、復(fù)位響應(yīng)數(shù)據(jù));

  ◇ 函數(shù)2 void Power_off(void):觸點釋放子程序;

  ◇ 函數(shù)3 WORD CPUC_Cmd(BYTE len,BYTE* comm, BYTE *lenr, BYTE* resp):CPU卡命令子程序(參數(shù)含義分別是:發(fā)送命令長度、發(fā)送命令、返回字節(jié)數(shù)、返回數(shù)據(jù)),函數(shù)返回狀態(tài)字節(jié)SW1SW2。

  參考文獻(xiàn)

  1 全國標(biāo)準(zhǔn)化技術(shù)委員。 中國金融集成電路(IC)卡規(guī)范(V1.0)。 北京:中國金融出版社

  2 中國華大集成電路設(shè)計中心。 CIU9102智能卡接口特性和通信規(guī)程

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉