来源:RFID世界网 作者:李和平 黎福海 发布时间:2007-12-11 14:41:09 字体:[大 中 小]
关键字:射频卡读写器 读写器 mifare1卡 mf rc500 射频卡
摘 要:介绍基于MF RC500读写卡芯片和STC89C52RC型单片机实现的Mifarel射频卡读写器的设计方法。对其系统硬件设计进行分析。并给出对Mifarel卡操作流程。
3.2 程序设计
设计思想:当有Mifare1射频卡进入距离射频天线100ram内,读卡器就可以读到卡中的数据。系统单片机要将所读数据进行分析处理,如果符合条件,则读卡成功指示灯闪一下,蜂呜器呜叫一声。并将卡片数据与当前时间一起存入单片机内的EEPROM.并在LED显示器上显示卡数据。没有卡进入读卡器工作范围时,在显示器上显示当前时间。若读卡出错,显示出错标志。在与上位机通讯时。将单片机内部EEPROM存入的信息发往上位机。
单片机程序包括以下几个部分:读写器按键处理程序、读写卡程序、数据存储程序、与上位机的通讯程序、显示驱动程序、时基生成程序。以下重点介绍读写卡程序的设计。
读写卡过程包括装载密码、询卡、防冲突、选卡、验证密码、读写卡和停卡。这一系列操作必须按固定的顺序进行。在没有射频卡进入射频天线有效范围时,在低5位显示当前时钟;当有射频卡进入到射频天线的有效范围,读卡程序验证卡及密码成功后.将卡号和读卡时间及相关数据作为一条记录存入EEP—ROM存储器中,并在LED显示器高5位上显示卡号。
(1)询卡过程:当一张Mifare卡处在卡读写器的天线工作范围之内时。MCU将通过MF RC500发送一个询卡请求,询卡请求有两种,一种是request all,这指令是非连续性的读卡指令,只读一次;另一种是re—quest std,这是连续性的读卡指令。当卡片收到该指令后,卡片内的ATR将启动.并将卡片的Block 0中的卡片类型(TagType)号共2个字节传送给读卡器,从而建立卡片与读卡器的第一步通信联络.完成询卡过程。
(2)防冲突:如果有多张Mifare卡片处在卡片读写器的天线工作范围之内.MF RC500能检测出来并通知到MCU。此时MCU通过防冲突算法来与每一张卡进行通讯。由于每一张Mifare卡片都具有其唯一的序列号而决不会相同,因此,MCU根据卡片的序列号来保证一次只对一张卡进行操作。(根据ISO14443协议,M1型卡传统的防冲突算法是动态二进制检索树算法。它首先利用MANCHESTER编码“没有变化”的状态来检测碰撞位,然后把碰撞位设为二进制“1”,用SELECT命令发送碰撞前接收的部分卡片序列号和碰撞位,如果卡片开头部分序列号与其相同,则做出应答,不相同则没有响应。以此来缩小卡片范围,最终达到无碰撞)。
(3)选卡:通过以上两步以后,MCU选取一张卡的序列号进行通讯,即选卡。
(4)验证密码:选定要处理的卡片之后,MCU确定要访问的扇区号,并对该扇区密码进行密码校验,在三次相互认证之后就可以通过加密流进行通讯。(在选择另一扇区时,必须进行另一扇区密码校验。)
(5)读写卡:读写操作是对卡的最后操作,包括读(Read)、写(Write)、增值(Increment)、减值(Decre-ment)、存储(Restore)和传送(Transfer)等操作。
(6)停卡:当一系列的操作完成后,MCU发送一个停卡命令给卡片,使其退出工作。
在非接触通讯中,为了保证读写器和卡片之间数据传递完整、可靠,采取以下措施:一是防冲突算法,二是通过16位CRC纠错,三是检查每字节的奇偶校验位,四是检查位数,五是用编码方式来区分“1”、“O”或无信息。
为提高处理和响应速度,程序设计采用单片机汇编语言和C语言混合编程。中断服务程序采用汇编语言编写.其它程序采用C语言编写。主程序流程图如图6所示。
4 结束语
本文设计了基于MF RC500的Mifarel射频卡嵌入式读写器。经实践验证.本系统能对范围内的多个卡准确无误地读写。在此读写器的基础上,稍加修改就能开发成不同的射频识别应用系统,对RFID的推广具有一定的实用价值。
参考文献:
[1]游战清,李苏建.无线射频识别技术(RFID)理论与应用[M].北京:电子工业出版社。2004.
[2]Klans Finkertzeller[德]著,吴晓峰译.射频识别技术(第3版)[M].北京:电子工业出版社,2006.
[3]徐新民,张春升.TEMIC系列射频卡及其应用叨.电测与仪表,2002,(1):49—52.
[4]Philips.MF RC50 m#y Integrated ISO 14443A Reader IC[R],2002.
作者简介:
李和平(1971一),男,汉族,娄底职业技术学院电子学讲师,高级技师,湖南大学电气与信息工程学院硕士研究生。主要研究方向为电子技术应用。Email:lhp1397381200l@sina.com
黎福海(1964一),男,汉族,湖南大学电气与信息工程学院教授,目前研究领域为数字信号处理和集成电路。
推荐文章
论坛热帖