物联传媒 旗下网站
登录 注册
RFID世界网 >  技术文章  >  其他  >  正文

基于MF RC522的Mifare射频卡读写模块开发

作者:陈保平
来源:RFID世界网
日期:2015-12-11 15:27:52
摘要:主要介绍一种基于 Philips公司的 MF RC522的射频识别读写模块的设计:首先介绍系统的组成以及MF RC522的特性,接着给出天线的设计规范,最后给出MCU LPC2132与MF RC522的接口原理图和对Mifare卡操作流程。该系统选用Mifare卡作为系统的应答器(PICC),电路稳定,系统运行正常。

  IC卡按卡与外界数据传送的形式不同,分为接触式 IC卡和非接触式 IC卡。接触式 IC卡通过触点从读写模块获取能量和交换数据;非接触式 IC卡通过射频感应从读写模块获取能量和交换数据,所以非接触式 IC卡又叫射频卡。与传统的接触式 IC卡、磁卡相比较,利用射频识别技术(radio frequency identification)开发的非接触式 IC识别器,在系统寿命、防监听、防解密等性能上具有很大的优势。目前我国引进的射频 IC卡主要有 Philips公司的 Mifare卡和 ATMEL公司的 Temic卡。而PHILIPS公司的 Mifare卡现在是市场的主流产品,应用越来越广。本文介绍的是利用基于 ARM7 CPU 的 LPC2132、MF RC522、Mifare卡等构建射频识别模块的设计,并在该读写模块基础上能很容易地开发出适用于各方面的自动识别系统。

  1 MF RC522介绍

  MF RC522是 Philips公司针对三表最新推出的一款非接触式低功耗读写基站芯片,它是应用于 13.56MHz非接触式通信中高集成读卡芯片系列中的一员。该读卡芯片系列利用了先进的调制和解调概念,完全集成了 13.56MHz下所有类型的被动非接触式通读方式和协议。MF RC522支持 ISO14443A所有的层,传输速度最高达424kbps,内部的发送器部分不需要增加有源电路就能够直接驱动近距离天线,接收部分提供了一个坚固而有效的解调和解码电路,用于接收 ISO14443A兼容的应答信号。数字处理部分提供奇偶和 CRC检测功能。RC522具有三种接口方式可方便地与任何 MCU通讯:SPI模式、UART模式、I2C模式。甚至可通过RS232或 RS485通讯方式直接与 PC机相联,给终端设计提供了前所未有的灵活性。

  2 系统组成

  如图 1所示,系统主要由 MCU LPC2132、MF RC522、人机接口以及通信模块组成。系统的工作方式主要是,先由 MCU控制MF RC522驱动天线对 Mifare卡也就是应答器(PICC)进行读写操作。然后,根据所得的数据对其它接口器件,如人机接口部件、LPC2132内部的存储器、时钟芯片等进行响应操作。最后,与 PC机之间进行通信把数据传给上位机。

基于MF RC522的Mifare射频卡读写模块开发

  这里MCU 选用基于ARM7的LPC2132大大简化了系统硬件电路的设计。除了具有高性能、开发简单等优点外,LPC2132集成的看门狗功能可以保证系统在一定的时间内如果工作不正常时将 MCU复位使其重新工作 [1]。另一方面LPC2132内部的SPI 、I2C 和UART通讯接口可以方便地和 MF RC522实现多种通讯方式,满足了各种情况的需要。再者,2132还拥有满足系统存储所需足够大小的内部Flash,而无需外接存储设备。

  通讯模块负责上位机(PC端)与下位机(读写模块)的通讯,本系统采用了两种方式:一种是 RS232通讯,它应用于 PC机对一台阅读器的操作;一种是 RS485通讯,它应用于 PC机对多台阅读器的操作。两种通讯方式都可将 PC机的命令传达给读写模块。

  人机接口使系统具有良好的人机交互界面。本系统具有液晶显示、键盘、语音输出等部件。应用者可通过液晶显示或通过语音输出判别卡片的号码、基本个人信息、以及卡片中的余额是否正确。

  3 系统工作原理

  首先,MF RC522 射频卡读写模块(下面简称读写模块)通过天线向射频卡(非接触卡)发送无线载波信号,这些信号经过射频卡的天线耦合接收后,先进行波形转换,然后对其整流滤波,由电压调节模块对电压进行进一步的处理,包括稳压等,最终输出到射频卡上的各级电路上。 此时,非接触卡接收到载波信号后就通过本卡片上的调制/解调电路对载波信号进行调制/解调,处理后的信号就送到卡片上的控制器以供控制及处理[2]。非接触卡处理好数据后,也通过它本身的天线向 MF RC522返回载波信号,MF RC522也通过自身的调制/解调电路来对这些信号进行处理。这些返回的载波信号的频率与 MF RC522发出的载波信号的频率是一致的。通过这样一个通讯回路,MF RC522就可以对非接触卡的内容进行读写操作。这里需要说明的是:非接触型 IC卡本身是无源体, 当读写器对卡进行读写操作时, 读写模块发出的信号由两部分叠加组成:一部分是电源信号,该信号由卡接收后, 与其本身的L/C产生谐振, 产生一个瞬间能量来供给芯片工作。另一部分则是结合数据信号,指挥芯片完成数据、修改、存储等,并返回给读写模块。

  如上所述可以看出,读写模块的性能与天线的参数有着直接的关系。天线的性能高低决定着读卡的距离远近。因此,下面将就影响天线性能的参数做一些探讨。

  4 读写模块的天线设计

  电感耦合射频识别系统的读写模块中的天线用于产生交变磁通量,而交变磁通量用于向 PICC提供电源并在读写模块与 PICC之间传送信息。因此,天线的构造有以下几个基本要求:

  1)使天线线圈的电流最大,用于产生最大的磁通量峰值;

  2)功率匹配,最大程度地利用产生交变磁通量的可用能量;

  3)足够的带宽,无失真地传送用数据调制的载波信号。

  在天线设计中,品质因数 Q是一个非常重要的参数。对于电感耦合式射频识别系统的天线,其特征值就是它的谐振频率和品质因数的值。较高的品质因数的值会使天线线圈中的电流强度大些,由此改善对 PICC的功率传送。与之相反,天线的传输带宽刚好与品质因数值成反比例变化,选择的品质因数过高会导致带宽缩小从而明显地减弱 PICC接收到的调制边带。计算品质因数的公式如下:

基于MF RC522的Mifare射频卡读写模块开发

  式(1)中的 f是工作频率,Lcoil是天线的尺寸,Rcoil是天线的半径。通过品质因数可以很容易计算出天线的带宽 B:

  B=f/Q (2)

  从式(2)中可以看出,天线的传输带宽与品质因数成反比关系。因此,过高的品质因数会导致带宽缩小。从而减弱阅读器的调制边带,会导致读写模块无法与卡通信。一般系统的最佳品质因数为 10~30,最大值不能超过 60。如果太高,卡将无法准确地识别复位响应。

  5 MF RC522与 LPC2132的部分接口电路

  MF RC522与 LPC2132的硬件电路连接如图 2所示,在本系统中这两者之间的通讯采用的是 SPI方式[3],当然也可选择 I2C、或 UART方式,可以根据不同情况进行选择。在图 2中省略了一些 LPC2132没有用到的引脚和那些相对简单的电源、外部晶振等电路。

基于MF RC522的Mifare射频卡读写模块开发

  6 对 Mifarel卡操作的软件设计

  LPC2132首先对 MF RC522进行初始化配置,寄存器设置好后 MF RC522就可以接收 MCU的命令执行操作,实现与 Mifare 卡片通信了。Mifare卡可以根据接收到的指令进行相应操作。但是 LPC2132并不是通过简单的指令就可以读写 IC卡片,需要一系列的操作才能完成通信。主要包括:(1)请求唤醒;(2)防重叠(防止多张卡片重叠造成的数据错误);(3)选择卡片;(4)密码认证;(5)读写操作。 LPC2132对 Mifare卡片的这一系列操作流程必须按固定的顺序进行。当有 Mifare卡进入到射频天线的有效范围,读卡程序将开始进行上述一系列的操作[4],程序流程如图 3所示。

基于MF RC522的Mifare射频卡读写模块开发

  7 结束语

  本文作者创新点是:将高性能的读卡芯片 MF RC522和具有高软、硬件集成度的 LPC2132 MCU结合在了一起使用。系统省去了外部存储设备和看门狗等复杂外接电路。使得整个系统简洁、明了。MF RC522可以通过 SPI、I2C、UART三种方式与 MCU进行通讯,而 LPC2132本身正好完全集成了这三种接口。且 LPC2132对这些内部功能在软件编程上也提供了开发包。总之,M F RC522和 LPC2132在硬件和软件上都实现了完美的结合。

  以上介绍了基于 MF RC522模组的 Mifare射频卡识别系统的组成、工作原理及其设计方法。实验表明,由此方法设计的电路运行稳定,读写数据准确且具有非常短的交换时间。