用户名密码 [免费注册] [找回密码] 推广技巧 发布求购 建商铺  发产品  会员体制比较  
 

IC卡读/写器的设计分析

来源:eefocus  作者:本站收录  发布时间:2018-02-27 10:22:18  字体:[ ]

关键字:IC卡  读写器  单片机  

摘   要:我国正在致力于经济信息化建设,其中以“金桥”、“金卡”及“金关”三金工程为代表。“金卡”工程(电子货币工程)是推进我国国民经济信息化的重要工程之一。它以磁卡或IC卡为媒介,利用邮电部和中国人民银行现有的网络资源,并通过“金桥”网构成经济信息系统,为银行、商贸和旅游等部门服务。

  IC卡(Integrated Circuit Card)是将一个集成电路芯片嵌在塑料基片中,封装为卡片形式。IC卡最早是在20世纪70年代初提出来的,由法国布尔(BULL)公司于1976年首先创造出来,并将这项技术应用到金融、交通、医疗、身份证及餐饮等多个行业。

  我国正在致力于经济信息化建设,其中以“金桥”、“金卡”及“金关”三金工程为代表。“金卡”工程(电子货币工程)是推进我国国民经济信息化的重要工程之一。它以磁卡或IC卡为媒介,利用邮电部和中国人民银行现有的网络资源,并通过“金桥”网构成经济信息系统,为银行、商贸和旅游等部门服务。由于IC卡相对磁卡而言,不但具有防水、防潮、防磁和极高的安全、保密、防伪能力,而且使用寿命长,因而是“金卡”工程的首选产品。

  一、IC卡简介

  IC卡芯片具有写入数据的存储数据的能力。根据嵌入卡中的集成电路的不同,可以分成以下三类。

  ●存储器卡:卡中的集成电路为E2 PROM;

  ●逻辑加密卡:卡中的集成电路具有加密逻辑和Ez PROM;

  ●CPU卡:卡中r集成电路包括中央处理器CPU、E2 PROM、随机存储器RAM以及固

  化在只读存储器ROM中的片内操作系统COS(Chip Operating System)。

  IC卡按与外界数据传递的形式分为接触型IC卡和非接触型IC卡。当前广泛使用的是接触型IC卡。

  由于IC卡类型不同,因而有不同的读/写方式及硬件要求。我们在开发IC卡读/写器时,使用的是美国ATMEL公司生产的AT24COIA存储器型IC卡。AT24COIA的容量为1K位(128×8),擦写次数为100 000周期,数据存储期为100年。这种IC卡使用的模块符合ISO/IEC7816协议,其触点的安排见表1- 38和图1- 123。

IC卡读/写器的设计分析

  二、硬件电路设计

  本节所设计的IC卡读/写器的硬件框图见图1- 124。

IC卡读/写器的设计分析

  IC卡读/写器电路是以8031单片机为主,辅以2764、6264、8279等芯片组成的。整个电路分为三部分:基本单片机系统、显示和键盘电路及IC卡接口电路。

  基本单片机系统电路由8031单片机、8KROM2764、8K RAM6264和用于地址锁存的74LS373等芯片组成;显示和键盘电路由8279芯片、LED显示器和驱动芯片组成。采用8279芯片可使编程简单,节省8031的硬件资源。

  IC卡接口电路由双向模拟开关和上拉电阻组成。由于IC卡有其独特的电气特性,所设计的硬件电路必须符合其电性能要求。

  根据IC卡的电气特性设计的硬件电路见图1- 125。

IC卡读/写器的设计分析

  由于IC卡为存储器芯片,若接口硬件设计不当,轻则缩短IC卡使用寿命,重则会烧坏IC卡;而合理的设计会对卡有保护作用,因而增强IC卡的读/写可靠性和延长使用寿命。本节所设计的IC卡读/写器,从各方面采取了不同的措施,尽可能避免了对卡的损伤。

  在IC卡的使用过程中,由于接触式IC卡是由人工插拔来完成1次读/写的,而在插拔过程中,IC卡处于不稳定接触状态。如果在这种情况下IC卡的接口设备带电,则无疑会对卡造成损伤。因此,在插拔过程中,IC卡接口设备绝不允许带电。

  在IC卡的卡座上一般都有1个状态开关,卡座上有无卡可由开关信号反映出来。因此通过判断此开关信号可以知道卡的有无,从而控制lC卡接口设备的上、下电。判断此开关信号既可通过查询方式,也可通过中断方式。但查询方式的响应速度慢,尤其对于拔卡动作。由于人工拔卡带有很大的随机性,若在读/写过程中突然拔卡,则会导致读/写失败;又由于不能及时去掉接口设备电源,容易损坏lC卡。

  因此,在设计中采用中断方式。将开关信号分别通过“与”、“非”门,经过整形后加到8031的2个外部中断INTO和INT1上。这样,只要插拔IC卡通过中断方式及时响应,切断或接通接口设备电源,就可保护IC卡。

  但是,在插拔过程中,仅仅切断电源还是不能完全避免对卡的损害。为更进一步提高对卡的保护,在设计中将所有与卡直接接触的信号线和电源线都通过CD4066双向模拟开关与IC卡连接起来,并由图1 - 125中的Pl.1来控制CD4066的导通,实现信号和电源的通断。这样,在插拔卡时,利用中断及时响应。在没有卡时,迅速切断与卡有直接连接的信号线和电源线,在硬件上确保了对卡的保护。

  如果IC卡和单片机主机共用同一组电源,它们之间就会产生干扰,尤其是主机对IC卡的干扰。为了避免这种互扰,在设计上采用双电源独立供电法,即IC卡单独由LM317高稳定性电源供电,而主机由7805供电。这样,两组电源分别向1C卡和主机供电,减弱甚至消除了IC卡与主机之间的电源干扰,提高了IC卡的读/写可靠性,保护了IC卡。

  三、软件设计

  下面对AT 24COIA的读/写时序进行分析,并给出程序说明。写字节时序见图l- 126(a)。

  通过时序图可以看出,要写卡必须由开始状态启动,而开始状态一定是在时钟输入SCL的高有效期内;在I/O数据线SDA上有1个由低到高的跳变;紧接着送人器件地址,使卡进行读/写操作。对AT24COIA卡,器件地址高4位一定为1010,最低位为0写卡,为1读卡。信息高位先送出,见图1 - 126(b)。

IC卡读/写器的设计分析

  I/O数据线SDA上的状态变化一定要发生在时钟输入SCL的低有效期间。在时钟的上升沿才把数据送入E2 PROM,而在读卡上数据时,在时钟SCL的下降沿将EZ PROM数据输出,即SDA数据变化也发生在SCL的低有效期。因而一定要在SCL高有效期内才能读取卡的数据。下面给出8031编程实例。

IC卡读/写器的设计分析

  综上所述,写卡时,在时钟SCL低有效期向I/O数据线SDA送人数据;在时钟SCL上升沿将数据写入IC卡。读卡时,在时钟SCL下降沿,卡中数据送入I/O数据线SDA,在相应的时钟SCL高有效期读取这一数据。

IC卡读/写器的设计分析

  写一字节时,由于是串行传送,只能按位进行,且各位必须保证连续性,因此时钟信号SCL频率的选择既要满足卡的动态特性,又要与程序指令执行时间相配合。

  以上原则同样适用于读字节程序。

  该读/写器已成功应用于IC卡全自动粮食收购系统,读/写稳定可靠,应用效果良好。

新闻投稿合作邮箱:yktchina-admin@163.com    字体[ ] [收藏] [进入论坛]

新闻榜
推荐新闻
论坛热帖