摘 要:智能卡是一类具备较强的逻辑和数据处理能力的ic卡,目前在 很多领域都有着非常广泛的应用。智能卡读写器则主要是为相关用户提供一个使用智能卡的 功能平台,是智能卡应用和开发中的关键环节之一。介绍了一种智能卡读写器的设计和 实现,提出了其硬件组成和相关软件协议方面的有关解决方案,详细分析了读写器与用户端 之间的应用接口,并对其与cos端的命令接口进行了讨论。实践证明,读写器结构可靠、性 能稳定,特别在通用性和批数据处理方面表现突出。
关键词:智能卡;硬件结构;操作协议;cos命令接口
design and realization of a r/w device for smart card
yang zhifeng,wang zhixin
(pla information engineering university,zhengzhou,450004,china )
abstract:smart card is a kind of ic card that having stronge r power on processing of logic and datait is widely used in lots of fieldsth e r/w device for smart card is mainly provide a functioning platform to users,it′s a key portion of application and development to smart cardthispap er mainly introduces the design and realization of a r/w device for smart card,i ncluding the hardware configuration and the software protocol,also gives a briefanalysis of the interface between the users and r/w device and discusses the co mmand interface to cosit is proved by practice that this kind of r/w devic e have a good structure and steadying function, specially the allpurpose and the power on dealing with the group data
keywords:smart card; hardware structure;operating protocol;command interface to cos
1引言
智能卡也称cpu卡,是一类将处理器、存储设备和一定规模的操作系统集成一体,具备较强 功能和较高安全性的ic卡。智能卡读写器是智能卡应用过程中卡与用户间的交互平台,是 能将数据信息“写入”卡和将卡内部的数据信息“读出”的接口体系,是开发智能卡相关产 品及系统集成所必备的前端处理设备。本文阐述了设计实现一种基于智能卡应用的ic卡 读写器。此读写器在智能卡应用的基础上突出通用性,能够对以智能卡为主的各类ic卡 进行操作。根据目前智能卡应用中的实际需求,读写器主要具备以下基本功能:
(1) 向ic卡提供稳定的电源和时钟信号。
(2) 实现读写器与ic卡之间的数据交换,并提供控制信号。
(3) 具有和外部用户交换信息的接口,并提供相应的控制信号。
(4) 有基本的加/解密安全体系。
(5) 适用于对多种ic卡的操作。
设备同时具有开放性的软、硬件接口,能够与pc机等用户平台进行连接,从而为后期用户提 供良好的二次开发方面的支持。
2硬件结构
读写器的硬件组成如图1所示。包括电源、单片机系统、rs 232接口、ic卡读写接口、多路 时钟系统和复位电路等几个主要部分。
单片机系统由89c52cpu、三态地址锁存器和静态存贮器组成。89c52的p0口与三态地址锁存 器形成地址总线的低8位,即a0~a7,以及数据总线d0~d7;89c52的p2.0~p2.6形成地址 总线的高8位,即a8~a12。静态存贮器用于保存读写器运行过程中预设的一系列软件指令。串行接口用于实现读写器与用户端设备,如pc机等之间的数据通信。在当前系统中采用了一片max232,其中的rxd、txd做为数据的i/o通道接cpu串行口,完成读写器cpu与外部间的数据交换。同时,外部用户端还可通过串口的rts信号对ic卡读写器进行软件上的复位。
通用的智能卡多为异步型cpu卡,在其时钟方面多需要不同的控制和发生体系。因此在读写 器中设置有专门的时钟电路和时钟控制电路,主要由74ls253双四选一电路及d触发器等组成 。晶振提供的脉冲经分频产生时钟信号分别送到四选一电路输入端。另外2个输入端分别接地和t0(89c52cpu的t0引脚),t0信号通过软件编程分频后向ic卡提供时钟信号,时钟频率、脉冲宽度可由具体编程决定。四选一电路的选择控制端分别接p1.0和p1.1、p1.0和p1.1,分别对应于不同的频率关系。
在读写器的硬件构成上,还提供有上/下电控制电路。这部分电路用于控制对卡的上电和下 电操作,也就是提供对卡的电源开关控制。主要由89c52的p1.7、r3,r4和三极管q2等组成开关电路来控制对卡的上/下电。当需要给ic卡加电时,通过预先设定的程序使p17置“0”,使q2导通,vcc通过q2将cvcc送至ic卡;当i c卡下电时,置p1.7为“1”使q2截止,从而禁止向ic卡供电。详细电路如图2所示。
作为用户与ic卡之间的交互平台,读写器需要分别建立与外部用户和内部ic卡之间的数据通 信体系