- 相關推薦
IC卡接口芯片TDA8007的讀寫器設計
摘要:闡述T=0傳輸協(xié)議,給出IC卡讀寫器中使用的IC卡APDU指令流程和原理框圖;重點介紹其中的IC卡接口芯片Philips的TDA8007,給出通過TDA8007對CPU IC卡上下電過程、具體程序及TDA8007使用中應注意的問題。IC卡(Integrated Circuit card)即集成電路卡,是將一個集成電路芯片鑲嵌于朔料基片中,封裝成卡的形式,外形與常用的覆蓋磁條的磁卡相似。IC卡芯片具有寫入和存儲數(shù)據(jù)的能力。IC卡存儲器中的內容根據(jù)需要可以有條件地供外部讀取,或供內部信息處理和判定。根據(jù)卡中所鑲嵌的集成電路的不同,可以分成存儲器卡、邏輯加密卡、CPU卡三類。其中CPU卡即為由中央處理器CPU、EEPROM、隨機存儲器RAM以及固化在只讀存儲器ROM中的片內操作系統(tǒng)COS(Chip Operation System)組成的IC卡。IC卡按與外界數(shù)據(jù)傳送的形式來分,有接觸式和非接觸式兩種。
圖1 T=0的CPU卡APDU指令實現(xiàn)流程
1 CPU IC卡T=0的協(xié)議介紹
目前大多數(shù)CPU IC卡采用T=0模式。所謂T=0,即CPU IC卡與接口設備(即讀寫器)中數(shù)據(jù)傳輸方式為異步半雙工字符傳輸模式。
從T=0協(xié)議的功能出發(fā),該協(xié)議的實現(xiàn)可以分為物理層、數(shù)據(jù)鏈路層、終端傳輸層和應用層。其中物理層和數(shù)據(jù)鏈路層可以具體參看ISO7816標準。在T=0協(xié)議應用,終端傳輸層和應用層實際上是不易分割來說明的,下面簡單說明。
終端傳輸層根據(jù)卡片返回的過程字符和狀態(tài)字節(jié)執(zhí)行相應的操作,使讀寫器對數(shù)據(jù)的處理過程明朗清晰?ㄆ祷氐倪^程字節(jié)和狀態(tài)字節(jié)跟應用層發(fā)送給卡的APDU(Application Protocol Data Unit,應用協(xié)議數(shù)據(jù)單元)和VPP使用等有關。表1為VPP未用時的終端傳輸層中返回的過程字節(jié)。
表1
結 果
ACKINSVPP空閑,所有其余的數(shù)據(jù)字節(jié)相繼續(xù)被傳送INS 'FF'VPP空閑,下一個數(shù)據(jù)字節(jié)隨后被傳送SW1SW2VPP空閑,接口設備等待SW2字節(jié)應用層即為由CLA、INS、P1、P2、P3作為命令頭組成的命令消息體的APDU響應和應答處理層。其中CLA為指令類別,INS為指令碼,P1、P2為參數(shù),P3為根據(jù)APDU的不同格式為發(fā)送給卡的數(shù)據(jù)長度或期望響應的數(shù)據(jù)長度。APDU的幾種情況如表2所列。
表2
CPU卡對接口設備(即讀寫器)的應答APDU情況如表3所列。
表3
其中體中的數(shù)據(jù)字節(jié)數(shù)由命令APDU中的LE指出;SW1、SW2是必備的,可以指明命令APDU執(zhí)行正確或執(zhí)行出錯的錯誤類型。
2 基于T=0傳輸協(xié)議的CPU IC的APDU指令流程
根據(jù)目前CPU卡的常用T=0協(xié)議、自帶編程升壓電路的應用情況,以及本讀寫器接收IC卡數(shù)據(jù)報文直接發(fā)送PC機處理的特點,本讀寫器可行的APDU命令和響應的處理流程如圖1所示。
3 讀寫器的硬件組成
讀寫器的硬件部分主要由IC接口管理芯片TDA8007、MCUAT89C52、外部數(shù)據(jù)存儲器W24257S、串口電平轉換芯片MAX3226、安全IC卡座(即SAM卡座)、應用IC卡座、鍵盤口供電的串口通信線及其它相關元器件組成。
圖2所示為通過PC機控制管理的外置于PC機的接觸式CPU IC卡讀寫器。通過定制的數(shù)據(jù)線,該讀寫器的5V直流電源可直接由鍵盤口提供,同時數(shù)據(jù)線還負責PC機與讀寫器的串行數(shù)據(jù)交換。在大部分IC卡讀寫應用中,都涉及到IC卡的認證和數(shù)據(jù)讀寫的國解密問題,所以本讀寫器除了提供一個供用戶使用的IC卡接口卡座外,還內置了一個SAM卡,即安全IC卡卡座,以方便安裝SAM卡,保證應用IC卡讀寫時的數(shù)據(jù)安全,保護用戶的利益。
硬件的其它組成部分,如處理器,目前采用Atmel的89C52。其4KB的Flash程序存儲器可以滿足讀寫器的程序空間需要。由于PC機與89C52、89C52與TDA8007的數(shù)據(jù)交換要求的暫存數(shù)據(jù)空間比較大,89C52提供的256字節(jié)不夠,需外加一片數(shù)據(jù)存儲器。本讀寫器中使用的是華邦的W24257S。其有32KB存儲容量,IC接口部分的主要芯片為Philips的TDA8007。
4 IC卡接口芯片應用
下面介紹一下TDA8007及其應用。TDA8007的原理結構如圖3所示。
TDA8007芯片能夠提供兩個能同時滿足ISO7816標準及EMV和GSM11-11標準的IC卡讀寫接口。在本讀寫器中,一個用于與應用IC通信,另一個用于與安全IC卡通信。與上文CPU卡的觸點圖相對應,CLKi、RSTi、VCCi、I/Oi、GNDCi、PRESi、C4i、C8i(其中i=1,2;C4i、C8i未用;PRESi可用于檢測IC卡是否插入。具體應用可參看TDA8007的技術文檔)都直接由TDA8007提供給IC卡接口相連,MCU只需通過其接口控制并行通信來管理TDA8007,便可實現(xiàn)對IC卡的上電、下電及讀寫數(shù)據(jù)處理。其中,微處理器既
【IC卡接口芯片TDA8007的讀寫器設計】相關文章:
用于非接觸式IC卡的高頻接口模塊設計03-18
接觸式IC卡接口原理與不同實現(xiàn)方式對比03-18
Trimedia DSP芯片JTAG接口的仿真器設計03-18
GPIB接口專用芯片TNT488203-20
加密IC卡保險柜控制器的設計03-18