首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 维修教程知识 > 单片机栏
Mifare系列射频卡读写器的研制
来源:本站整理  作者:佚名  2009-07-13 10:06:45



1  引言
IC卡按卡与外界数据传送的形式不同,分为接触式IC卡和非接触式 IC卡。接触式IC卡通过8个触点从读写器获取能量和交换数据;非接触式IC卡通过射频感应从读写器获取能量和交换数据,所以非接触式IC卡又叫射频卡。现在常见的是接触式IC卡,这类卡的读写操作速度较慢,操作也不方便,每次读写时必须把卡正确地插入到读写器的口槽才能完成数据交换。这样,在公交、考勤等需要频繁读写卡的场合就很不方便,而且IC卡的触点暴露在外,容易损坏和搞脏而造成接触不良。非接触式IC卡是根据电磁感应原理产生的。它的读写操作只需将卡片放在读写器附近一定的距离之内就能实现数据交换,无需任何接触,使用非常方便、快捷,不易损坏。因此,在公交、门禁、校园、企事业人事管理等方面有广泛的应用前景。目前我国引进的射频IC卡主要有PHILIPS公司的Mifare卡和ATMEL公司的Temic卡[1]。而PHILIPS公司的 Mifare卡现在是市场的主流产品,应用越来越广。其典型型号为Mifare1 S50,它有1K字节E2PROM用于存放数据,分成16个区,每个区都有自己独立的密码,完善的安全机制使之具有一卡多用的特性[2]。
Mifare 卡是一种智能卡(smart card),内建有中央微处理机(MCU)和ASIC等,使卡在安全保密性、认证逻辑、算术运算等微操作控制有序进行。 Mifare卡读写器的设计一般用PHILIPS公司生产的读写模块MCM200或MCM500。随着技术的进步,PHILIPS公司现在生产了功能及性能更好的读卡芯片,我们就是以这种芯片为基础来设计和开发Mifare射频卡读写器。

2  工作原理
射频IC卡读写器以射频识别技术为核心,读写器内主要使用了1 片Mifare卡专用的读写处理芯片(MF RC500)。它是一个小型的最大操作距离达100mm的Mifare读/写设备的核心器件,其功能包括调制、解调、产生射频信号、安全管理和防碰撞机制。内部结构分为射频区和接口区:射频区内含调制解调器和电源供电电路,直接与天线连接;接口区有与单片机相连的端口,还具有与射频区相连的收/发器、 64字节的数据缓冲器、存放3套寄存器初始化文件的E2PROM、存放16套密钥的只写存储器以及进行三次证实和数据加密的密码机、防碰撞处理的防碰撞模块和控制单元。这是与射频卡实现无线通信的核心模块,也是读写器读写Mifare卡的关键接口芯片。
读写器工作时,与Mifare卡专用的读卡芯片(MF RC500)相连的天线线圈[3]不断地向外发出一组固定频率的电磁波(13.56MHz),当有卡靠近时,卡片内有一个LC串联谐振电路,其频率与读写器的发射频率相同,这样在电磁波的激励下,LC谐振电路产生共振,从而使电容充电有了电荷。在这个电容另一端,接有一个单向导电的电子泵,将电容内的电荷送到另一个电容内存储。当电容器充电达到2V时,此电容就作为电源为卡片上的其他电路提供工作电压,将卡内数据发射出去或接收读写器发来的数据与保存。

3  系统组成
非接触式IC卡应用系统由Mifare卡、发卡器、读卡器和 PC管理机组成,如图1所示。其中Mifare卡存放身份号(PIN)等相关数据,由发卡器将密码和数据一次性写入完成。发卡器实际上是一种通用写卡器,直接与PC机的RS-232串行口相连或经过RS-485网络间接与PC机相连,由系统管理员管理,通过PC机设置或选择好要写入的数据,发出写卡命令完成对Mifare卡的数据及密码的写入。与读卡器不同,发卡器往往处于被动地位,不主动读写进入射频能量范围内的射频卡,必须接收PC机的命令才操作,即必须联机才能工作;而读卡器往往可以脱离PC管理机工作。读卡器是主动操作的,只要有非接触式IC卡进入读卡器天线射频能量范围,读卡器便可读写卡中相关指定扇区的数据。

图1     典型射频卡应用系统组成框图
发卡器与读卡器在硬件设计上大同小异,都是由单片机控制专用读写芯片(MF RC500),再加上一些必要的外围器件组成。图2为读卡器硬件系统组成。读卡器用P89C58BP单片机作主控制器;MF RC500射频芯片作为单片机与射频卡通讯的中介;74HC595作显示驱动器驱动LED数码显示器,PS/2总线作为通用编码键盘接口,键盘与LED显示器作为人机交互接口;AT24C256串行E2PROM作数据存储器;DS1302串行时钟芯片作硬件实时时钟;MAX232或MAX485作串口信号转换;DS1232作看门狗定时器;Q9012三极管作提示报警信号驱动,有卡进入并读卡成功指示灯闪一下,喇叭叫一声。Mifare射频卡进入距离射频天线100mm内,读卡器就可以读到卡中的数据。读卡器读到Mifare射频卡中的数据后,系统单片机要将所读数据及刷卡的时间一起存入存储器 AT24C256,并在LED显示器上显示卡数据。没有卡进入读卡器工作范围时,系统读出实时时钟芯片中的时间,在显示器上显示当前时间。读卡出错,显示出错标志。主控器P89C58BP内部有32KB的Flash存储器,256字节RAM,可方便反复擦写、修改程序,同时,由于外部不用扩展程序存储器,可以简化电路设计,减小读卡器的尺寸,同时有较多的I/O口提供给系统使用。

图2     读卡器硬件系统组成


4  硬件设计
4.1  射频芯片
MF RC500是Philips公司为Mifare卡设计的专用读卡芯片,它与非接触式IC卡之间通讯标准兼容ISO14443A,其功能框图如图3所示[4]。

图3     MF RC500功能框图
它内部包括微控制器接口单元、模拟信号处理单元和ISO14443A规定的协议处理单元,以及 Mifare卡特殊的Crypto1安全密钥存储单元。它可以与所有兼容Intel或Motorola总线的微控制器实现8位并行“无缝”接口(直接连接),其内部还具有64个字节的先进先出(FIFO)队列,可以和微控制器之间高速传输数据;其片内的ISO14443A协议处理单元包括状态和控制单元、数据转换处理单元;片内的模拟单元能够将数字信号处理单元的数据信息调制并发送到天线中,也可以将天线接收到的信息解调成数字信号传送给协议处理单元,带有一定的天线驱动能力。
MF RC500的工作频率为13.56MHz,它可以在有效的发射空间内形成一个13.56MHz的交变电磁场,为处于发射区域内的非接触式IC卡提供能量,同时卡或RC500需要传送的数据信息也被调制在这个频率上。RC500与非接触式IC卡之间能量的传递和数据双向传输的过程是初级和次级两个线圈之间的耦合过程,从读卡器发射给卡的数据信息在调制前采用弥勒(Miller)编码,而从卡到读卡器的数据信息采用曼彻斯特编码。
4.2  实时时钟
刷卡时要记录刷卡的时间,用外接硬件实时时钟芯片的办法,为系统提供一个准确可靠的时钟,用3V备用电池保证在系统掉电时也能正常走时。我们选用体积小、接口简单的实时时钟芯片DS1302。它是美国DALLAS公司推出的低功耗串行通信接口专用芯片,采用3线串行方式与单片机进行数据通信。DS1302片内还有31字节的静态RAM,可自动进行闰年补偿。数据可按单字节方式或多字节突发方式传送。DS1302为8脚DIP封装[5],与P89C58串行接口用3根线,SCLK接CPU的P2.2,同步时钟输入;RST接CPU的P2.3,通信允许信号;I/O接CPU的P2.4,串行数据输入输出。此外, X1,X2接32768Hz的石英晶振;Vcc1接3V备用锂电池,主电源接Vcc2。
每个数据传输都是先送命令字节,随后才是数据。单字节方式传送时,在RST=1期间(RST必须为1数据传送才有效),先送命令字节,紧接着发送一个字节的数据,DS1302在接收到命令字节后自动将数据写入指定的内部地址或从该地址读取数据。写数据在SCLK的上升沿有效,读数据是在SCLK的下降沿有效。多字节突发方式传送时,在命令字节后,是多个字节的数据。在RST=1期间,DS1302接收到命令字节后,接着进行8个字节日历时钟数据或31个字节内部RAM单元数据的读写操作。DS1302内部寄存器地址中,00H-06H分别对应存放秒、分、时、日、月、星期、和年信息的寄存器,07H为写保护控制寄存器,08H为电池充电控制寄存器。时钟数据以 BCD码格式存放在00H-06H这7个寄存器中。在DS1302中串行数据传送都是低位在前,高位在后,这与AT24C256的数据传送正好相反。

[1] [2]  下一页

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:224,210.90000 毫秒