關(guān) 閉

新聞中心

EEPW首頁 > 工控自動化 > 設(shè)計(jì)應(yīng)用 > 接觸式IC卡接口原理與不同實(shí)現(xiàn)方式對比

接觸式IC卡接口原理與不同實(shí)現(xiàn)方式對比

作者: 時(shí)間:2011-08-01 來源:網(wǎng)絡(luò) 收藏

12 00 05 00 12 00 00 00 05

若主卡頭中無卡,則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 D8

2.2.3 TDA8020的軟件設(shè)計(jì)

  TDA8020與IFD內(nèi)CPU的通信是用I2C總線進(jìn)行的。通過I2C,IFD內(nèi)的CPU可以向TDA8020發(fā)送命令或讀取TDA8020的狀態(tài)。TDA8020有兩個(gè)地址選擇引腳(SAD0和SAD1)。在圖3中,這兩個(gè)地址選擇引腳接地,對應(yīng)兩個(gè)卡的I2C總線地址分別是40H和48H。如果系統(tǒng)中有別的I2C總線器件,可以按表2的進(jìn)行尋址。

表2 TDA8020的I2C地址選擇表

SAD1 SAD0 CARD1 CARD2
0 0 40H 48H
0 1 42H 4AH
1 0 46H 4CH
1 1 48H 4EH

(1)向TDA8020寫入命令的格式

圖4為向TDA8020寫入命令的格式。按圖3所示,對卡1的地址和寫的字節(jié)為40H。

其中控制字節(jié)各位的含義如表3所列。

表3 命令控制字節(jié)各位的含義

名 稱說 明
START和/STOP0為1,產(chǎn)生一個(gè)冷復(fù)位的激活時(shí)序:為0,產(chǎn)生一個(gè)釋放時(shí)序
WARM1為1,產(chǎn)生一個(gè)熱復(fù)位時(shí)序
3/5V2為1,設(shè)定卡的操作電壓為3V;為0,設(shè)定卡的操作電壓為5V
PDOWN3為1,設(shè)定卡為下電模式;為0,設(shè)定卡為正常工作模式
CLKPD4為1,設(shè)定下電模式下CLK停在高電平;為0,設(shè)定下電模式下CLK停在低電平
CLKSEL15兩位設(shè)定卡在正常工作模式時(shí)的工作時(shí)鐘頻率見表4
CLKSEL26
I/OEN7I/O使能位。為1時(shí),I/O與I/Ouc相連;為0時(shí),I/Ouc是高阻狀態(tài)

(2)讀TDA8020內(nèi)部狀態(tài)的數(shù)據(jù)格式

從TDA8020讀出狀態(tài)的格式如圖5所示。按圖3所示,對卡1的地址和讀的字節(jié)為41H。

其中狀態(tài)字節(jié)中各位的含義如表5所列。

表4 工作時(shí)鐘頻率選擇

CLKSEL2CLKSEL1CLOCK OU
00CLKIN/8
00CLKIN/4
10CLKIN/2
11CLKIN

表5 狀態(tài)字節(jié)各位的含義

名 稱

說 明

PRES0卡的狀態(tài)指示。為1時(shí),檢測到卡:為0時(shí),沒有檢測到卡
PRESL1為1時(shí),卡的狀態(tài)還沒有讀;當(dāng)為0時(shí),卡的狀態(tài)已讀出
I/O2I/O為高時(shí),這位為1;當(dāng)I/O為低時(shí),這位為0
SUPL3為1時(shí),表示電源監(jiān)控器已輸出,上電后就為1,直到讀出后為0
PROT4為1時(shí),表示過熱或過載狀態(tài)
MUTE5為1時(shí)表示卡在規(guī)定的時(shí)間內(nèi)沒有發(fā)出ATR信號
EARLY6為1時(shí)表示卡在規(guī)定的時(shí)間前就已經(jīng)發(fā)出ATR信號
ACTIVE7為1時(shí),卡處于激活狀態(tài);為0時(shí),卡處于釋放狀態(tài)

3 總 結(jié)

  以上比較詳細(xì)地介紹了三種卡讀寫芯片。這三種方式最大的區(qū)別在于其與IFD內(nèi)的CPU的通信方式不一樣,并且也都符合ISO/IEC7816的標(biāo)準(zhǔn)。但是,這三個(gè)讀寫芯片有一些地方也存在一些差異。

  TDA8020支持A類和B類卡,但是WatchCore和SNIPER II CST56I01只支持A類卡。(雖然SNIPER II CST56I01內(nèi)部寄存器中有一位是卡類選擇,但卻只支持A類卡。)

  TDA8020和SNIPER II CST56I01其ESD保護(hù)達(dá)6kV,但是WatchCore卻沒有ESD保護(hù)功能。

  TDA8020對卡的電源可以直接支持,并有過流保護(hù)功能;但是WatchCore和SNIPER II CST56I01卻只有通過一個(gè)功放管來,并且沒有過流保護(hù)功能,只有外接保護(hù)電路(如加可復(fù)位保險(xiǎn)絲)。

  就其方式來說,I2C總線的TDA8020和串口的WatchCore雖然與卡讀寫器內(nèi)的CPU的連接方便,但是一般CPU沒有多余的串口和I2C總線接口給這兩個(gè)芯片,一般要用通用I/O口來模擬串口和I2C總線接口才能進(jìn)行通信。而SNIPER II CST56I01與IFD內(nèi)的CPU的并行通信雖然連接線較多,但其相應(yīng)的軟件就方便多了。

  綜上所述,這三個(gè)IC卡讀寫芯片各有,在應(yīng)用的過程中,只有根據(jù)的資源情況來選用不同的讀寫芯片。


上一頁 1 2 3 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉