IC卡接口芯片讀寫器設計管理論文
時(shi)間:2022-06-26 04:29:00
導語(yu):IC卡(ka)接(jie)口芯片讀寫(xie)器設(she)計管理論(lun)文一文來源(yuan)于網(wang)友上傳,不代(dai)表本(ben)站觀(guan)點(dian),若需要原創文章可咨詢客服老師,歡迎參考(kao)。
摘要:闡述T=0傳輸協議,給出ic卡讀寫器中使用的IC卡APDU指令流程和原理框圖;重點介紹其中的IC卡接口芯片Philips的TDA8007,給出通過TDA8007對CPUIC卡上下電過程、具體程序(xu)及TDA8007使用中應注意的問題。
關鍵詞(ci):CPUIC卡TDA8007ISO7816
IC卡(ka)(IntegratedCircuitcard)即(ji)集成電路卡(ka),是將(jiang)一個集成電路芯片(pian)鑲嵌于朔料基片(pian)中(zhong),封(feng)裝成卡(ka)的(de)形式(shi)(shi),外形與常(chang)用的(de)覆蓋磁條的(de)磁卡(ka)相似。IC卡(ka)芯片(pian)具有寫入和存(cun)(cun)(cun)儲數據的(de)能力。IC卡(ka)存(cun)(cun)(cun)儲器(qi)中(zhong)的(de)內(nei)容根據需(xu)要(yao)可(ke)以(yi)有條件地供外部讀(du)取,或供內(nei)部信息(xi)處理和判定。根據卡(ka)中(zhong)所鑲嵌的(de)集成電路的(de)不同,可(ke)以(yi)分成存(cun)(cun)(cun)儲器(qi)卡(ka)、邏輯(ji)加密卡(ka)、CPU卡(ka)三類。其(qi)中(zhong)CPU卡(ka)即(ji)為由中(zhong)央處理器(qi)CPU、EEPROM、隨機存(cun)(cun)(cun)儲器(qi)RAM以(yi)及(ji)固化在只讀(du)存(cun)(cun)(cun)儲器(qi)ROM中(zhong)的(de)片(pian)內(nei)操作系統COS(ChipOperationSystem)組(zu)成的(de)IC卡(ka)。IC卡(ka)按與外界數據傳送(song)的(de)形式(shi)(shi)來分,有接觸式(shi)(shi)和非接觸式(shi)(shi)兩(liang)種(zhong)。
圖1T=0的CPU卡APDU指(zhi)令實現流程
1CPUIC卡T=0的協議介紹
目前大多數CPUIC卡采用T=0模式。所謂T=0,即CPUIC卡與接口設備(即讀寫器)中數據(ju)傳輸方(fang)式為異步半雙工字(zi)符傳輸模式。
從T=0協議(yi)(yi)的(de)功能出發,該(gai)協議(yi)(yi)的(de)實(shi)現可以(yi)分為(wei)物理層(ceng)(ceng)(ceng)、數據(ju)鏈(lian)(lian)路(lu)層(ceng)(ceng)(ceng)、終端傳輸層(ceng)(ceng)(ceng)和(he)應用層(ceng)(ceng)(ceng)。其中物理層(ceng)(ceng)(ceng)和(he)數據(ju)鏈(lian)(lian)路(lu)層(ceng)(ceng)(ceng)可以(yi)具體參(can)看ISO7816標準。在T=0協議(yi)(yi)應用,終端傳輸層(ceng)(ceng)(ceng)和(he)應用層(ceng)(ceng)(ceng)實(shi)際上(shang)是(shi)不(bu)易分割(ge)來說(shuo)明(ming)的(de),下面(mian)簡單說(shuo)明(ming)。
終端(duan)傳輸(shu)層根據卡(ka)(ka)片(pian)返(fan)回的(de)(de)過(guo)程字(zi)(zi)符(fu)和狀態字(zi)(zi)節執行相應(ying)的(de)(de)操作,使讀寫器對數據的(de)(de)處(chu)理過(guo)程明朗(lang)清晰(xi)。卡(ka)(ka)片(pian)返(fan)回的(de)(de)過(guo)程字(zi)(zi)節和狀態字(zi)(zi)節跟應(ying)用層發送給卡(ka)(ka)的(de)(de)APDU(ApplicationProtocolDataUnit,應(ying)用協議數據單元)和VPP使用等有關。表1為VPP未用時(shi)的(de)(de)終端(duan)傳輸(shu)層中返(fan)回的(de)(de)過(guo)程字(zi)(zi)節。
表1
字節值結果
ACKINSVPP空閑(xian),所(suo)有其余的數據字節相(xiang)繼(ji)續(xu)被傳送
INS+''''FF''''VPP空閑,下一個數據字節隨后被傳(chuan)送
SW1SW2VPP空閑,接口(kou)設備等待SW2字(zi)節
應(ying)用(yong)層(ceng)即(ji)為(wei)(wei)由CLA、INS、P1、P2、P3作為(wei)(wei)命令頭組(zu)成的(de)命令消息體的(de)APDU響應(ying)和應(ying)答處理層(ceng)。其中CLA為(wei)(wei)指(zhi)令類別(bie),INS為(wei)(wei)指(zhi)令碼,P1、P2為(wei)(wei)參數(shu)(shu),P3為(wei)(wei)根據(ju)(ju)APDU的(de)不(bu)同格式為(wei)(wei)發送給卡(ka)的(de)數(shu)(shu)據(ju)(ju)長度或期(qi)望響應(ying)的(de)數(shu)(shu)據(ju)(ju)長度。APDU的(de)幾種情況如(ru)表2所列。
表2
命令頭發(fa)送數(shu)據(ju)長度發(fa)送的數(shu)據(ju)期望應答的數(shu)據(ju)長度
通(tong)用APDUCLAINSP1PLCDataLE
情況(kuang)一CLAINSP1P
情況二CLAINSP1PLE
情(qing)況三(san)CLAINSP1PLCData
情況四(si)CLAINSP1P2LCDataLE
CPU卡對接口設備(即讀寫器)的應答APDU情況如(ru)表3所(suo)列。
表3
體尾
數(shu)據(ju)DataSW1SW2
其中(zhong)體中(zhong)的數據(ju)字(zi)節數由命令APDU中(zhong)的LE指出;SW1、SW2是必備的,可以(yi)指明命令APDU執行正確(que)或執行出錯的錯誤類型。
2基(ji)于T=0傳輸(shu)協議的CPUIC的APDU指令流程(cheng)
根據(ju)目前CPU卡(ka)的常用T=0協議、自帶編程(cheng)升(sheng)壓電(dian)路的應(ying)用情況,以及本(ben)讀寫器(qi)接收IC卡(ka)數據(ju)報(bao)文直接發送(song)PC機處理的特點,本(ben)讀寫器(qi)可(ke)行的APDU命令和(he)響應(ying)的處理流程(cheng)如圖1所示。
3讀寫器的硬件組成
讀(du)寫器(qi)的硬(ying)件部(bu)分主要由(you)IC接(jie)口(kou)管理芯片(pian)TDA8007、MCUAT89C52、外部(bu)數據存儲(chu)器(qi)W24257S、串口(kou)電平轉換芯片(pian)MAX3226、安全IC卡(ka)(ka)座(即(ji)SAM卡(ka)(ka)座)、應用IC卡(ka)(ka)座、鍵盤口(kou)供電的串口(kou)通(tong)信線及其(qi)它(ta)相關元(yuan)器(qi)件組成。
圖2所(suo)(suo)示(shi)為(wei)通過(guo)PC機控制(zhi)管理的(de)(de)外置于PC機的(de)(de)接(jie)觸式(shi)CPUIC卡讀寫(xie)(xie)器(qi)。通過(guo)定制(zhi)的(de)(de)數(shu)據線(xian),該讀寫(xie)(xie)器(qi)的(de)(de)5V直流電源可(ke)直接(jie)由鍵盤口提供(gong)(gong),同時(shi)數(shu)據線(xian)還(huan)(huan)負(fu)責PC機與讀寫(xie)(xie)器(qi)的(de)(de)串行(xing)數(shu)據交(jiao)換(huan)。在大部分(fen)IC卡讀寫(xie)(xie)應(ying)用(yong)中,都涉(she)及到IC卡的(de)(de)認證(zheng)(zheng)和數(shu)據讀寫(xie)(xie)的(de)(de)國解(jie)密問題,所(suo)(suo)以(yi)本讀寫(xie)(xie)器(qi)除了(le)(le)提供(gong)(gong)一個供(gong)(gong)用(yong)戶使用(yong)的(de)(de)IC卡接(jie)口卡座外,還(huan)(huan)內置了(le)(le)一個SAM卡,即安全(quan)IC卡卡座,以(yi)方便安裝SAM卡,保證(zheng)(zheng)應(ying)用(yong)IC卡讀寫(xie)(xie)時(shi)的(de)(de)數(shu)據安全(quan),保護(hu)用(yong)戶的(de)(de)利益。
硬件(jian)的(de)其(qi)它組成部(bu)分,如(ru)處理器(qi),目(mu)前(qian)采用Atmel的(de)89C52。其(qi)4KB的(de)Flash程(cheng)序(xu)存(cun)儲器(qi)可以滿足(zu)讀(du)寫器(qi)的(de)程(cheng)序(xu)空間需(xu)要(yao)。由于PC機與89C52、89C52與TDA8007的(de)數據(ju)(ju)交換(huan)要(yao)求的(de)暫(zan)存(cun)數據(ju)(ju)空間比較大,89C52提供的(de)256字(zi)節(jie)不夠,需(xu)外(wai)加一片(pian)數據(ju)(ju)存(cun)儲器(qi)。本讀(du)寫器(qi)中使用的(de)是華邦的(de)W24257S。其(qi)有32KB存(cun)儲容量(liang),IC接口部(bu)分的(de)主要(yao)芯片(pian)為Philips的(de)TDA8007。
4IC卡接口芯片應用
下面介紹一下TDA8007及其應用。TDA8007的原理結構(gou)如(ru)圖3所示。
TDA8007芯(xin)片(pian)能(neng)(neng)夠提(ti)供(gong)(gong)兩個(ge)能(neng)(neng)同時滿足(zu)ISO7816標(biao)準及(ji)(ji)EMV和GSM11-11標(biao)準的(de)(de)IC卡(ka)(ka)(ka)讀寫接(jie)(jie)口。在本(ben)讀寫器中(zhong),一個(ge)用(yong)(yong)于與(yu)(yu)應(ying)(ying)用(yong)(yong)IC通(tong)(tong)信(xin)(xin)(xin),另一個(ge)用(yong)(yong)于與(yu)(yu)安全IC卡(ka)(ka)(ka)通(tong)(tong)信(xin)(xin)(xin)。與(yu)(yu)上文CPU卡(ka)(ka)(ka)的(de)(de)觸點圖相(xiang)對應(ying)(ying),CLKi、RSTi、VCCi、I/Oi、GNDCi、PRESi、C4i、C8i(其中(zhong)i=1,2;C4i、C8i未用(yong)(yong);PRESi可(ke)用(yong)(yong)于檢(jian)測IC卡(ka)(ka)(ka)是否插入。具體應(ying)(ying)用(yong)(yong)可(ke)參(can)看TDA8007的(de)(de)技術文檔(dang))都直接(jie)(jie)由(you)TDA8007提(ti)供(gong)(gong)給(gei)IC卡(ka)(ka)(ka)接(jie)(jie)口相(xiang)連,MCU只需通(tong)(tong)過(guo)(guo)其接(jie)(jie)口控制并行通(tong)(tong)信(xin)(xin)(xin)來管理(li)(li)TDA8007,便可(ke)實現對IC卡(ka)(ka)(ka)的(de)(de)上電、下電及(ji)(ji)讀寫數據(ju)處(chu)(chu)理(li)(li)。其中(zhong),微處(chu)(chu)理(li)(li)器既可(ke)以通(tong)(tong)過(guo)(guo)總(zong)線(xian)復用(yong)(yong)把(ba)TDA8007內(nei)部的(de)(de)所有寄(ji)存(cun)器作(zuo)為外部存(cun)儲器,用(yong)(yong)MOVX尋址(zhi),也可(ke)以通(tong)(tong)過(guo)(guo)非總(zong)線(xian)復用(yong)(yong)方式訪問(wen),此時TDA8007用(yong)(yong)AD0~AD3來區分內(nei)部各(ge)寄(ji)存(cun)器。另外,TDA8007的(de)(de)片(pian)選信(xin)(xin)(xin)號和外部中(zhong)斷信(xin)(xin)(xin)號線(xian)可(ke)以方便讀寫器處(chu)(chu)理(li)(li)多個(ge)IC卡(ka)(ka)(ka)頭。TDA8007的(de)(de)特(te)別硬件ESD處(chu)(chu)理(li)(li)、接(jie)(jie)口短路處(chu)(chu)理(li)(li)、電源(yuan)出錯(cuo)處(chu)(chu)理(li)(li)等也給(gei)IC卡(ka)(ka)(ka)和IC卡(ka)(ka)(ka)讀寫器提(ti)供(gong)(gong)了比較(jiao)高(gao)的(de)(de)安全保護;同時,TDA8007內(nei)部集(ji)成的(de)(de)電源(yuan)管理(li)(li)功能(neng)(neng)允許TDA8007的(de)(de)供(gong)(gong)電范圍可(ke)達2.7~6.0V,并且TDA8007通(tong)(tong)過(guo)(guo)電源(yuan)管理(li)(li)可(ke)以給(gei)IC卡(ka)(ka)(ka)提(ti)供(gong)(gong)5.0V、3.0V及(ji)(ji)1.8V的(de)(de)電源(yuan),以適合不同工作(zuo)電壓的(de)(de)IC卡(ka)(ka)(ka)應(ying)(ying)用(yong)(yong)。
圖3IC卡(ka)接口芯(xin)片TDA8007的(de)原理框圖
本讀(du)寫器(qi)(qi)是(shi)通過總(zong)線(xian)復用對(dui)(dui)(dui)TDA8007的(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)寄(ji)存(cun)(cun)(cun)(cun)(cun)器(qi)(qi)進行(xing)控制的(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)。其中MCU的(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)P1.5為TDA8007的(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)片選,P0口為與之通信的(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)8位數據線(xian),TDA8007的(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)各寄(ji)存(cun)(cun)(cun)(cun)(cun)器(qi)(qi)預先被宏定(ding)義(yi)的(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)成(cheng)微(wei)處理(li)器(qi)(qi)的(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)一個(ge)(ge)外(wai)部數據單元(下(xia)面電程序(xu)處的(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)定(ding)義(yi)),從(cong)而方便MCU訪(fang)(fang)問。下(xia)面結合(he)TDA8007寄(ji)存(cun)(cun)(cun)(cun)(cun)器(qi)(qi)的(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)定(ding)義(yi)和(he)位分(fen)配,給出(chu)應用TDA8007接(jie)口芯片對(dui)(dui)(dui)IC卡(ka)(ka)進行(xing)上(shang)電激活和(he)下(xia)電的(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)程序(xu)。TDA8007的(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)寄(ji)存(cun)(cun)(cun)(cun)(cun)器(qi)(qi)主要(yao)三(san)類(lei)(lei)。第一類(lei)(lei),通用寄(ji)存(cun)(cun)(cun)(cun)(cun)器(qi)(qi):①卡(ka)(ka)槽選擇CSR;②硬件狀(zhuang)態HSR;③定(ding)時器(qi)(qi)TOR1、TOR2、TOR3。第二類(lei)(lei),ISO7816串行(xing)處理(li)寄(ji)存(cun)(cun)(cun)(cun)(cun)器(qi)(qi):①串行(xing)狀(zhuang)態USR;②混合(he)狀(zhuang)態MSR;③串行(xing)發(fa)送UTR;④串行(xing)接(jie)收URR;⑤隊列(lie)控制FCR。第三(san)類(lei)(lei),卡(ka)(ka)專(zhuan)屬寄(ji)存(cun)(cun)(cun)(cun)(cun)器(qi)(qi):①可編程分(fen)頻PDR;②保護時間GTR;③串行(xing)控制UCR1、UCR2;④時鐘(zhong)配置CCR;⑤上(shang)電控制PCR。注意:對(dui)(dui)(dui)于(yu)卡(ka)(ka)專(zhuan)屬的(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)寄(ji)存(cun)(cun)(cun)(cun)(cun)器(qi)(qi),即卡(ka)(ka)接(jie)口1、卡(ka)(ka)接(jie)口2分(fen)別對(dui)(dui)(dui)應的(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)寄(ji)存(cun)(cun)(cun)(cun)(cun)器(qi)(qi),邏輯上(shang)具(ju)有(you)相同的(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)名及(ji)訪(fang)(fang)問地(di)址,因而,對(dui)(dui)(dui)不(bu)同的(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)瞳操作,需要(yao)通過CSR選擇對(dui)(dui)(dui)應的(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)卡(ka)(ka)槽來切換卡(ka)(ka)專(zhuan)卡(ka)(ka)屬寄(ji)存(cun)(cun)(cun)(cun)(cun)器(qi)(qi)的(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)映射的(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)物理(li)空間。所以,接(jie)口設(she)備(bei)每次從(cong)一個(ge)(ge)卡(ka)(ka)的(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)上(shang)下(xia)電或讀(du)寫轉(zhuan)向(xiang)另一卡(ka)(ka),都需要(yao)訪(fang)(fang)CSR設(she)定(ding)對(dui)(dui)(dui)應的(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)卡(ka)(ka)槽。對(dui)(dui)(dui)于(yu)每個(ge)(ge)寄(ji)存(cun)(cun)(cun)(cun)(cun)器(qi)(qi)的(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)位定(ding)義(yi)不(bu)再多述,主動性者(zhe)可參看TDA8007的(de)(de)(de)(de)(de)(de)(de)(de)(de)(de)技術文檔。
5上下電(dian)過程及(ji)具體程序
圖4為IC卡(ka)(ka)(ka)的(de)(de)上(shang)(shang)電時(shi)序圖。要(yao)(yao)實現(xian)之,需對(dui)(dui)PCR進行寫操(cao)作。其中START=PCR.0,RSTIN=PCR.2,VUP上(shang)(shang)升表(biao)示(shi)激活(huo)(huo)了(le)TDA8007中的(de)(de)電壓轉換(huan)電路。當(dang)START置高(gao)時(shi),只要(yao)(yao)能(neng)(neng)檢測(ce)到(dao)選(xuan)定(ding)卡(ka)(ka)(ka)槽(cao)中的(de)(de)IC卡(ka)(ka)(ka)存在(zai)(zai),且沒有TDA8007能(neng)(neng)檢測(ce)到(dao)并在(zai)(zai)HSR中指示(shi)的(de)(de)硬件錯誤(wu)出現(xian),則(ze)對(dui)(dui)應(ying)IC卡(ka)(ka)(ka)接口的(de)(de)VCC1或(huo)VCC2將能(neng)(neng)被(bei)提供(gong)響應(ying)的(de)(de)電平(ping)(5V、3V或(huo)1.8V)。隨(sui)(sui)后(hou)對(dui)(dui)應(ying)卡(ka)(ka)(ka)的(de)(de)I/O數(shu)據線被(bei)置成高(gao)狀(zhuang)態(Z狀(zhuang)態),給IC卡(ka)(ka)(ka)提供(gong)設定(ding)的(de)(de)時(shi)鐘信(xin)號,常用為3.5712MHz。大約在(zai)(zai)START置高(gao)108ETU后(hou),RSTIN置高(gao)。因為RST為RSTIN的(de)(de)拷貝,則(ze)對(dui)(dui)應(ying)卡(ka)(ka)(ka)的(de)(de)RST被(bei)置高(gao)。然后(hou),用TDA8007提供(gong)的(de)(de)定(ding)時(shi)器TOR3、TOR2設定(ding)對(dui)(dui)ATR(AnswerToRequest)即復(fu)位應(ying)答首(shou)字(zi)節(jie)(jie)的(de)(de)最大等待(dai)時(shi)間120ETU(ElementTimeUnit),TOC設定(ding)定(ding)時(shi)器工作方式,便(bian)開始等待(dai)ATR首(shou)字(zi)節(jie)(jie)到(dao)來后(hou)做相應(ying)處理(li)。至此,IC卡(ka)(ka)(ka)上(shang)(shang)電激活(huo)(huo)工作完成,隨(sui)(sui)后(hou)可(ke)以根據ATR字(zi)節(jie)(jie)的(de)(de)要(yao)(yao)求的(de)(de)工作方式對(dui)(dui)IC卡(ka)(ka)(ka)進行相應(ying)的(de)(de)讀寫處理(li)。具(ju)體見上(shang)(shang)電程序。
圖4TDA8007產生滿足ISO7816標準(zhun)訴IC卡上電激活時序
TDA8007寄存器(qi)訪問的預定義(yi)
#include<absacc.h>
#defineXXXXBYTE[0x8000]//XXX表示CSR等各寄存器上電(dian)程序如下:
P1.5=0;//片(pian)選TDA8007
CSR&=0xf8;
CSR|=ncard;//選(xuan)擇卡(ka),ncard=1,2
CSR&=0xf7;
CSR|=0xf7;
CSR|=0x08;//復(fu)位(wei)UART的寄存器(qi)
UCR2&=0xf7;//異步(bu)模式,SAN=0
CCR&=0xdf;//時鐘停止于(yu)低(di)電平
UCR2|=0x60;//關閉附加中(zhong)斷及收發中(zhong)斷
GTR=0xff;//保持時(shi)間(jian)12ETU
If(v==1)//v為(wei)函數變量
PCR|=0x08;//1.8V卡用
elseif(v==3)
PCR|=0x02;//3V卡用
Else
PCR&=0xfd;//5V卡用
UCR2&=0xfc;//CKU=PSC=0,--31
FCR=0x00;//1奇偶(ou)校驗1FIFO
PDR=0x0c;//Divider=12
CCR=0x00;//不分(fen)頻(pin)
PCR&=0xfb;//RSTIN=0
UCR2|=0x04;//不(bu)自動轉(zhuan)換
UCR1=0x01;//正向約定
UCR1&=0xf7;//接(jie)收模式
flag3=0;//復位定(ding)時標(biao)志(zhi)
flagatr=0;//接(jie)收ATR首字節定時(shi)標志
PCR|=0x01;//激活
TOR2=0x6c;
TOR3=0x00;
TOC=0x61;//RST拉高(gao)前等待(dai)108ETU
while(flag3==0);//定時(shi)時(shi)間到,在(zai)中斷中設置(zhi)flag3=1
TOC=0x00;//關閉定時器
PCR|=0x04;//給(gei)復位拉高
TOR2=0x78;
TOR3=0x00;
TOC=0x61;//RST拉(la)高前(qian)等待(dai)
flagatr=1;
ATR();//復位(wei)應(ying)答處理函數
圖5為IC卡的下(xia)(xia)電(dian)時(shi)序(xu)圖。相(xiang)對(dui)(dui)于上電(dian)時(shi)序(xu),下(xia)(xia)電(dian)過程對(dui)(dui)時(shi)間的要求不是(shi)很嚴格,只(zhi)要設(she)計(ji)者控制TDA8007按照一定的順(shun)序(xu)置低START、RSTIN和停止CLK即可,然后TDA8007會自動逐步釋放RST、I/O、Vcc及VUP。具體處理見下(xia)(xia)電(dian)程序(xu)。
下電程序:
P15=0;
PCR&=0xfe;//START=0;下電(dian)
PCR&=0xfb;//卡的復位腳保持0
CCR&=0xdf;//停止時鐘于低
CCR|=0x10;//停(ting)止時鐘
P15=1;
6使用TDA8007應當注意的問題
TDA8007對于(yu)Vcc、RST出(chu)錯(cuo),芯(xin)片過熱(如圖IC卡(ka)(ka)為電源短路(lu)卡(ka)(ka)或金屬片),或IC卡(ka)(ka)插入拔出(chu)時都會(hui)產生中(zhong)斷輸出(chu)。每次中(zhong)斷處理結束,應注(zhu)意把(ba)HSR中(zhong)的(de)值讀入一個臨時地址,以便清楚HSR中(zhong)的(de)標志。
每(mei)次發(fa)送(song)數據(ju)到IC前(qian),即接收IC卡的(de)最后一個數據(ju)之前(qian),應設置寄存器UCR1中的(de)LCT位,以(yi)便(bian)接收完IC卡的(de)數據(ju)后,自動切換成發(fa)送(song)狀(zhuang)態。
對TDA8007部分布線時(shi)(shi)應注(zhu)意,時(shi)(shi)鐘(zhong)信號線與其它線的隔離:最好被(bei)地線包圍。
對(dui)于電路(lu)板上TDA8007部分的電容應(ying)盡(jin)量靠近TDA8007,其(qi)中(zhong)電容Cap、Cbp、Cup尤其(qi)如此,并(bing)最好(hao)不要(yao)在這些電容連向TDA8007引(yin)腳過(guo)(guo)程中(zhong)使用過(guo)(guo)孔(kong);同時,Cap、Cup、Cbp電容的ESR要(yao)盡(jin)量小(xiao)。
對TDA8007處(chu)(chu)理(li)的兩個(ge)IC卡座中的任何一個(ge)執(zhi)行上電、下電、讀寫(xie)卡操作(zuo)之(zhi)前,必須執(zhi)行選擇卡座的操作(zuo)函數,以(yi)便選中具體的IC卡進行處(chu)(chu)理(li)。
對IC卡操作(zuo)中(zhong)上電時(shi)序中(zhong)的定時(shi),讀寫卡字節間等(deng)待(dai)定時(shi)等(deng)都可(ke)使用TDA8007中(zhong)的定時(shi)器及定時(shi)控制(zhi)器操作(zuo),注(zhu)意其定時(shi)器為向下計數(shu)方式。
結語
本(ben)文主要(yao)從CPUIC卡的(de)(de)T=0的(de)(de)協(xie)議出發,介紹此類IC讀寫器設計的(de)(de)一些技術問題(ti)。值得指出的(de)(de)是,T=0協(xie)議僅僅是IC卡與外界數據交換的(de)(de)一種(zhong)傳輸協(xie)議,只要(yao)在軟件上適(shi)當修改并利用(yong)接口芯片TDA8007突出的(de)(de)處理能力,本(ben)讀寫器完(wan)全可以實現對(dui)其它ISO7816卡、EMV、GSM`11-11卡的(de)(de)讀寫。