一种基于ARM和TDA8007B的IC卡接口设计
文章出处:http://www.nexussmartsolutions.com 作者: 人气: 发表时间:2012年03月30日
摘要:针对 ARM CPU和税控收款机的特点,设计开发了 IC卡接口平台。重点介绍了 S3C2410A与 IC卡控制器 TDA8007B的硬件接口电路连接,并深入分析了 T=0数据交换协议算法。
1 引言
税控收款机是一种带有计税功能的电子收款机,它内部装有自动记录但不能更改和抹掉的计税存储器。税控机制由以 IC卡为基础的发行、管理、申报、维护、经营等系统组成。有关数据由税务部门用专用 IC卡读出,以便稽查。
在税控收款机系统中,核心部分就是税控工 IC卡部件。IC卡主要用于存储税控加密信息,和识别收款机操作人员身份,在使用税控收款机时需要这两卡同时存在,缺一不可。因此,采用接触式逻辑加密卡作为工程选用的 IC卡,接触式 IC卡必须符合 ISO7816标准。
本税控收款机,使用 A、B两种 IC卡。A卡即税控卡,记录税控收款机原始发行机构登记的收款机编号,商业用户的税务登记号,以及缴税账号,以及信息加密私钥,税务机构等信息,保证一机一卡。高级的还可以协助生成发票防伪码并对传递的税控数据进行电子签名。A卡被内置于收款机之中,并有相应措施保护不被非法移动。 B卡即用户卡,用以完成税控数据申报、授权、监控数据回送(即完税)等操作。由于 B卡可能经常移动,故需要使用读卡器来读取其信息。由于 IC卡在收款机工作中特殊的身份标识作用,关系到商业用户的商业利益,因此应当具有防伪造,防复制的特点,因此在 IC卡上加上条形码及数字签名等功能。此外出于安全原因在采用 A、B卡方式后,收款机必须在 A、B卡同时处于可读状态时方可正常工作。
为此,在应用中具备 2路 IC卡控制器是必须的,对于一般应用使用 GPIO模拟可以实现功能,成本较低;亦可以采用独立的 IC卡控制器来实现,这需要付出较多的成本。对于独立 IC卡控制器通常采用 CPU的 SPI总线、I2C总线、外部总线(Address、Data、CSn、)等配合中断和 GPIO来实现,这种 IC能提供较多的功能,并且可以轻松应付 EMV测试。
2基于 S3C2410A的 IC接口设计
2.1 TDA8007控制器的编程结构
考虑系统稳定性,设计选取了 Philips公司的 IC卡控制器 TDA8007,TDA8007B是通过其内部的寄存器来控制操作的。内部的寄存器可分为三大类:
(1) 通用寄存器:①卡槽选择 CSR;②硬件状态 HSR;③定时器 TOR1、TOR2、TOR3
(2) ISO UART寄存器:①串行状态 USR;②混合状态 MSR;③串行发送 UTR;④串行接收 URR;⑤队列控制 FCR
(3) 卡驱动专用寄存器:①可编程分频 PDR;②保护时间 GTR;③串行控制 UCR1、UCR2;④时钟配置 CCR;⑤上电控制 PCR
对于卡驱动专用寄存器,即卡接口 1、卡接口 2分别对应的寄存器,逻辑上具有相同的名及访问地址,因而,对不同的卡操作,需要通过 CSR选择对应的卡槽,切换卡驱动专用寄存器所映射的物理空间。所以,接口设备每次从一个卡的上下电或读写转向另一卡,都需要访 CSR设定对应的卡槽。
图 1 TDA8007B寄存器组织结构
图中 1、2象限是两个卡通道公用的通用寄存器及 ISO UART寄存器,3、4象限是两个卡通道独立的完全相同的专用寄存器。
2.2 S3C2410A与 TDA8007B的接口控制
TDA8007提供两个同时满足 IS07816标准及EMV和GSM11-11标准的IC卡读写接口。一个用于与用户卡通信,另一个用于与税控卡通信。 TDA8007是双 IC卡驱动接口芯片,与 CPU的连接方式有两种方式:一种是总线复用方式,这主要用于 51系列总线复用的 MCU;另一种方式是非总线复用方式,S3C2410A CPU可以采用此种方式与 TDA8007相连。此外加的 IC卡控制器 TDA8007,可支持两个 ISO7816接口,适合税控卡和用户卡。
图 2 IC卡控制器TDA8007B接口连接
TDA8007B的片选控制信号由S3C2410A地址线的第6位、第7位和第8位经过 74HC138 译码并借助 nGCS2产生。TDA8007B占用一个系统中断,由外部中断 EINT19接收控制。采用 SN74AHC245用以增强 S3C2410A和 TDA8007B之间的数据传输。
ALE在此方式下无用,固定接地。WR\在此方式下与 CS\作用相同,可把其连接在一起接 CPU控制的译码逻辑。
两个 IC卡读写模块,用于读取税控 IC卡及用户 IC卡信息。
第1页第2页 |