一種基于A(yíng)RM和TDA8007B的IC卡接口設計
文章出處:http://psychicreadingswithdeb.com 作者: 人氣: 發(fā)表時(shí)間:2012年03月30日
摘要:針對 ARM CPU和稅控收款機的特點(diǎn),設計開(kāi)發(fā)了 IC卡接口平臺。重點(diǎn)介紹了 S3C2410A與 IC卡控制器 TDA8007B的硬件接口電路連接,并深入分析了 T=0數據交換協(xié)議算法。
1 引言
稅控收款機是一種帶有計稅功能的電子收款機,它內部裝有自動(dòng)記錄但不能更改和抹掉的計稅存儲器。稅控機制由以 IC卡為基礎的發(fā)行、管理、申報、維護、經(jīng)營(yíng)等系統組成。有關(guān)數據由稅務(wù)部門(mén)用專(zhuān)用 IC卡讀出,以便稽查。
在稅控收款機系統中,核心部分就是稅控工 IC卡部件。IC卡主要用于存儲稅控加密信息,和識別收款機操作人員身份,在使用稅控收款機時(shí)需要這兩卡同時(shí)存在,缺一不可。因此,采用接觸式邏輯加密卡作為工程選用的 IC卡,接觸式 IC卡必須符合 ISO7816標準。
本稅控收款機,使用 A、B兩種 IC卡。A卡即稅控卡,記錄稅控收款機原始發(fā)行機構登記的收款機編號,商業(yè)用戶(hù)的稅務(wù)登記號,以及繳稅賬號,以及信息加密私鑰,稅務(wù)機構等信息,保證一機一卡。高級的還可以協(xié)助生成發(fā)票防偽碼并對傳遞的稅控數據進(jìn)行電子簽名。A卡被內置于收款機之中,并有相應措施保護不被非法移動(dòng)。 B卡即用戶(hù)卡,用以完成稅控數據申報、授權、監控數據回送(即完稅)等操作。由于 B卡可能經(jīng)常移動(dòng),故需要使用讀卡器來(lái)讀取其信息。由于 IC卡在收款機工作中特殊的身份標識作用,關(guān)系到商業(yè)用戶(hù)的商業(yè)利益,因此應當具有防偽造,防復制的特點(diǎn),因此在 IC卡上加上條形碼及數字簽名等功能。此外出于安全原因在采用 A、B卡方式后,收款機必須在 A、B卡同時(shí)處于可讀狀態(tài)時(shí)方可正常工作。
為此,在應用中具備 2路 IC卡控制器是必須的,對于一般應用使用 GPIO模擬可以實(shí)現功能,成本較低;亦可以采用獨立的 IC卡控制器來(lái)實(shí)現,這需要付出較多的成本。對于獨立 IC卡控制器通常采用 CPU的 SPI總線(xiàn)、I2C總線(xiàn)、外部總線(xiàn)(Address、Data、CSn、)等配合中斷和 GPIO來(lái)實(shí)現,這種 IC能提供較多的功能,并且可以輕松應付 EMV測試。
2基于 S3C2410A的 IC接口設計
2.1 TDA8007控制器的編程結構
考慮系統穩定性,設計選取了 Philips公司的 IC卡控制器 TDA8007,TDA8007B是通過(guò)其內部的寄存器來(lái)控制操作的。內部的寄存器可分為三大類(lèi):
(1) 通用寄存器:①卡槽選擇 CSR;②硬件狀態(tài) HSR;③定時(shí)器 TOR1、TOR2、TOR3
(2) ISO UART寄存器:①串行狀態(tài) USR;②混合狀態(tài) MSR;③串行發(fā)送 UTR;④串行接收 URR;⑤隊列控制 FCR
(3) 卡驅動(dòng)專(zhuān)用寄存器:①可編程分頻 PDR;②保護時(shí)間 GTR;③串行控制 UCR1、UCR2;④時(shí)鐘配置 CCR;⑤上電控制 PCR
對于卡驅動(dòng)專(zhuān)用寄存器,即卡接口 1、卡接口 2分別對應的寄存器,邏輯上具有相同的名及訪(fǎng)問(wèn)地址,因而,對不同的卡操作,需要通過(guò) CSR選擇對應的卡槽,切換卡驅動(dòng)專(zhuān)用寄存器所映射的物理空間。所以,接口設備每次從一個(gè)卡的上下電或讀寫(xiě)轉向另一卡,都需要訪(fǎng) CSR設定對應的卡槽。
圖 1 TDA8007B寄存器組織結構
圖中 1、2象限是兩個(gè)卡通道公用的通用寄存器及 ISO UART寄存器,3、4象限是兩個(gè)卡通道獨立的完全相同的專(zhuān)用寄存器。
2.2 S3C2410A與 TDA8007B的接口控制
TDA8007提供兩個(gè)同時(shí)滿(mǎn)足 IS07816標準及EMV和GSM11-11標準的IC卡讀寫(xiě)接口。一個(gè)用于與用戶(hù)卡通信,另一個(gè)用于與稅控卡通信。 TDA8007是雙 IC卡驅動(dòng)接口芯片,與 CPU的連接方式有兩種方式:一種是總線(xiàn)復用方式,這主要用于 51系列總線(xiàn)復用的 MCU;另一種方式是非總線(xiàn)復用方式,S3C2410A CPU可以采用此種方式與 TDA8007相連。此外加的 IC卡控制器 TDA8007,可支持兩個(gè) ISO7816接口,適合稅控卡和用戶(hù)卡。
圖 2 IC卡控制器TDA8007B接口連接
TDA8007B的片選控制信號由S3C2410A地址線(xiàn)的第6位、第7位和第8位經(jīng)過(guò) 74HC138 譯碼并借助 nGCS2產(chǎn)生。TDA8007B占用一個(gè)系統中斷,由外部中斷 EINT19接收控制。采用 SN74AHC245用以增強 S3C2410A和 TDA8007B之間的數據傳輸。
ALE在此方式下無(wú)用,固定接地。WR\在此方式下與 CS\作用相同,可把其連接在一起接 CPU控制的譯碼邏輯。
兩個(gè) IC卡讀寫(xiě)模塊,用于讀取稅控 IC卡及用戶(hù) IC卡信息。
第1頁(yè)第2頁(yè) |