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