接觸式IC卡接口原理與不同實(shí)現(xiàn)方式對(duì)比_第1頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、接觸式ic卡接口原理與不同實(shí)現(xiàn)方式對(duì)比ic卡 (integrated circuit card,卡)是繼磁卡之后浮現(xiàn)的又一種新型信息工具。ic卡在有些國(guó)家和地區(qū)也稱智能卡(smart card)、才智卡(intelligent card)、微卡(microcircuit card)或片卡等。它是將一個(gè)微芯片嵌入符合iso 7816標(biāo)準(zhǔn)的卡基中,做成卡片形式;已經(jīng)非常廣泛地應(yīng)用于包括金融、交通、社保等無(wú)數(shù)領(lǐng)域。ic卡讀寫(xiě)器是ic卡與應(yīng)用系統(tǒng)間的橋梁,在iso國(guó)際標(biāo)準(zhǔn)中稱之為接口設(shè)備ifd(interface device)。ifd內(nèi)的cpu通過(guò)一個(gè)接口電路與ic卡相連并舉行通信。ic卡接口電路是

2、ic卡讀寫(xiě)器中至關(guān)重要的部分,按照實(shí)際應(yīng)用系統(tǒng)的不同,可挑選并行通信、半雙工串行通信和i2c通信等不同的ic卡讀寫(xiě)芯片。1 接觸式ic卡接口技術(shù)原理ic卡讀寫(xiě)器要能讀寫(xiě)符合iso7816標(biāo)準(zhǔn)的ic卡。ic卡接口電路作為ic卡與ifd內(nèi)的cpu舉行通信的唯一通道,為保證通信和數(shù)據(jù)交換的平安與牢靠,其產(chǎn)生的電信號(hào)必需滿足下面的特定要求。1.1 完成ic卡插入與退出的識(shí)別操作ic卡接口電路對(duì)ic卡插入與退出的識(shí)別,即卡的激活和釋放,有很嚴(yán)格的時(shí)序要求。假如不能滿足相應(yīng)的要求,ic卡就不能正常舉行操作;嚴(yán)峻時(shí)將損壞ic卡或ic卡讀寫(xiě)器。(1) 激活過(guò)程為啟動(dòng)對(duì)卡的操作,接口電路應(yīng)按圖1所示挨次激活電路

3、: rst處于l狀態(tài); 按照所挑選卡的類型,對(duì)vcc加電a類或b類,正常操作條件下vcc的電特性見(jiàn)表1; vpp升高為空閑狀態(tài); 接口電路的i/o應(yīng)置于接收狀態(tài); 向ic卡的clk提供時(shí)鐘信號(hào)(a類卡15mhz,b類卡14mhz)。1所示,在ta時(shí)光對(duì)ic卡的clk加時(shí)鐘信號(hào)。i/o線路應(yīng)在時(shí)鐘信號(hào)加于clk的200個(gè)時(shí)鐘周期(ta)內(nèi)被置于高阻狀態(tài)z(ta 時(shí)光在ta之后)。時(shí)鐘加于clk后,保持rst為狀態(tài)l起碼400周期(tb)使卡復(fù)位(tb在ta之后)。在時(shí)光tb,rst被置于狀態(tài)h。i/o上的應(yīng)答應(yīng)在rst上信號(hào)升高沿之后的40040 000個(gè)時(shí)鐘周期(tc)內(nèi)開(kāi)頭(tc在tb之后)

4、。圖1 ic卡的激活時(shí)序在rst處于狀態(tài)h的狀況下,假如應(yīng)答信號(hào)在40 000個(gè)時(shí)鐘周期內(nèi)仍未開(kāi)頭,rst上的信號(hào)將返回到狀態(tài)l,且ic卡接口電路根據(jù)圖2所示對(duì)ic卡產(chǎn)生釋放。圖2 ic卡的釋放時(shí)序(2) 釋放過(guò)程當(dāng)信息交換結(jié)束或失敗時(shí)(例如,無(wú)卡響應(yīng)或卡被移出),接口電路應(yīng)按圖2所示時(shí)序釋放電路: rst應(yīng)置為狀態(tài)l; clk應(yīng)置為狀態(tài)l(除非時(shí)鐘已在狀態(tài)l上停止); vpp應(yīng)釋放(假如它已被激活); i/o應(yīng)置為狀態(tài)a(在td時(shí)光內(nèi)沒(méi)有詳細(xì)定義); vcc應(yīng)釋放。1.2 通過(guò)觸點(diǎn)向卡提供穩(wěn)定的電源ic卡接口電路應(yīng)能在表1規(guī)定的范圍內(nèi),向ic卡提供相應(yīng)穩(wěn)定的。表1 正常操作條件下vcc的電特

5、性1.3 通過(guò)觸點(diǎn)向卡提供穩(wěn)定的時(shí)鐘ic卡接口電路向卡提供時(shí)鐘信號(hào)。時(shí)鐘信號(hào)的實(shí)際頻率范圍在復(fù)位應(yīng)答期間,應(yīng)在以下范圍內(nèi):a類卡,時(shí)鐘應(yīng)在15mhz;b類卡,時(shí)鐘應(yīng)在14mhz。復(fù)位后,由收到的atr(復(fù)位應(yīng)答)信號(hào)中的f(時(shí)鐘頻率變換因子)和d(比特率調(diào)節(jié)因子)來(lái)確定。時(shí)鐘信號(hào)的工作周期應(yīng)為穩(wěn)定操作期間周期的40%60%。當(dāng)頻率從一個(gè)值轉(zhuǎn)換到另一個(gè)值時(shí),應(yīng)注重保證沒(méi)有比短周期的40%更短的脈沖。2 幾種實(shí)現(xiàn)方式的對(duì)照與分析ifd內(nèi)的ic卡讀寫(xiě)芯片,按其與ifd內(nèi)的cpu的通信方式舉行分類,有并行通信、半雙工串行通信和i2c通信的讀寫(xiě)芯片。圖3是一個(gè)基于三種不同通信方式讀寫(xiě)芯片的通用ic卡讀寫(xiě)

6、器的原理暗示。這個(gè)系統(tǒng)可以同時(shí)對(duì)6片ic卡舉行操作,其中每一個(gè)ic卡讀寫(xiě)芯片都可以驅(qū)動(dòng)2片ic卡。應(yīng)用系統(tǒng)可以按照實(shí)際狀況合理選用其中的一種或多種讀寫(xiě)芯片。圖3 基于三種不同讀寫(xiě)芯片的ic卡讀寫(xiě)器原理2.1 ic卡讀寫(xiě)芯片的硬件對(duì)照分析(1) 通信方式為并行通信的cts56i01cts56i01支持兩個(gè)符合iso/iec7816-3標(biāo)準(zhǔn)的t0和t1傳輸協(xié)議的ic卡。它采納并行的方式與ifd內(nèi)的cpu通信;可以檢查到卡的插入與拔出,并自動(dòng)產(chǎn)生激活與釋放時(shí)序。cts56i01內(nèi)部每個(gè)通道都有發(fā)送緩沖空、atr超時(shí)、釋放檢測(cè)完成、ts沒(méi)有收到等10個(gè)自立的中斷源,當(dāng)cts56i01內(nèi)部的狀態(tài)發(fā)生變幻

7、時(shí),可以產(chǎn)生中斷信號(hào)。系統(tǒng)通過(guò)p0口與cts56i01的數(shù)據(jù)線相連,地址挑選用p22:0,兩個(gè)中斷信號(hào)經(jīng)過(guò)或門后接到89c51的int0上。對(duì)ic卡的全部操作,只是對(duì)cts56i01內(nèi)部寄存器的讀寫(xiě)操作,便利牢靠。cts56i01采納lqfp-32封裝,僅占很小的空間。(2) 通信方式為半雙工串行通信的watchcorewatchcore是握奇公司為了便利各種設(shè)備與ic卡的通信開(kāi)發(fā)而推出的一款ic卡讀寫(xiě)芯片,硬件平臺(tái)采納st7261,內(nèi)部掩膜有握奇公司對(duì)ic卡舉行讀寫(xiě)操作的所有程序;支持iso/iec 7816 t=0、t=1異步傳輸協(xié)議的各種智能卡,支持對(duì)memory卡操作,支持雙卡頭操作,

8、與接口cpu采納半雙工串行通信。系統(tǒng)用p1.1和p1.2模擬一個(gè)串口與watchcore舉行通信。watchcore采納so-20裝封,占板很小的位置。(3) 通信方式為i2c的tda8020tda8020是philips生產(chǎn)的支持兩個(gè)自立ic卡的讀寫(xiě)芯片,ifd內(nèi)的cpu采納i2c的方式向tda8020發(fā)送指令和讀取狀態(tài),通過(guò)tda8020的i/ouc端口向ic卡發(fā)送和接收數(shù)據(jù)。它支持符合iso/iec7816-3 t=0、t=1標(biāo)準(zhǔn)的ic卡,也支持符合emv3.1.1(europay,mastercard,visa)標(biāo)準(zhǔn)的卡。與它pin-to-pin兼容的芯片還有st公司生產(chǎn)的st8020

9、等。tda8020有2個(gè)地址挑選引腳。本系統(tǒng)的地址引腳接地,兩個(gè)ic卡對(duì)應(yīng)的地址分離為0x40和0x48。i2c的時(shí)鐘信號(hào)和數(shù)據(jù)信號(hào)分離由89c51的p1.3和p1.4舉行模擬,ic卡的數(shù)據(jù)通道i/ouc連89c51的p1.5和p1.6。tda8020也采納lqfp-32裝封。2.2 ic卡讀寫(xiě)芯片的軟件設(shè)計(jì)2.2.1 通信方式為并行通信的cts56i01cst56i01惟獨(dú)3根地址線,內(nèi)部卻有37個(gè)寄存器。其中有8個(gè)寄存器可以挺直拜訪,另外的29個(gè)寄存器要通過(guò)索引地址寄存器(iar)來(lái)拜訪。其拜訪分為兩步:第一步是將要間接拜訪的寄存器的地址寫(xiě)到iar寄存器中;其次步就是從數(shù)據(jù)寄存器(dr)中

10、讀出數(shù)據(jù)或?qū)懭霐?shù)據(jù)到dr寄存器中,來(lái)完成對(duì)要間接拜訪的寄存器的拜訪。下面的c51子程序是基于圖3的寫(xiě)一個(gè)字節(jié)到要間接拜訪的寄存器中的子程序。define sn2_iar xbyte0x0000define sn2_dr xbyte0x0100void writebyteindexed(byte bindex, byte bdata) p1.0=0;sn2_iar = bindex;sn2_dr = bdata;2.2.2 watchcore的軟件設(shè)計(jì)watchcore是不帶硬件的uart,其串行通信是用軟件實(shí)時(shí)的。通信速度采納9600bps;通信字節(jié)格式為1位起始位,8位數(shù)據(jù)位,1位偶校驗(yàn)位,

11、2位停止位。txd與rxd電氣信號(hào)是標(biāo)準(zhǔn)的電平,可挺直與ttl的電路相連。以下是通信時(shí)的數(shù)據(jù)包格式。(1) 指令包指令包是ic卡讀寫(xiě)器內(nèi)的cpu發(fā)往watchcore的數(shù)據(jù),其包格式如下:nad為卡頭挑選, nad=0x00/0x12為主卡頭,nad=0x13為從卡頭;pcb與通信無(wú)關(guān),cpu卡t=1時(shí)用法,pcb通常設(shè)置為0x00;len為數(shù)據(jù)的字節(jié)長(zhǎng)度(僅data段的字節(jié)數(shù));data為發(fā)送wactchcore或ic卡內(nèi)的指令(指令參考iso7816-4的標(biāo)準(zhǔn));bcc為異或校驗(yàn)字節(jié)(bcc段前的4段全部字節(jié)的異或和)。(2) 數(shù)據(jù)包數(shù)據(jù)包是watchcore 收到指令包后返回的數(shù)據(jù),其包

12、格式如下:nad* 是watchcore把指令包中nad字節(jié)的凹凸4位互換后的返回。例如,指令包發(fā)送nad=0x12,watchcore則返回nad*=0x21;其它各段與指令包相同。通信舉例(以下數(shù)據(jù)都用十六進(jìn)制表示)對(duì)主卡舉行復(fù)位發(fā)送指令包弳cript type=text/javascript function imgzoom(id)/重新設(shè)置大小 防止撐破表格 var w = $(id).width; var m = 650; if(w m)return; else var h = $(id).height; $(id).height = parseint(h*m/w); $(id).w

13、idth = m; window.onload = function() var imgs = $(content).getelementsbytagname(img); var i=0; for(;i12 00 05 00 12 00 00 00 05若主卡頭中無(wú)卡,則watchcore返回:21 00 02 62 00 41若主卡頭有一張t=0的cpu卡,則可能返回:21 00 11 3b 7a 18 00 00 21 08 11 12 13 14 15 16 17 18 90 00 d82.2.3 tda8020的軟件設(shè)計(jì)tda8020與ifd內(nèi)cpu的通信是用i2c方式舉行的。通過(guò)i2

14、c接口,ifd內(nèi)的cpu可以向tda8020發(fā)送指令或讀取tda8020的狀態(tài)。tda8020有兩個(gè)地址挑選引腳(sad0和sad1)。在圖3中,這兩個(gè)地址挑選引腳接地,對(duì)應(yīng)兩個(gè)ic卡的i2c總線地址分離是40h和48h。假如系統(tǒng)中有別的i2c總線器件,可以按表2的方式舉行尋址。表2 tda8020的i2c地址挑選表(1) 向tda8020寫(xiě)入指令的格式圖4為向tda8020寫(xiě)入指令的格式。按圖3所示,對(duì)卡1的地址和寫(xiě)的字節(jié)為40h。其中控制字節(jié)各位的含義如表3所列。圖4 向tda8020寫(xiě)入指令的時(shí)序表3 指令控制字節(jié)各位的含義表4 工作時(shí)鐘頻率挑選方式(2) 讀tda8020內(nèi)部狀態(tài)的數(shù)據(jù)

15、格式從tda8020讀出狀態(tài)的格式5所示。按圖3所示,對(duì)卡1的地址和讀的字節(jié)為41h。圖5 從tda8020讀出狀態(tài)的時(shí)序其中狀態(tài)字節(jié)中各位的含義如表5所列。表5 狀態(tài)字節(jié)各位的含義3 總結(jié)以上比較具體地介紹了三種不同接口的ic卡讀寫(xiě)芯片。這三種方式最大的區(qū)分在于其與ifd內(nèi)的cpu的通信方式不一樣,并且也都符合iso/iec7816的標(biāo)準(zhǔn)。但是,這三個(gè)讀寫(xiě)芯片有一些地方也存在一些差異。tda8020支持a類和b類卡,但是watchcore和sniper ii cst56i01只支持a類卡。(雖然sniper ii cst56i01內(nèi)部寄存器中有一位是卡類挑選,但卻只支持a類卡。)tda8020和sniper ii cst56i01其esd庇護(hù)達(dá)6kv,但是watchcore卻沒(méi)有esd庇護(hù)功能。tda8020對(duì)卡的電源可以挺直支持,并有過(guò)流庇護(hù)功能;但是watchcore和sniper ii cst56i01卻惟獨(dú)通過(guò)一個(gè)功放管來(lái)實(shí)現(xiàn),并且沒(méi)有過(guò)流庇護(hù)功能,惟獨(dú)外接庇護(hù)

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論