![IC卡接口芯片TDA8007的讀寫器設(shè)計_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/23/ad60f35e-c143-42d8-a7e9-40984942e296/ad60f35e-c143-42d8-a7e9-40984942e2961.gif)
![IC卡接口芯片TDA8007的讀寫器設(shè)計_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/23/ad60f35e-c143-42d8-a7e9-40984942e296/ad60f35e-c143-42d8-a7e9-40984942e2962.gif)
![IC卡接口芯片TDA8007的讀寫器設(shè)計_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/23/ad60f35e-c143-42d8-a7e9-40984942e296/ad60f35e-c143-42d8-a7e9-40984942e2963.gif)
![IC卡接口芯片TDA8007的讀寫器設(shè)計_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/23/ad60f35e-c143-42d8-a7e9-40984942e296/ad60f35e-c143-42d8-a7e9-40984942e2964.gif)
![IC卡接口芯片TDA8007的讀寫器設(shè)計_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/23/ad60f35e-c143-42d8-a7e9-40984942e296/ad60f35e-c143-42d8-a7e9-40984942e2965.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、IC卡接口芯片TDA8007的讀寫器設(shè)計< 摘要:闡述T=0傳輸協(xié)議,給出IC卡讀寫器中使用的IC卡APDU指令流程和原理框圖;重點介紹其中的IC卡接口芯片Philips的TDA8007,給出通過TDA8007對CPU IC卡上下電過程、具體程序及TDA8007使用中應(yīng)注意的問題。 關(guān)鍵詞:CPU IC卡 TDA8007 ISO7816 IC卡(Integrated Circuit card)即集成電路卡
2、,是將一個集成電路芯片鑲嵌于朔料基片中,封裝成卡的形式,外形與常用的覆蓋磁條的磁卡相似。IC卡芯片具有寫入和存儲數(shù)據(jù)的能力。IC卡存儲器中的內(nèi)容根據(jù)需要可以有條件地供外部讀取,或供內(nèi)部信息處理和判定。根據(jù)卡中所鑲嵌的集成電路的不同,可以分成存儲器卡、邏輯加密卡、CPU卡三類。其中CPU卡即為由中央處理器CPU、EEPROM、隨機(jī)存儲器RAM以及固化在只讀存儲器ROM中的片內(nèi)操作系統(tǒng)COS(Chip Operation System)組成的IC卡。IC卡按與外界數(shù)據(jù)傳送的形式來分,有接觸式和非接觸式兩種。圖1 T=0的CPU卡APDU指令實現(xiàn)流程 1 CPU IC卡T=0的協(xié)議介紹 &
3、#160; 目前大多數(shù)CPU IC卡采用T=0模式。所謂T=0,即CPU IC卡與接口設(shè)備(即讀寫器)中數(shù)據(jù)傳輸方式為異步半雙工字符傳輸模式。 從T=0協(xié)議的功能出發(fā),該協(xié)議的實現(xiàn)可以分為物理層、數(shù)據(jù)鏈路層、終端傳輸層和應(yīng)用層。其中物理層和數(shù)據(jù)鏈路層可以具體參看ISO7816標(biāo)準(zhǔn)。在T=0協(xié)議應(yīng)用,終端傳輸層和應(yīng)用層實際上是不易分割來說明的,下面簡單說明。 終端傳輸層根據(jù)卡片返回的過程字符和狀態(tài)字節(jié)執(zhí)行相應(yīng)的操作,使讀寫器對數(shù)據(jù)的處理過程明朗清晰??ㄆ祷氐倪^程字節(jié)和狀態(tài)字節(jié)跟應(yīng)用
4、層發(fā)送給卡的APDU(Application Protocol Data Unit,應(yīng)用協(xié)議數(shù)據(jù)單元)和VPP使用等有關(guān)。表1為VPP未用時的終端傳輸層中返回的過程字節(jié)。表1 字 節(jié) 值 結(jié) 果 ACK INS VPP空閑,所有其余的數(shù)據(jù)字節(jié)相繼續(xù)被傳送 INS+'F
5、F' VPP空閑,下一個數(shù)據(jù)字節(jié)隨后被傳送 SW1 SW2 VPP空閑,接口設(shè)備等待SW2字節(jié) 應(yīng)用層即為由CLA、INS、P1、P2、P3作為命令頭組成的命令消息體的APDU響應(yīng)和應(yīng)答處理層。其中CLA為指令類別,INS為指令碼,P1、P2為參數(shù),P3為根據(jù)APDU的不同格式為發(fā)送給卡的數(shù)據(jù)長度或期望響應(yīng)的數(shù)據(jù)長度。APDU的幾種情況如表2所列。表2
6、60; 命令頭 發(fā)送數(shù)據(jù)長度 發(fā)送的數(shù)據(jù) 期望應(yīng)答的數(shù)據(jù)長度 通用APDU CLA INS P1 P LC Data LE 情況一
7、0; CLA INS P1 P 情況二 CLA INS P1 P LE 情況三 CLA INS P1 P
8、160; LC Data 情況四 CLA INS P1 P2 LC Data LE CPU卡對接口設(shè)備(即讀寫器)的應(yīng)答APDU情況如表3所列。表3
9、體 尾 數(shù)據(jù)Data SW1 SW2 其中體中的數(shù)據(jù)字節(jié)數(shù)由命令A(yù)PDU中的LE指出;SW1、SW2是必備的,可以指明命令A(yù)PDU執(zhí)行正確或執(zhí)行出錯的錯誤類型。 2 基于T=0傳輸協(xié)議的CPU IC的APDU指令流程 根據(jù)目前CPU卡的常用T=0協(xié)議、自帶編程升壓電路的應(yīng)用情況,以及本讀寫器接收IC卡數(shù)據(jù)報文直接發(fā)送PC機(jī)
10、處理的特點,本讀寫器可行的APDU命令和響應(yīng)的處理流程如圖1所示。 3 讀寫器的硬件組成 讀寫器的硬件部分主要由IC接口管理芯片TDA8007、MCUAT89C52、外部數(shù)據(jù)存儲器W24257S、串口電平轉(zhuǎn)換芯片MAX3226、安全I(xiàn)C卡座(即SAM卡座)、應(yīng)用IC卡座、鍵盤口供電的串口通信線及其它相關(guān)元器件組成。 圖2所示為通過PC機(jī)控制管理的外置于PC機(jī)的接觸式CPU IC卡讀寫器。通過定制的數(shù)據(jù)線,該讀寫器的5V直流電源可直接由鍵盤口提供,同時數(shù)據(jù)線還
11、負(fù)責(zé)PC機(jī)與讀寫器的串行數(shù)據(jù)交換。在大部分IC卡讀寫應(yīng)用中,都涉及到IC卡的認(rèn)證和數(shù)據(jù)讀寫的國解密問題,所以本讀寫器除了提供一個供用戶使用的IC卡接口卡座外,還內(nèi)置了一個SAM卡,即安全I(xiàn)C卡卡座,以方便安裝SAM卡,保證應(yīng)用IC卡讀寫時的數(shù)據(jù)安全,保護(hù)用戶的利益。 硬件的其它組成部分,如處理器,目前采用Atmel的89C52。其4KB的Flash程序存儲器可以滿足讀寫器的程序空間需要。由于PC機(jī)與89C52、89C52與TDA8007的數(shù)據(jù)交換要求的暫存數(shù)據(jù)空間比較大,89C52提供的256字節(jié)不夠,需外加一片數(shù)據(jù)存儲器。本讀寫器中使用的是華邦的
12、W24257S。其有32KB存儲容量,IC接口部分的主要芯片為Philips的TDA8007。 4 IC卡接口芯片應(yīng)用 下面介紹一下TDA8007及其應(yīng)用。TDA8007的原理結(jié)構(gòu)如圖3所示。 TDA8007芯片能夠提供兩個能同時滿足ISO7816標(biāo)準(zhǔn)及EMV和GSM11-11標(biāo)準(zhǔn)的IC卡讀寫接口。在本讀寫器中,一個用于與應(yīng)用IC通信,另一個用于與安全I(xiàn)C卡通信。與上文CPU卡的觸點圖相對應(yīng),CLKi、RSTi、VCCi、I/Oi、GNDCi、PRESi、C
13、4i、C8i(其中i=1,2;C4i、C8i未用;PRESi可用于檢測IC卡是否插入。具體應(yīng)用可參看TDA8007的技術(shù)文檔)都直接由TDA8007提供給IC卡接口相連,MCU只需通過其接口控制并行通信來管理TDA8007,便可實現(xiàn)對IC卡的上電、下電及讀寫數(shù)據(jù)處理。其中,微處理器既 【內(nèi)容導(dǎo)航】 第1頁:IC卡接口芯片TDA8007的讀寫器設(shè)計 &
14、#160; 第2頁:IC卡接口芯片TDA8007的讀寫器設(shè)計 第3頁:IC卡接口芯片TDA8007的讀寫器設(shè)計 可以通過總線復(fù)用把TDA8007內(nèi)部的所有寄存器作為外部存儲器,用MOVX尋址,也可以通過非總線復(fù)用方式訪問,此時TDA8007用A
15、D0AD3來區(qū)分內(nèi)部各寄存器。另外,TDA8007的片選信號和外部中斷信號線可以方便讀寫器處理多個IC卡頭。TDA8007的特別硬件ESD處理、接口短路處理、電源出錯處理等也給IC卡和IC卡讀寫器提供了比較高的安全保護(hù);同時,TDA8007內(nèi)部集成的電源管理功能允許TDA8007的供電范圍可達(dá)2.76.0V,并且TDA8007通過電源管理可以給IC卡提供5.0V、3.0V及1.8V的電源,以適合不同工作電壓的IC卡應(yīng)用。圖3 IC卡接口芯片TDA8007的原理框圖 本讀寫器是通過總線復(fù)用對TDA8007的寄存器進(jìn)行控制的。其中MCU的P1.5為T
16、DA8007的片選,P0口為與之通信的8位數(shù)據(jù)線,TDA8007的各寄存器預(yù)先被宏定義的成微處理器的一個外部數(shù)據(jù)單元(下面電程序處的定義),從而方便MCU訪問。下面結(jié)合TDA8007寄存器的定義和位分配,給出應(yīng)用TDA8007接口芯片對IC卡進(jìn)行上電激活和下電的程序。TDA8007的寄存器主要三類。第一類,通用寄存器:卡槽選擇CSR;硬件狀態(tài)HSR;定時器TOR1、TOR2、TOR3。第二類,ISO7816串行處理寄存器:串行狀態(tài)USR;混合狀態(tài)MSR;串行發(fā)送UTR;串行接收URR;隊列控制FCR。第三類,卡專屬寄存器:可編程分頻PDR;保護(hù)時間GTR;串行控制UCR1、UCR2;時鐘配置C
17、CR;上電控制PCR。注意:對于卡專屬的寄存器,即卡接口1、卡接口2分別對應(yīng)的寄存器,邏輯上具有相同的名及訪問地址,因而,對不同的瞳操作,需要通過CSR選擇對應(yīng)的卡槽來切換卡??▽偌拇嫫鞯挠成涞奈锢砜臻g。所以,接口設(shè)備每次從一個卡的上下電或讀寫轉(zhuǎn)向另一卡,都需要訪CSR設(shè)定對應(yīng)的卡槽。對于每個寄存器的位定義不再多述,主動性者可參看TDA8007的技術(shù)文檔。 5 上下電過程及具體程序 圖4為IC卡的上電時序圖。要實現(xiàn)之,需對PCR進(jìn)行寫操作。其中START=PCR.0,RSTIN=PCR.2,VUP上升表
18、示激活了TDA8007中的電壓轉(zhuǎn)換電路。當(dāng)START置高時,只要能檢測到選定卡槽中的IC卡存在,且沒有TDA8007能檢測到并在HSR中指示的硬件錯誤出現(xiàn),則對應(yīng)IC卡接口的VCC1或VCC2將能被提供響應(yīng)的電平(5V、3V或1.8V)。隨后對應(yīng)卡的I/O數(shù)據(jù)線被置成高狀態(tài)(Z狀態(tài)),給IC卡提供設(shè)定的時鐘信號,常用為3.5712MHz。大約在START置高108ETU后,RSTIN置高。因為RST為RSTIN的拷貝,則對應(yīng)卡的RST被置高。然后,用TDA8007提供的定時器TOR3、TOR2設(shè)定對ATR(Answer To Request)即復(fù)位應(yīng)答首字節(jié)的最大等待時間120ETU(Elem
19、ent Time Unit),TOC設(shè)定定時器工作方式,便開始等待ATR首字節(jié)到來后做相應(yīng)處理。至此,IC卡上電激活工作完成,隨后可以根據(jù)ATR字節(jié)的要求的工作方式對IC卡進(jìn)行相應(yīng)的讀寫處理。具體見上電程序。圖4 TDA8007產(chǎn)生滿足ISO 7816標(biāo)準(zhǔn)訴IC卡上電激活時序 TDA8007寄存器訪問的預(yù)定義 #include<absacc.h> #define XXX XBYTE0x8000/XXX表示CSR等各寄存器上電程序如下:
20、; P1.5=0; /片選TDA8007 CSR&=0xf8; CSR|=ncard; /選擇卡,ncard=1,2 CSR&=0xf7; CSR|=0xf7; CSR|=0x08; /復(fù)位UART的寄存器 UCR2&=0xf7; /異步模式,SAN=0
21、 CCR&=0xdf; /時鐘停止于低電平 UCR2|=0x60; /關(guān)閉附加中斷及收發(fā)中斷 GTR=0xff; /保持時間12ETU If(v=1) /v為函數(shù)變量 else if(v=3) PCR|=0x02; /3V卡用 Els
22、e PCR&=0xfd; /5V卡用 UCR2&=0xfc; /CKU=PSC=0,-31 FCR=0x00; /1奇偶校驗1FIFO PDR=0x0c; /Divider=12 CCR=0x00; /不分頻 PCR&=0xfb; /RSTIN=0 UC
23、R2|=0x04; /不自動轉(zhuǎn)換 UCR1=0x01; /正向約定 UCR1&=0xf7; /接收模式 flag3=0; /復(fù)位定時標(biāo)志 flagatr=0; /接收ATR首字節(jié)定時標(biāo)志 PCR|=0x01; /激活 TOR2=0x6c; TOR3=0x00; TOC=0x61; /RST拉高前等待108ETU while(flag3=0); /定時時間到,在中斷中設(shè)置flag3=1 TOC=0x00; /關(guān)閉定時器 PCR|=0x04; /給復(fù)位拉高 TOR2=0x78;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 12古詩三首《示兒》說課稿-2024-2025學(xué)年五年級語文上冊統(tǒng)編版001
- 2023六年級數(shù)學(xué)上冊 四 人體的奧秘-比說課稿 青島版六三制
- 會議總包合同范例
- 鋼板橋面面層施工方案
- 供熱公司用工合同范本
- 專業(yè)律師合同范例
- 債務(wù)合約合同范例
- 物業(yè)車輛清潔方案
- 公司聘用文秘合同范例
- 買礦協(xié)議合同范本
- 第八講 發(fā)展全過程人民民主PPT習(xí)概論2023優(yōu)化版教學(xué)課件
- 王崧舟:學(xué)習(xí)任務(wù)群與課堂教學(xué)變革 2022版新課程標(biāo)準(zhǔn)解讀解析資料 57
- 招投標(biāo)現(xiàn)場項目經(jīng)理答辯(完整版)資料
- 運動競賽學(xué)課件
- 重大事故隱患整改臺賬
- 2022年上海市初中畢業(yè)數(shù)學(xué)課程終結(jié)性評價指南
- 高考作文備考-議論文對比論證 課件14張
- 新華師大版七年級下冊初中數(shù)學(xué) 7.4 實踐與探索課時練(課后作業(yè)設(shè)計)
- 山東省萊陽市望嵐口礦區(qū)頁巖礦
- 《普通生物學(xué)教案》word版
- 安全生產(chǎn)應(yīng)知應(yīng)會培訓(xùn)課件
評論
0/150
提交評論