基于MFRC500的Mifare射频卡读写器设计 - 图文

更新时间:2024-03-31 15:09:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

基于MFRC500的Mifare射频卡读写器设计

屈谛,黄鹤松,薛琳

(山东科技大学 信息与电气工程学院,山东,青岛,266510)

摘要:本文设计了一款基于Philips公司读卡器芯片MFRC500的射频卡读写器.介绍了Mifare 1卡、

MFRC500的特性的基础上,进行了MFRC500与C8051F340单片机接口的硬件和读写器天线设计,并给出了对Mifare卡进行操作的流程。

关键词:读写器;MFRC500;Mifare1卡;RFID

Design of Mifare card reader based on MFRC500

QU Di,HUANG He-song,XUE Lin

(College of Info and Electric Eng.,SUST,Qingdao,Shandong 266510,China )

Abstract: In this paper, designed a RFID reader based on Philips’ reader IC MFRC500.On the base of

introducing Mifare1 card and the characteristic of MFRC 500, We designed reader’s antenna and the interface between MFRC500 and C8051F340, and introduced the process of read and write Mifare card.

Key words: reader;MFRC500;Mifare1 card;RFID

0 引言

近年来射频识别技术(RFID)取得了较快的发展,非接触射频卡由于其高度安全保密性和使用简单等特点,在各领域的应用中异军突起,与传统的条码或磁条识别技术相比,RFID具有非接触、精度高、作用距离远、可动态识别多个数据及应用环境适应性好等优点,在仓储管理、门禁控制、一卡通等众多领域得到广泛的应用与发展。本文中设计了由C8051F340、MFRC500、Mifare1卡构建的非接触式IC卡读写器。

1 Mifare1卡的特性及工作原理

Philips公司开发了无线智能卡芯片Mifare MF1 IC S50,该芯片的通信层遵从ISO/IEC 14443A标准的第二部分和第三部分,保密层使用需经过区域验证的CRYPTO1流密码,使典型的Mifare系列芯片的数据交换得到保密。Mifare1卡属于非接触式IC卡,避免了普通IC卡与读写器之间的物理接触,减少了卡的磨损,识别工作无须人工干预,并且可工作于各种恶劣环境。Mifare1卡内有8kbit的EEPROM,划分为16个扇区,每个扇区分为4段,每段有16个字节,每个扇区用两个不同的密钥防止非法的访问,每个扇区的区尾(段3)为控制块,存放密码A、存取控制位和密码B。

Mifare1卡由一个卷绕天线和ASIC微芯片组成。卡片的工作原理如下:读写器中的Mifare基站向卡发送一组13.56MHz的电磁波,卡片内的LC串联谐振电路在电磁波的激励下产生共振从而使谐振电容内有了电荷,在这个电容的另一端,接有一个单向导通的电子泵,将电容内的电荷送到模块存储电容内存储,当所积累的电荷达到2V以上时,该电容作为电源向电源模块电路提供工作电压,将卡内的数据发射出去或者接收读写器的数据。Mifare1卡的标准操作距离为100mm,与读写器的通信速率可以达到106kb/S。

2 MFRC500芯片特性和功能简介

MFRC500是Philips公司生产的高集成度TYPEA型读写器芯片,完全集成了在13.56MHz下所有类型的被动非接触式通信方式和协议,并且支持ISO14443A所有的层,内部的发送器部分不需要增加有源电路就能够直接驱动近操作距离的天线(最大距离可达100mm)。MFRC500接收器部分提供了一个坚固有效的解调和解码电路,用于接收ISO14443A兼容的应答器信号;数字部分处理ISO14443A帧和错误检测 (奇偶与CRC),还支持快速 CRYPTO1加密算法,用于验证 Mifare卡系列产品。MFRC500内部集成有并行接口控制电路,可自动检测外部微控制器(MCU)的接口类型。

3 射频卡读写器硬件设计

一个典型的RFID系统由阅读器和应答器构成,阅读器一般包含有高频模块(发送器和接收器)、控制单元以及与应答器相连接的耦合元件,并配有附加的接口(如RS232,RS485等)。本文设计的射频卡读写器即RFID系统中的一个阅读器,系统结构框图如图1所示。

硬件主要由单片机C8051F340、读卡器芯片MFRC500、MAX232串行通信接口芯片以及键盘显示智能控制芯片HD7279组成。读写器采用C8051F340作为控制器,控制读卡器芯片MFRC500驱动天线对Mifare1卡进行读写操作,使用MAX232进行串口通信电平转换。C8051F340是一款完全集成的混合信号片上系统型MCU,片上有4352字节的RAM(256B片内RAM和4KB片外RAM),多达64KB的片内FLASH存储器,具有一个内部可编程高速振荡器,可以作为系统时钟使用,片内集成了看门狗定时器功能,只需要极少的外围电路就可以构成单片机最小应用系统,电路设计简单,减小了读写器的体积,可以提供较多的I/O口,可以灵活配置中断引脚及I/O口的输入输出方式,给设计人员提供了很强

的灵活性。

3.1读写器的原理图设计

读写器电路主要由C8051F340控制读卡器芯片MFRC500组成。读写器的工作方式是由C8051F340控制MFRC500驱动天线对Mifare1卡进行读写,通过RS-232串口与PC机进行通信,把数据传送给上位机。MFRC500与C8051F340接口原理图如图2所示。

在图2中MFRC500的总线控制信号采用了独立的读/写选通信号,复用地址/数据总线,因此MFRC500的22脚A0和23脚A1直接接高电平,24脚A2接地,在上电或者复位后,MFRC500根据这三个引脚的逻辑电平识别微处理器接口,通过初始化程序实现识别微处理器接口的操作。MFRC500的IRQ引脚接到P0.6脚,在C8051F340的初始化程序中将P0.6配置为中断引脚,单片机对MFRC500产生的中断类型判断,从而对MFRC500进行相应的操作。另外,MFRC500的ALE、NCS、NWR、RSTPD管脚分别接到C8051F340的具体管脚,需要在C8051F340的初始化程序中对相应的寄存器进行初始化操作。

读写器与上位机的通信通过RS-232方式,单片机的管脚输出电平与PC机串口电平不匹配,需要使用MAX232进行电平转换,C8051F340与MAX232连接电路原理图如图3所示。 3.2读写器天线设计

每张Mifare1卡内的EEPROM内存储了大量的用户数据,读写模块通过天线线圈给Mifare1卡提供能量,并与之建立通信,对卡内的用户数据进行读写操作。天线是非接触式IC卡读写器的重要组成部分,用于产生磁通量向应答器提供电源并在阅读器和应答器之间传递信息。对天线的设计一般有如下要求:1)天线线圈的电流最大,可以产生最大的磁通量;2)功率匹配,以最大程度地利用产生磁通量的可用能量;3)足够的带宽,以便无失真地传送用于数据调制的载波信号。天线对读写器的性能有重要的影响,在对天线的性能经过优化之后,读写器的最大读卡距离可以达到100mm。 如图2所示,MFRC500通过TXl和TX2提供13.56 MHz的能量载波,根据寄存器的设定对发送数据进行调制来得到发送的信号,天线拾取的信号经过天线匹配电路送到RX脚。MFRC500的内部接收器对信号进行检测和解调并根据寄存器的设定进行处理,然后数据发送到并行接口,由微控制器进行读取。

MFRC500的载波频率是13.56 MHz,属于短波段,天线的形状可以采用环状天线。小环天线有方型、圆形、椭圆型、三角型等,在设计中采用的是矩型天线。天线的最大几何尺寸同工作波长之间没有一个严格的界限,一般定义为:}

公式(2)中,是一圈导线的长度,环状:K=1.07;矩形:K=1.47),

导线直径或者PCB板敷铜的宽度,

为天线形状系数(圆

为天线圈数。

天线的品质因数Q值是天线设计中必须要考虑的一个重要参数,较高的品质因数Q值会使天线中的电流强度增大,由此改善对应答器的功率传送情况,与之相反,天线的传输带宽与品质因数Q值成反比,

1 读写器软件设计

读写器软件设计思想是当有Mifare1卡进入到距离读写器天线100mm范围后,读写器就可以对该卡进行读写操作。读写程序采用C语言编写,实现对Mifare 1卡一系列的操作,主要包括初始化C8051F340、初始化MFRC500、防冲突程序、对卡片的EEPROM进行读写的程序等子程序。

C8051F340与Mifare1卡之间的通信是通过天线发送符合ISO14443A协议所规定的协议代码和数据格式实现的。MFRC500内有8个寄存器页,每页内有8个寄存器,单片机与MFRC500之间的通信是通过对这些寄存器的设置实现。例如:向卡片发送数据是通过向MFRC500内的寄存器FIFOData写入待发送数据, Command寄存器放入命令Transceive的代码0x1E,MFRC500就会将数据发送出去, 卡中返回数据则存放在寄存器中。读写器对Mifare1卡的操作流程如图5所示。

(1)初始化。包括对C8051F340和MFRC500初始化两部分。对C8051F340的初始化操作需要完成配置I/O口输入输出状态、中断口、内部晶振、UART、看门狗定时器、定时器、外部存储器接口等操作。对MFRC500的初始化操作完成初始化并行接口、配置内部寄存器等操作。

(2)请求操作。若天线工作范围内有卡,单片机通过MFRC500发送一个请求命令。请求命令有两种,一种是request all,是非连续性的请求指令;另一种是request std,是连续性的请求命令。接收到这个命令后,卡片的ATR将启动,将卡片Block0中的卡片类型共2 个字节数据传送给读写器,建立卡片与读写器的第一步通信联络。如果这一步操作不成功,读写器对卡片的其它操作将不能进行。

(3)防冲突操作。如果有多张Mifare1卡片处在卡片读写器的天线工作范围之内,读写器将首先与每一张卡片进行通信,以获取每一张卡片的系列号。由于每一张Mifare1卡片都具有唯一的序列号,读写器根据卡片的序列号来保证一次只对一张卡进行操作。该操作将使读写器得到Mifare的返回值作

为卡的序列号。此操作必须紧随在请求操作后执行,如果被选的卡片的系列号已知,可以不用执行此操作。

(4)选择卡片操作。选择被选中卡的序列号, 并同时返回卡的容量值代码。

(5)验证操作。选定要处理的卡片之后,读写器确定要访问的扇区号,并对该扇区密码进行密码校验,在三次相互验证通过之后可以通过加密流进行通信。若选择另外一个扇区,必须进行另外一个扇区的密码校验。

(6)对卡的操作。对卡的最后操作即是读、写、增值、减值、中止等操作。在每一次增值或者减值操作之后,都必须有一条传送指令Transfer(0xB0),这样才能真正的将数据传送的卡片。

(7)请求操作。如果使用request all指令,在完成对一张卡操作后需要查询有没有未处理的卡。

结束语

本文中设计的基于MFRC500的读写器,能够成功的读写Mifare1卡,性能稳定,天线系统经过优化之后读卡距离可以达到100mm,该读写器已经成功应用于我们设计的门禁系统中。如果对该读写器系统进行改进,可以应用于校园一卡通、停车场管理等领域,市场前景十分广阔。 参考文献

[1] Klaus Finkenzeller[德]著 射频识别技术(第三版)[M]吴晓峰,陈大才.译.北京:电子工业出版

社.2006.10

[2] 宁焕生, 张彦编著.RFID产品研发及生产关键技术.北京:电子工业出版社,2007.

[3] Philips.MFRC500 Highly Integrated ISO 14443A Reader IC [R].2002. [4] 吴欣,张华.MIFARE 射频 IC 卡及应用.管理信息系统,2000.7

[5] 徐德华,程爱浩,刘华.多用途射频 IC卡应用系统德设计.探测与控制学报,2003,25

作者简介:屈谛(1983-),男,河南漯河人,硕士研究生,主要从事自动检测监控与系统集成方向研究.

电话:0532-86057526-601 E-mail:qudi06@sina.com

本文来源:https://www.bwwdw.com/article/f51r.html

Top