版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、IC卡接口芯片讀寫(xiě)器設(shè)計(jì)管理論文 摘要:闡述T=0傳輸協(xié)議,給出IC卡讀寫(xiě)器中使用的IC卡APDU指令流程和原理框圖;重點(diǎn)介紹其中的IC卡接口芯片Philips的TDA8007,給出通過(guò)TDA8007對(duì)CPUIC卡上下電過(guò)程、具體程序及TDA8007使用中應(yīng)注意的問(wèn)題。 關(guān)鍵詞:CPUIC卡TDA8007ISO7816 IC卡(IntegratedCircuitcard)即集成電路卡,是將一個(gè)集成電路芯片鑲嵌于朔料基片中,封裝成卡的形式,外形與常用的覆蓋磁條的磁卡相似。IC卡芯片具有寫(xiě)入和存儲(chǔ)數(shù)據(jù)的能力。IC卡存儲(chǔ)器中的內(nèi)容根據(jù)需要可以有條件地供外部讀取,或供內(nèi)部信息處理和判定。根據(jù)卡中所鑲嵌
2、的集成電路的不同,可以分成存儲(chǔ)器卡、邏輯加密卡、CPU卡三類(lèi)。其中CPU卡即為由中央處理器CPU、EEPROM、隨機(jī)存儲(chǔ)器RAM以及固化在只讀存儲(chǔ)器ROM中的片內(nèi)操作系統(tǒng)COS(ChipOperationSystem)組成的IC卡。IC卡按與外界數(shù)據(jù)傳送的形式來(lái)分,有接觸式和非接觸式兩種。 圖1T=0的CPU卡APDU指令實(shí)現(xiàn)流程 1CPUIC卡T=0的協(xié)議介紹 目前大多數(shù)CPUIC卡采用T=0模式。所謂T=0,即CPUIC卡與接口設(shè)備(即讀寫(xiě)器)中數(shù)據(jù)傳輸方式為異步半雙工字符傳輸模式。 從T=0協(xié)議的功能出發(fā),該協(xié)議的實(shí)現(xiàn)可以分為物理層、數(shù)據(jù)鏈路層、終端傳輸層和應(yīng)用層。其中物理層和數(shù)據(jù)鏈路層
3、可以具體參看ISO7816標(biāo)準(zhǔn)。在T=0協(xié)議應(yīng)用,終端傳輸層和應(yīng)用層實(shí)際上是不易分割來(lái)說(shuō)明的,下面簡(jiǎn)單說(shuō)明。 終端傳輸層根據(jù)卡片返回的過(guò)程字符和狀態(tài)字節(jié)執(zhí)行相應(yīng)的操作,使讀寫(xiě)器對(duì)數(shù)據(jù)的處理過(guò)程明朗清晰??ㄆ祷氐倪^(guò)程字節(jié)和狀態(tài)字節(jié)跟應(yīng)用層發(fā)送給卡的APDU(ApplicationProtocolDataUnit,應(yīng)用協(xié)議數(shù)據(jù)單元)和VPP使用等有關(guān)。表1為VPP未用時(shí)的終端傳輸層中返回的過(guò)程字節(jié)。 表1 字節(jié)值結(jié)果 ACKINSVPP空閑,所有其余的數(shù)據(jù)字節(jié)相繼續(xù)被傳送 INS+FFVPP空閑,下一個(gè)數(shù)據(jù)字節(jié)隨后被傳送 SW1SW2VPP空閑,接口設(shè)備等待SW2字節(jié) 應(yīng)用層即為由CLA、INS
4、、P1、P2、P3作為命令頭組成的命令消息體的APDU響應(yīng)和應(yīng)答處理層。其中CLA為指令類(lèi)別,INS為指令碼,P1、P2為參數(shù),P3為根據(jù)APDU的不同格式為發(fā)送給卡的數(shù)據(jù)長(zhǎng)度或期望響應(yīng)的數(shù)據(jù)長(zhǎng)度。APDU的幾種情況如表2所列。 表2 命令頭發(fā)送數(shù)據(jù)長(zhǎng)度發(fā)送的數(shù)據(jù)期望應(yīng)答的數(shù)據(jù)長(zhǎng)度 通用APDUCLAINSP1PLCDataLE 情況一CLAINSP1P 情況二CLAINSP1PLE 情況三CLAINSP1PLCData 情況四CLAINSP1P2LCDataLE CPU卡對(duì)接口設(shè)備(即讀寫(xiě)器)的應(yīng)答APDU情況如表3所列。 表3 體尾 數(shù)據(jù)DataSW1SW2 其中體中的數(shù)據(jù)字節(jié)數(shù)由命令A(yù)P
5、DU中的LE指出;SW1、SW2是必備的,可以指明命令A(yù)PDU執(zhí)行正確或執(zhí)行出錯(cuò)的錯(cuò)誤類(lèi)型。 2基于T=0傳輸協(xié)議的CPUIC的APDU指令流程 根據(jù)目前CPU卡的常用T=0協(xié)議、自帶編程升壓電路的應(yīng)用情況,以及本讀寫(xiě)器接收IC卡數(shù)據(jù)報(bào)文直接發(fā)送PC機(jī)處理的特點(diǎn),本讀寫(xiě)器可行的APDU命令和響應(yīng)的處理流程如圖1所示。 3讀寫(xiě)器的硬件組成 讀寫(xiě)器的硬件部分主要由IC接口管理芯片TDA8007、MCUAT89C52、外部數(shù)據(jù)存儲(chǔ)器W24257S、串口電平轉(zhuǎn)換芯片MAX3226、安全I(xiàn)C卡座(即SAM卡座)、應(yīng)用IC卡座、鍵盤(pán)口供電的串口通信線及其它相關(guān)元器件組成。 圖2所示為通過(guò)PC機(jī)控制管理的外
6、置于PC機(jī)的接觸式CPUIC卡讀寫(xiě)器。通過(guò)定制的數(shù)據(jù)線,該讀寫(xiě)器的5V直流電源可直接由鍵盤(pán)口提供,同時(shí)數(shù)據(jù)線還負(fù)責(zé)PC機(jī)與讀寫(xiě)器的串行數(shù)據(jù)交換。在大部分IC卡讀寫(xiě)應(yīng)用中,都涉及到IC卡的認(rèn)證和數(shù)據(jù)讀寫(xiě)的國(guó)解密問(wèn)題,所以本讀寫(xiě)器除了提供一個(gè)供用戶使用的IC卡接口卡座外,還內(nèi)置了一個(gè)SAM卡,即安全I(xiàn)C卡卡座,以方便安裝SAM卡,保證應(yīng)用IC卡讀寫(xiě)時(shí)的數(shù)據(jù)安全,保護(hù)用戶的利益。 硬件的其它組成部分,如處理器,目前采用Atmel的89C52。其4KB的Flash程序存儲(chǔ)器可以滿足讀寫(xiě)器的程序空間需要。由于PC機(jī)與89C52、89C52與TDA8007的數(shù)據(jù)交換要求的暫存數(shù)據(jù)空間比較大,89C52提供
7、的256字節(jié)不夠,需外加一片數(shù)據(jù)存儲(chǔ)器。本讀寫(xiě)器中使用的是華邦的W24257S。其有32KB存儲(chǔ)容量,IC接口部分的主要芯片為Philips的TDA8007。 4IC卡接口芯片應(yīng)用 下面介紹一下TDA8007及其應(yīng)用。TDA8007的原理結(jié)構(gòu)如圖3所示。 TDA8007芯片能夠提供兩個(gè)能同時(shí)滿足ISO7816標(biāo)準(zhǔn)及EMV和GSM11-11標(biāo)準(zhǔn)的IC卡讀寫(xiě)接口。在本讀寫(xiě)器中,一個(gè)用于與應(yīng)用IC通信,另一個(gè)用于與安全I(xiàn)C卡通信。與上文CPU卡的觸點(diǎn)圖相對(duì)應(yīng),CLKi、RSTi、VCCi、I/Oi、GNDCi、PRESi、C4i、C8i(其中i=1,2;C4i、C8i未用;PRESi可用于檢測(cè)IC卡
8、是否插入。具體應(yīng)用可參看TDA8007的技術(shù)文檔)都直接由TDA8007提供給IC卡接口相連,MCU只需通過(guò)其接口控制并行通信來(lái)管理TDA8007,便可實(shí)現(xiàn)對(duì)IC卡的上電、下電及讀寫(xiě)數(shù)據(jù)處理。其中,微處理器既可以通過(guò)總線復(fù)用把TDA8007內(nèi)部的所有寄存器作為外部存儲(chǔ)器,用MOVX尋址,也可以通過(guò)非總線復(fù)用方式訪問(wèn),此時(shí)TDA8007用AD0AD3來(lái)區(qū)分內(nèi)部各寄存器。另外,TDA8007的片選信號(hào)和外部中斷信號(hào)線可以方便讀寫(xiě)器處理多個(gè)IC卡頭。TDA8007的特別硬件ESD處理、接口短路處理、電源出錯(cuò)處理等也給IC卡和IC卡讀寫(xiě)器提供了比較高的安全保護(hù);同時(shí),TDA8007內(nèi)部集成的電源管理功
9、能允許TDA8007的供電范圍可達(dá)2.76.0V,并且TDA8007通過(guò)電源管理可以給IC卡提供5.0V、3.0V及1.8V的電源,以適合不同工作電壓的IC卡應(yīng)用。 圖3IC卡接口芯片TDA8007的原理框圖 本讀寫(xiě)器是通過(guò)總線復(fù)用對(duì)TDA8007的寄存器進(jìn)行控制的。其中MCU的P1.5為T(mén)DA8007的片選,P0口為與之通信的8位數(shù)據(jù)線,TDA8007的各寄存器預(yù)先被宏定義的成微處理器的一個(gè)外部數(shù)據(jù)單元(下面電程序處的定義),從而方便MCU訪問(wèn)。下面結(jié)合TDA8007寄存器的定義和位分配,給出應(yīng)用TDA8007接口芯片對(duì)IC卡進(jìn)行上電激活和下電的程序。TDA8007的寄存器主要三類(lèi)。第一類(lèi),
10、通用寄存器:卡槽選擇CSR;硬件狀態(tài)HSR;定時(shí)器TOR1、TOR2、TOR3。第二類(lèi),ISO7816串行處理寄存器:串行狀態(tài)USR;混合狀態(tài)MSR;串行發(fā)送UTR;串行接收URR;隊(duì)列控制FCR。第三類(lèi),卡專(zhuān)屬寄存器:可編程分頻PDR;保護(hù)時(shí)間GTR;串行控制UCR1、UCR2;時(shí)鐘配置CCR;上電控制PCR。注意:對(duì)于卡專(zhuān)屬的寄存器,即卡接口1、卡接口2分別對(duì)應(yīng)的寄存器,邏輯上具有相同的名及訪問(wèn)地址,因而,對(duì)不同的瞳操作,需要通過(guò)CSR選擇對(duì)應(yīng)的卡槽來(lái)切換卡專(zhuān)卡屬寄存器的映射的物理空間。所以,接口設(shè)備每次從一個(gè)卡的上下電或讀寫(xiě)轉(zhuǎn)向另一卡,都需要訪CSR設(shè)定對(duì)應(yīng)的卡槽。對(duì)于每個(gè)寄存器的位定義
11、不再多述,主動(dòng)性者可參看TDA8007的技術(shù)文檔。 5上下電過(guò)程及具體程序 圖4為IC卡的上電時(shí)序圖。要實(shí)現(xiàn)之,需對(duì)PCR進(jìn)行寫(xiě)操作。其中START=PCR.0,RSTIN=PCR.2,VUP上升表示激活了TDA8007中的電壓轉(zhuǎn)換電路。當(dāng)START置高時(shí),只要能檢測(cè)到選定卡槽中的IC卡存在,且沒(méi)有TDA8007能檢測(cè)到并在HSR中指示的硬件錯(cuò)誤出現(xiàn),則對(duì)應(yīng)IC卡接口的VCC1或VCC2將能被提供響應(yīng)的電平(5V、3V或1.8V)。隨后對(duì)應(yīng)卡的I/O數(shù)據(jù)線被置成高狀態(tài)(Z狀態(tài)),給IC卡提供設(shè)定的時(shí)鐘信號(hào),常用為3.5712MHz。大約在START置高108ETU后,RSTIN置高。因?yàn)镽ST
12、為RSTIN的拷貝,則對(duì)應(yīng)卡的RST被置高。然后,用TDA8007提供的定時(shí)器TOR3、TOR2設(shè)定對(duì)ATR(AnswerToRequest)即復(fù)位應(yīng)答首字節(jié)的最大等待時(shí)間120ETU(ElementTimeUnit),TOC設(shè)定定時(shí)器工作方式,便開(kāi)始等待ATR首字節(jié)到來(lái)后做相應(yīng)處理。至此,IC卡上電激活工作完成,隨后可以根據(jù)ATR字節(jié)的要求的工作方式對(duì)IC卡進(jìn)行相應(yīng)的讀寫(xiě)處理。具體見(jiàn)上電程序。 圖4TDA8007產(chǎn)生滿足ISO7816標(biāo)準(zhǔn)訴IC卡上電激活時(shí)序 TDA8007寄存器訪問(wèn)的預(yù)定義 #include #defineXXXXBYTE0x8000/XXX表示CSR等各寄存器上電程序如下
13、: P1.5=0;/片選TDA8007 CSR&=0xf8; CSR|=ncard;/選擇卡,ncard=1,2 CSR&=0xf7; CSR|=0xf7; CSR|=0x08;/復(fù)位UART的寄存器 UCR2&=0xf7;/異步模式,SAN=0 CCR&=0xdf;/時(shí)鐘停止于低電平 UCR2|=0x60;/關(guān)閉附加中斷及收發(fā)中斷 GTR=0xff;/保持時(shí)間12ETU If(v=1)/v為函數(shù)變量 PCR|=0x08;/1.8V卡用 elseif(v=3) PCR|=0x02;/3V卡用 Else PCR&=0xfd;/5V卡用 UCR2&=0xfc;/CKU=PSC=0,-31 FCR=
14、0x00;/1奇偶校驗(yàn)1FIFO PDR=0x0c;/Divider=12 CCR=0x00;/不分頻 PCR&=0xfb;/RSTIN=0 UCR2|=0x04;/不自動(dòng)轉(zhuǎn)換 UCR1=0x01;/正向約定 UCR1&=0xf7;/接收模式 flag3=0;/復(fù)位定時(shí)標(biāo)志 flagatr=0;/接收ATR首字節(jié)定時(shí)標(biāo)志 PCR|=0x01;/激活 TOR2=0x6c; TOR3=0x00; TOC=0x61;/RST拉高前等待108ETU while(flag3=0);/定時(shí)時(shí)間到,在中斷中設(shè)置flag3=1 TOC=0x00;/關(guān)閉定時(shí)器 PCR|=0x04;/給復(fù)位拉高 TOR2=0x7
15、8; TOR3=0x00; TOC=0x61;/RST拉高前等待 flagatr=1; ATR();/復(fù)位應(yīng)答處理函數(shù) 圖5為IC卡的下電時(shí)序圖。相對(duì)于上電時(shí)序,下電過(guò)程對(duì)時(shí)間的要求不是很?chē)?yán)格,只要設(shè)計(jì)者控制TDA8007按照一定的順序置低START、RSTIN和停止CLK即可,然后TDA8007會(huì)自動(dòng)逐步釋放RST、I/O、Vcc及VUP。具體處理見(jiàn)下電程序。 下電程序: P15=0; PCR&=0xfe;/START=0;下電 PCR&=0xfb;/卡的復(fù)位腳保持0 CCR&=0xdf;/停止時(shí)鐘于低 CCR|=0x10;/停止時(shí)鐘 P15=1; 6使用TDA8007應(yīng)當(dāng)注意的問(wèn)題 TDA
16、8007對(duì)于Vcc、RST出錯(cuò),芯片過(guò)熱(如圖IC卡為電源短路卡或金屬片),或IC卡插入拔出時(shí)都會(huì)產(chǎn)生中斷輸出。每次中斷處理結(jié)束,應(yīng)注意把HSR中的值讀入一個(gè)臨時(shí)地址,以便清楚HSR中的標(biāo)志。 每次發(fā)送數(shù)據(jù)到IC前,即接收IC卡的最后一個(gè)數(shù)據(jù)之前,應(yīng)設(shè)置寄存器UCR1中的LCT位,以便接收完IC卡的數(shù)據(jù)后,自動(dòng)切換成發(fā)送狀態(tài)。 對(duì)TDA8007部分布線時(shí)應(yīng)注意,時(shí)鐘信號(hào)線與其它線的隔離:最好被地線包圍。 對(duì)于電路板上TDA8007部分的電容應(yīng)盡量靠近TDA8007,其中電容Cap、Cbp、Cup尤其如此,并最好不要在這些電容連向TDA8007引腳過(guò)程中使用過(guò)孔;同時(shí),Cap、Cup、Cbp電容的ESR要盡量小。 對(duì)TDA8007處理的兩個(gè)IC卡座中的任何一個(gè)執(zhí)行上電、下電、讀寫(xiě)卡操作之前,必須執(zhí)行選擇卡座的操作函數(shù),以便選中具體的IC卡進(jìn)行處理。 對(duì)IC卡操作中上電時(shí)序中的定時(shí),讀寫(xiě)卡字節(jié)間等待定時(shí)等都可使用T
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 高考物理總復(fù)習(xí)專(zhuān)題一直線運(yùn)動(dòng)第3講運(yùn)動(dòng)學(xué)圖像練習(xí)含答案
- 蔬菜采購(gòu)合同的簽訂證明
- 電子地磅工崗位職責(zé)
- 江蘇省江陰市七年級(jí)體育與健康上冊(cè)《蹲踞式跳遠(yuǎn)》教案
- 2024-2025學(xué)年高中政治 第4單元 第9課 第1框 建設(shè)社會(huì)主義文化強(qiáng)國(guó)教案 新人教版必修3
- 2023一年級(jí)數(shù)學(xué)上冊(cè) 5 6~10的認(rèn)識(shí)和加減法第1課時(shí) 6和7的認(rèn)識(shí)教案 新人教版
- 2024六年級(jí)語(yǔ)文下冊(cè) 第五單元 14 文言文二則說(shuō)課稿 新人教版
- 2024-2025學(xué)年高中生物 第7章 第2節(jié) 現(xiàn)代生物進(jìn)化理論的主要內(nèi)容1教案 新人教版必修2
- 2023二年級(jí)語(yǔ)文下冊(cè) 第三單元 識(shí)字2 傳統(tǒng)節(jié)日說(shuō)課稿 新人教版
- 高考地理一輪復(fù)習(xí)第十一章交通運(yùn)輸布局與區(qū)域發(fā)展第一節(jié)區(qū)域發(fā)展對(duì)交通運(yùn)輸布局的影響課件
- 架空輸電線路施工質(zhì)量檢驗(yàn)及評(píng)定規(guī)程
- 第10講軍人心理疏導(dǎo)與調(diào)適
- GB/T 22838.5-2009卷煙和濾棒物理性能的測(cè)定第5部分:卷煙吸阻和濾棒壓降
- HACCP計(jì)劃書(shū)(火腿腸)
- 棒球運(yùn)動(dòng)主題教育PPT模板
- 四川省工傷醫(yī)療(康復(fù))待遇申請(qǐng)表
- GA 1800.5-2021電力系統(tǒng)治安反恐防范要求第5部分:太陽(yáng)能發(fā)電企業(yè)
- FZ/T 52057-2021錦綸6短纖維
- T 1463纖維增強(qiáng)塑料密度和相對(duì)密度試驗(yàn)方法
- 組合體的尺寸標(biāo)注(最新)課件
- 第17課《屈原》課件(24張PPT) 部編版語(yǔ)文九年級(jí)下冊(cè)
評(píng)論
0/150
提交評(píng)論