新闻中心

EEPW首页 > 手机与无线通信 > 设计应用 > MFRC522射频模块在门禁系统中的应用

MFRC522射频模块在门禁系统中的应用

作者:时间:2013-01-10来源:网络收藏

卡操作完毕后,可以使卡进入Halt状态,此时只有使用Request All指令才能唤醒该卡。Mifarel卡基本功能的具体实现流程如图5所示。

本文引用地址:http://www.eepw.com.cn/article/153621.htm

f.JPG


2.3 接口函数
为方便用户使用该模块,系统提供了多种类型接口,即可并不需要直接去了解ISO14443A协议中的细节,或通过简单的接口调用方式对ISO14443A型卡进行所有操作。模块提供UART和I2C两种用户接口,两种接口的上层软件接口函数均有统一方式,用户在使用时,只需要对底层接口进行修改,就可以操作ISO14443A塑卡的所有操作。UART和I2C总线两种用户接口使用同一种数据帧传输格式,一帧的数据格式如下所示。

g.JPG


接口函数中提供操作MFRCA22的基本命令,如配置读卡芯片、读写寄存器和装载密钥,也提供ISO14443A协议的基本操作,如常规操作中的寻卡、防碰撞、选卡和读写卡操作。同时,提供集成接口函数,通过调用集成接口函数就可以实现对卡识别,还可对某块数据进行读操作,如调用PiccAutoDetect接口函数就能实现上述操作。同时可以选择数据主动输出还是以提供中断信号提示方式输出数据,下面对自动识别卡操作接口函数进行简单介绍。
自动识别卡操作接口函数如下:
int PiccAutoDecect(char ADMode,char TxMode,char Req,char Auth,char KeyAB,char*Key,int Block)
在参数ADMode中,定义了最后执行Halt操作、继续检测卡、中断输出和主动发送数据等模式选择。参数TxMode中定义了天线驱动类型,参数Req中定义寻卡模式,参数Auth中定义校验密钥A或校验密钥B,参数Key为密钥数据,而参数Block定义操作的块号。读卡成功后,若在UART接口下参数ADMode中有设置主动发送数据,则可以调用下面接口接收数据:
int PiccADRcv(char*Tx,char* Tag,char*Sak,char*Snr,char*Dat)
其中参数*Tx为天线参数,*Tag为寻卡请求应答,*Sak为选卡应答,*Snr为选卡卡号,*Dat为块内数据。
若没有设置主动发送数据,则可以通过调用ReadAutoDetect接口函数获取自动识别卡操作的数据,返回数据的格式跟上面描述相同。

3 产品应用实例
在为某用户进行电梯监控系统设计中,使用了门禁系统,采用本文设计的模块作为射频读写模块。模块在两处使用,一处位于电梯轿厢内部的电梯内呼控制系统中,作为电梯乘坐人员启动电梯到达固定楼层的工具;另一处位于系统监控中心的发卡系统内,为电梯乘坐人员进行发卡、充值和销卡。
在电梯内呼控制系统中,控制系统与采用UART接口方式进行通信,读取用户卡中的信息并传递到监控中心。对有效用户将开启对应楼层,如有消费需求,则可以进行读写卡操作。在电梯内呼控制系统中,采用NXP公司设计的LPC2364 MCU作为主控制器,嵌入本文设计的射囊模块,实现智能呼叫电梯和人员管理,电梯内呼控制系统中的硬件框图如图6所示。

h.JPG


由于对无源射频卡操作时,卡与读卡器之间的数据交换时的能量由天线提供,当卡位于天线信号较弱区域时,天线辐射的能量不足以支持数据交换,则导致数据交换失败。所以,在天线识别的临界区域时,如果快速移动射频卡,可能会出现数据交换失败情况,但此时卡内的数据可能已经改变,而返回到读卡器中的操作状态是不成功的。特别是在使用射频卡作为消费卡使用的情况时,容易出现无刷卡和错误刷卡的情况。此时,需要对数据卡操作进行软件上的优化,一方面在后台做好数据备份的工作,二是在卡内划分出一个数据块用于存储备份数据。

结语
基于射频芯片和单片机LPC931,设计了一种遵循ISO14443A协议的,从硬件设计和软件开发两方面对开发过程进行详细说明。实验结果表明该模块具有设计灵活和使用方便等特点,具有良好的推广价值。


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭