您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 基于RC500的智能门禁控制系统研究
基于RC500的智能门禁控制系统研究来源:一卡通世界作者:袁万锦张革2010-10-911:16:52评论0条摘要:介绍了基于RC500的智能门禁控制系统的设计与开发,门禁控制器主要由射频天线、读卡模块、单片机控制系统及RS485通信接口组成,由RS500接口与PC机组成通信网络系统,并给出了AT89C52与MFRC500的接口原理图,对读卡程序进行了说明,最后给出了主要程序设计的流程图。关键词:射频识别;Mifare智能IC卡;门禁;MFRC500;RS485网络智能门禁系统是指采用现代电子与信息技术,在建筑物内外的出人口对人(或物)的进、出实施放行、拒绝、记录和报警等操作的一种电子自动化控制系统。本系统的前端设备为基于MFRC500的Mifare非接触式IC卡读卡器,识读距离可达到1OCIB,具有抗恶劣环境、保密性强、准确性高、安全性高、识别号唯一无法伪造、可同时识别多个识别对象的优点。本系统由若干台门禁控制器组成,由RS485网络相互连接,通过RS485/232转换器与计算机相连,并通过管理计算机对各门进行控制。只有经过本系统授权的非接触式IC卡在被授权的有效时段内,控制器才向电控门锁发出开锁指令,允许持卡人进门。无效卡或没有经过授权的卡,以及授权卡在非有效时段内,控制系统则不会向电控门锁发出开锁指令,不允许进门。根据需要,管理者可以随时增加、修改或取消授权卡的通行时段。每次读卡的信息,无论是否向电控门锁发出开锁指令,系统都自动记录下来,管理者通过调阅出入口的读卡记录,可以方便地查询持卡人进门的情况,通过管理计算机上的软件还可以提取出考勤信息,作为考勤机使用。1系统组成由图1可以看出,系统主要由AT89C52单片机为核心,辅以射频卡读卡模块、存储器、键盘、LCD显示器、实时时钟、I/O接口、RS485通信模块、看门狗外围电路而构成智能门禁控制器。MCU(微控制器)采用AT89C52(其开发简单,运行稳定);存储器采用AT24C512(用于存储系统参数及数据,AT24C512是基于IC总线的串口操作方式,是性价比较高的存储芯片);液晶屏采用TC1602A;时钟芯片采用PHILIPS公司的PCF8563(也是基于IC总线的串口操作方式,可以很方便地记录时间);键盘采用4×4矩阵键盘;防止系统死机采用MAX813L(作为看门狗)。与上位机的通信采用RS485通信模式,通信距离可以达到1200m左右。图1门禁控制器结构框图由图2可以看出读卡模块由MCU,RC500,天线组成,其中,非接触式IC卡读写模块MFRC500是整个读卡器的核心,它将完成读写非接触式IC卡的所有必需功能,包括RF信号的产生、调制、解调、安全认证和防重叠等。MCU是通过对读写模块RC500内核特殊的内存寄存器的读写来控制RC500的。读取RC500一般是指向Mifare卡请求。RC500实际上是MCU与射频卡之间进行信息交换的媒介,任何卡片上的数据读写均须通过RC500来传递。传送不同类型的指令给RC500,就能实现对RC500的控制。RC500与非接触式IC卡之间能量的传递和数据双向传输的过程是初级和次级2个线圈之间的耦合过程,从读卡器发射给卡的数据信息在调制前采用的是米勒编码,而从卡到读卡器的数据信息采用的是曼彻斯特编码。图2读卡模块结构图读卡模块通过P2口及2根握手线与主MCU进行双机并行通信,由于数据的收发使用同一I/O接口,故每次通信前必须约定通信是由主MCU发起还是由读卡模块发起。本系统用8255扩展了一部分I/O接口,键盘采用4×4矩阵式键盘,分别连接于8255的PCO—PC7端。将8255的PC口低4位设成输出模式,扫描键盘的行线;PC口的高4位设成输入模式,读取键盘的列线。门禁控制器通过8255扩展的PA口和PB口来直接对出人口进行控制。系统需要管理指示灯、蜂鸣器、门状态输入、电控锁、出门按钮、红外报警、防拆开关等输入输出的控制,系统选用的红外报警探头是P2288型热释电传感器。在一个门禁系统中,每个门禁控制器都有一个唯一的地址号,控制中心计算机由此可以区分不同的门禁控制器。门禁控制器启用前,首先由管理计算机经由通信接口向其输入各项运行参数,主要是硬件设备的连接情况及控制模式、人员信息、允许的时间和出入门方式等参数。门禁控制器经过初始化以后就能独立脱机运行,当有人读卡时,控制器将卡号与内存中预设信息进行比较,进行相应的控制开门与否的操作,并将事件记录下来。2AT89C52与MFRC500接口电路MFRC500射频模块的DO—D7(数据端口)和单片机数据端口P0口直接连接进行数据传送,中断请求口IRQ和单片机的中断1(INT1)连接,即单片机利用MFRC500提供中断信息对其进行控制。其他则是ALE,NRD,NWR,RST,NCS等单片机和射频芯片的通信、控制等接口。AT89C52与MFRC500接口电路图见图3。图3AT89C52与MFRC500接口电路3读卡模块软件设计本系统中读卡模块的主要任务就是读取卡号,然后将卡号送给主MCU。读卡过程是一个很复杂的程序执行过程,要按固定的顺序执行一系列的操作指令。微处理器对卡的所有操作都是通过RC500来完成的。RC500内部有64个工作寄存器,按功能的不同分为8个寄存器页,每页有8个寄存器。通过对相关寄存器写入不同的值,就可实现不同的工作配置,执行不同卡的操作命令。RC500每接收到一次操作指令,执行一次对卡的操作,而卡也会返回相应的值。读卡模块程序说明如下。1)密钥装载charMf500PcdLoadKeyE2(un_signedcharkey_type,unsignedcharsector,un_signedchar*uncoded_keys)。密钥装载的作用就是将指定的密钥装入RC500中指定的密钥区内。装载密码是为后续的验证密码做准备,以检验进入射频区内的卡是否为本系统的卡。2)询卡M500PiccCommonRequest(unsignedcharreq_code,unsignedcharatq)。MF1卡是一种以被动方式工作的卡,刚进入射频区内的卡得电进入IDLE状态,读卡器必须不断发出请求信号,符合条件的卡才会响应,这一指令将分别与MF1卡进行通信读取卡上的2个字节的卡片类型号。req—code是请求模式,共有Requestall和Requeststd两种模式。Requestall指令是非连续性的读卡指令,只读一次。但有个例外,当某一次Requestall指令读卡片失败时,Requestall指令将连续地读卡,直到读卡成功才进入非连续性的读卡模式。Requeststd指令的使用和Requestall指令刚巧相反。Requeststd指令是连续性的读卡指令,当某一张卡片在天线的有效工作范围内,Requeststd指令在成功地读取这一张卡片之后,进入对卡片的其他操作。如果其他操作完成之后,又进入Requeststd指令操作,则Requeststd指令将连续地进行读卡操作,而不管这张卡片是否被拿走。只要有一张卡片进入天线的有效工作范围内,Requeststd指令将始终连续地进行读卡操作。本系统采用Requeststd模式询卡,读卡后将卡挂起,这样在天线范围内卡只会被读一次,卡不离开天线范围不会被重复读卡。3)防冲突charM500PiccCascAnticoll(tin_signedcharbcnt,unsignedchar*snr)。防冲突就是从多张卡中选出一张卡来操作,又叫反碰撞、防重叠。AntiCollision指令事实上仅仅是读取MF1卡片上的序列号SN,值存入snr中。如果知道卡的序列号,则可跳过这一步,执行下一步选卡操作。4)选卡charM5O0PiccCascSelect(unsignedcharsnr,unsignedchar*sak)。选中snr指定的卡,经过这一步才真正选中了一张卡,并同时返回卡的容量代码size,值存人sak中。以后的操作都是针对这张卡进行的,且为卡号处理软件设计打好了基础(卡号处理流程图见图4)。图4卡号处理程序流程图5)验证密码charM500PiccAuthKey(un_signedcharauth_mode,unsignedcharsnr,un_signedcharkeys,unsignedcharblock)。这是三轮认证函数,整个过程包括:先将所要访问的区密码加密,再将加密后的密码通过Loadkey存入MFRCS00的Key缓存中,接着进行认证。如果密码相同,则认证成功,卡准许进行读写操作。6)读卡charM50OPiccRead(unsignedcharaddr,unsignedchar*data)读到的卡号数据存入data中。7)卡挂起charMfS00PiccHalt(void),卡挂起后,即使不拿走,也不会再重复读卡。获得卡号后,读卡模块和主MCU通过P2口及2根握手线交换数据。4卡号处理软件设计主MCU获得读卡模块送来的卡号后,检索存储器中有无此卡,没有则为无效卡,若有此卡则根据群组表、时段表中的授权情况来执行命令,并将读卡事件存到存储器中(卡号处理流程图见图4)。5结论笔者主要介绍一种基于RCS00的智能门禁控制系统,通过应用证明系统运行稳定。本系统通用性强,适用面广,在现有硬件的基础上,只要将软件作适当的修改就可以将其设计成其他方面的应用,如一卡通、停车场自动收费系统、公交自动收费系统等。参考文献:[1]KLAVSFz.射频识别(RFID)技术——无线电感应的应答器和非接触IC卡的原理与应用[M].第2版.陈大才,王卓人译.北京;电子工业出版社,2001.[2]王汝琳.智能门禁控制系统[M].北京;电子工业出版社,2004.[3]何将三,陈国栋.基于MFRC500的射频识别读写器设计[J].单片机与嵌入式系统应用,2004,(11):52-54.[4]谢悦平,王新川.计算机系统可靠性问题的研究[J].河北科技大学学报,2001,22(3):10—13.[5]孙玉杰,李雪丽,马献果.提高电路可靠性的几项技术[J].河北科技大学学报,2002,23(I):41-44.
本文标题:基于RC500的智能门禁控制系统研究
链接地址:https://www.777doc.com/doc-2572035 .html