《基于51单片机的rfid门禁系统毕业设计.doc》由会员分享,可在线阅读,更多相关《基于51单片机的rfid门禁系统毕业设计.doc(36页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、湖南工业职业技术学院毕 业 设 计课题名称 基于51单片机的RFID门禁系统 摘要门禁对于我们日常生活来说应该可以说是非常常见的,智能门禁系统在现在自动化应用中也是非常广泛的;随着现代社会科学技术的发展,智能家具系统开始普遍出现在日常生活中,我们对安全的要求也越来越高;智能识别技术开始运用在各个领域,而智能识别技术运用在门禁系统中大大地提高了门禁系统的安全性及易用性而受到广泛关注。本文就RFID门禁系统的国内发展现状、未来发展趋势,提出了基于51单片机的RFID门禁系统的设计方案,简述了RFID门禁系统的组成、系统的基本工作原理,分析了系统的硬件电路设计、软件设计,对硬件子电路的设计、子程序设
2、计等作了详细介绍。RFID门禁系统主要采用了STC89C52RC单片机作为控制模块及FM1702SL读卡器作为识别模块。门禁系统能读写标准的非接触式射频卡,读取射频卡的距离约10cm左右。当有卡进入读取范围时则读取卡内数据然后通过单片机处理后程序自动判断是不是已注册RFID卡,并且将卡号显示到LCD1602显示屏上。如果是已注册的RFID卡则可以使继电器工作,以达到开门效果。关键词:RFID;智能门禁系统;STC89C52RC;FM1702SLI湖南工业职业技术学院学生毕业设计目录摘要I目录II第一章 绪论- 1 -1.1 课题背景及意义- 1 -1.1.1 课题背景- 1 -1.1.2 课题
3、意义- 1 -1.2 RFID门禁系统国内研究现状及发展趋势- 1 -1.2.1 门禁系统国内研究现状- 1 -1.2.2 门禁系统发展趋势- 2 -1.3 本文主要内容与结构- 2 -1.3.1 本文主要内容- 2 -1.3.2 本文结构- 2 -第二章 RFID门禁系统理论- 4 -2.1 射频识别技术及其原理- 4 -2.1.1 射频识别技术- 4 -2.1.2 射频识别技术原理- 4 -2.2 RFID系统结构- 5 -2.3 RFID门禁系统设计基本原则- 6 -2.4 本章小结- 7 -第三章 RFID门禁系统电路设计- 8 -3.1 RFID门禁系统原理及电路设计主框图- 8 -
4、3.2 FM1702SL读卡器- 9 -3.2.1 SPI总线协议- 10 -3.3 Mifare射频卡介绍- 11 -3.4 串行EEPROM存储电路- 12 -3.4.1 EEPROM存储器接口- 13 -3.4.2 I2C总线协议- 13 -3.5 时钟芯片- 14 -3.6 步进电机电路- 15 -3.7 红外传感器- 16 -3.8本章小结- 16 -第四章 RFID门禁系统软件设计- 17 -4.1 RFID门禁系统软件模块框图- 17 -4.2 门禁系统主程序介绍- 18 -4.3 读卡过程及程序设计流程图- 19 -4.3.1 寻卡- 20 -4.3.2 防冲突- 20 -4.
5、3.3 选择卡片- 20 -4.3.4 验证- 20 -4.3.5 读取卡号- 21 -4.3.6 卡挂起- 21 -4.4 其他程序设计流程图- 21 -4.4.1 LCD1602显示程序设计- 21 -4.4.2 按键控制程序设计- 23 -4.4.3 定时器模块程序设计- 24 -4.4.4 存储程序设计- 25 -4.4.5 开门模块程序设计- 26 -4.5 程序编译与调试- 27 -4.5.1 建立项目工程- 27 -4.5.2 程序编译调试- 28 -4.6 本章小结- 28 -结论- 29 -参考文献- 30 -致谢- 31 -III第一章 绪论1.1 课题背景及意义1.1.1
6、 课题背景射频识别,RFID(Radio Frequency Identification)技术,又称无线射频识别,是一种通信技术,可通过无线电讯号识别特定目标并读写相关数据,而无需识别系统与特定目标之间建立机械或光学接触。RFID技术具有防水、防磁、耐高温、使用寿命长、读取距离大、标签上数据可以加密、存储数据容量更大、存储信息更改自如等优点,应用在各领域;经济水平的高速发展让人们越来越关心建筑内部的安全性。为了适应信息时代的需要,保证建筑内部的安全性,智能门禁系统由此而研发。门禁系统集电脑技术、电子技术、机械技术、磁电技术和射频识别技术于一体,以智能卡的方式来控制门锁的开启,它不仅给管理者提
7、供了更安全、更快捷、更自动化的管理模式,而且也给使用者带来了极大的方便。本文研究的基于51单片机的RFID门禁系统就是这样的一种系统。1.1.2 课题意义随着时代的进步,科技的发展;机械锁已经无法满足人们对于门的安全要求,智能化的门禁系统已成为现代化管理的重要手段。智能门禁系统是智能建筑楼宇自动化系统中的安全系统,作为一种新型现代化安全管理系统,智能门禁系统把自动识别技术和现代安全管理措施结合起来。本课题提出了基于51单片机的RFID门禁系统,具体分析和研究了其中的一个重要部分“门禁控制系统”。门禁控制系统作为居民人身和财产安全的重要措施,其研究结果具有深远的现实意义。1.2 RFID门禁系统
8、国内研究现状及发展趋势1.2.1 门禁系统国内研究现状我国本土厂商(如爱迪尔、华本、芯微)等已经成功研发了指纹识别芯片,国内对门禁系统的研究已经从认识研究阶段发展到自主研究阶段,而在系统的结构方面,国内的门禁系统的核心就是控制器,门控器大多由国外企业开发研制,但国内大部分厂家对门禁系统的研究仍然处于仿制阶段,没有对门禁系统核心技术惊醒自主研究开发1。1.2.2 门禁系统发展趋势传统的机械门锁仅仅是单纯的机械装置,无论结构设计多么合理,材料多么坚固,人们总能通过各种手段把它打开。在出入人很多的通道(像办公室,酒店客房)钥匙的管理很麻烦,钥匙丢失或人员更换都要把锁和钥匙一起更换。为了解决这些问题,
9、就出现了电子磁卡锁,电子密码锁,这两种锁的出现从一定程度上提高了人们对出入口通道的管理程度,使通道管理进入了电子时代,但随着这两种电子锁的不断应用,它们本身的缺陷就逐渐暴露,磁卡锁的问题是信息容易复制,卡片与读卡机具之间磨损大,故障率高,安全系数低。密码锁的问题是密码容易泄露,又无从查起,安全系数很低。同时这个时期的产品由于大多采用读卡部分(密码输入)与控制部分合在一起安装在门外,很容易被人在室外打开锁。这个时期的门禁系统还停留在早期不成熟阶段,因此当时的门禁系统通常被人称为电子锁,应用也不广泛。最近几年随着感应卡技术,生物识别技术的发展,门禁系统得到了飞跃式的发展,进入了成熟期,出现了感应卡
10、式门禁系统,指纹门禁系统,虹膜门禁系统,面部识别门禁系统,乱序键盘门禁系统等各种技术的系统,它们在安全性,方便性,易管理性等方面都各有特长,门禁系统的应用领域也越来越广2。1.3 本文主要内容与结构1.3.1 本文主要内容本文针对国内目前的市场需求情况,通过51单片机实现了一套基于RFID的门禁系统。论文在探讨了基于射频识别技术的门禁系统的发展现状和技术基础上,设计了门禁系统的硬件设计和软件设计,给出了以51单片机和RFID读卡器为核心的门禁系统设计方案,包括设计主程序流程图和模块子程序,并进行实际电路调试。1.3.2 本文结构第一章:绪论。简要论述了课题的背景及意义、探讨目前国内外研究现状以
11、及发展趋势和论文结构等。第二章:RFID门禁系统理论基础。主要概述了射频识别技术,说明了它的工作原理以及典型结构,介绍了门禁系统设计的基本原则,并且提出了论文拟解决的关键问题和解决方法。第三章:门禁系统硬件电路设计。主要讲述门禁系统基本工作原理和设计框图及外围模块电路的设计以及展示了门禁系统的硬件实物。第四章:门禁系统软件设计。主要讲述软件设计框图、主程序设计流程和各个子程序模块的设计,并且对程序的编译与调试做出了简要的说明。- 3 -第二章 RFID门禁系统理论2.1 射频识别技术及其原理2.1.1 射频识别技术射频识别技术(Radio Frequency Identification)是从
12、八十年代逐渐走向成熟的一种自动识别技术,它是一项利用射频信号通过空间耦合(交变磁场或电磁场)实现无接触信息传递并通过所传递的信息达到识别目的的技术。射频识别是无线电识别的简称,它源于无线电通信技术,综合了现代计算机智能控制、智能识别等高新技术,顺应了电子商务、交通运输、物流管理的发展需要。是当前最受人们关注的技术之一。射频识别技术具有非接触、自动完成识别过程、不易损坏、可识别高速运动物体、数据存储量大等优点,极大地加速了有关信息的收集和处理,在近年来获得了极为迅速的发展3。2.1.2 射频识别技术原理通常情况下,RFID的应用系统主要由读写器和RFID卡两部分组成的,如图2-1所示: 图2-1
13、 射频识别系统原理图其中,读写器一般作为计算机终端,用来实现对RFID卡的数据读写和存储,它是由控制单元、高频通讯模块和天线组成。而RFID卡则是一种无源的应答器,主要是由一块集成电路芯片及其外接天线组成,其中RFID卡芯片通常集成有射频前端、逻辑控制、存储器等电路,有的甚至将天线一起集成在同一芯片上。RFID 应用系统的基本工作原理是RFID卡进入读写器的射频场后,由其天线获得的感应电流经升压电路作为芯片的电源,同时将带信息的感应电流通过射频前端电路检得数字信号送入逻辑控制电路进行信息处理,所需回复的信息则从存储器中获取经由逻辑控制电路送回射频前端电路,最后通过天线发回给读写器。可见,RFI
14、D 卡与读写器实现数据通讯过程中起关键的作用是天线。一方面,无源的RFID卡芯片要启动电路工作需要通过天线在读写器天线产生的电磁场中获得足够的能量;另一方面,天线决定了RFID 卡与读写器之间的通讯信道和通讯方式4。2.2 RFID系统结构射频识别系统的典型结构如图2-2所示:主要是由两部份组成:读写器和射频卡。图2-2 RFID系统典型结构读写器同RFID卡之间通过无线方式通讯,因此它们都有无线收发模块及天线(或感应线圈)。RFID卡中有存储器,内存容量为几个比特到几十千比特。可以存储永久性数据和非永久性数据。永久性数据可以是RFID卡序列号,它是用来作为RFID卡的唯一身份标识,不能更改;
15、非永久性数据写在EEPROM等可重写的存储器内,用以存储用户数据。RFID卡可以根据读写器发出的指令对这些数据进行相应的实时读写操作。控制模块完成接收、译码及执行读写器的命令,控制读写数据,负责数据安全等功能。RFID卡分无源卡和有源卡两种,有源卡内置天线和电池,而无源卡只有内置天线没有电池,其能量由读写器提供,由于无源卡无需电池因此其尺寸较小且使用寿命长,应用越来越广泛。读写器内的控制模块往往具有很强的处理功能,除了完成控制射频卡工作的任务,还要实现相互认证、数据加解密、数据纠错、出错报警及与计算机通信等功能。计算机的功能是向读写器发送指令,并与读写器之间进行数据交换5。2.3 RFID门禁
16、系统设计基本原则门禁系统作为一项先进的高科技技术防范手段,在经济发达国家的智能大厦及酒店、银行、医疗监护、监狱等得到了广泛应用,特别是由于系统本身具有隐蔽性、及时性等特点,其应用领域越来越广泛。门禁系统既要处于技术的尖端,具有智能性、高可靠性、实时性,又要能符合实际需要。因此,系统的设计应遵循下列原则:(1)实用性:门禁系统的内容应符合实际需要,不能华而不实。如果片面追求系统的超前性,势必造成投资过大,离实际需要偏离太远。因此,系统的实用性是首先应遵循的第一原则。(2) 实时性:如果门禁系统中任何一个关键系统出现差错或停机将直接影响到整个系统的运作情况。因此,门禁系统各子系统应尽可能属于不停机
17、系统,以保证工作正常运行。(3)完整性:一个完整的门禁系统是建筑整体形象的重要标志。功能完善,设备齐全,管理方便是设计应考虑的一个因素。(4)系统的安全性:门禁系统中的所有设备及配件在性能安全可靠运转的同时,还应符合中国或国际有关的安全标准,并可在非理想环境下有效工作另外,系统安全性还应体现在信息传输及使用过程中,不易被劫获和窃取等方面。(5)可扩展性:门禁系统的技术不断向前发展,用户需求也在发生变化因此门禁系统的设计与实施应考虑到将来可扩展的实际需要,亦即:可灵活增减或更新各个子系统,满足不同时期的需要,保持长时间领先地位,成为智能建筑的典范。系统设计时,对需要实现的功能进行了合理配置,并且
18、这种配置是可以改变的,设置甚至在工程完成后,这种配置的改变也是可能的和方便的。系统软件根据需求进行相应的升级和完善。(6)易维护性:即可工作,插上就能运行的程度。从计算机的配置到系统的配置,都充分仔细地考虑了系统可靠性在做到系统故障率最低的同时,也要考虑到即使因为意想不到的原因而发生问题时,保证数据的方便保存和快速恢复,并且保证紧急时能迅速地打开通道。整个系统的维护是在线式的,不会因为部分设备的维护,而停止所有设备的正常运作。(7)稳定性:门禁系统和我们的生活和工作联系非常紧密,门禁系统的职能是保护人身和财产的安全,一旦系统开始工作就要求连续不间断的运行,所以稳定性对于门禁系统来说就显得非常重
19、要6。2.4 本章小结本章主要说明了基于RFID门禁系统设计的理论知识,首先概述了射频识别技术,说明了它的工作原理并介绍了RFID系统典型结构,此外还介绍了门禁系统设计的基本原则,包括:实用性、实时性、完整性、安全性、可扩展性、易维护性、稳定性,最后并提出了论文拟解决的关键问题且给出了解决方法。- 32 -第三章 RFID门禁系统电路设计3.1 RFID门禁系统原理及电路设计主框图此次设计的门禁系统主要有读卡模块、单片机控制模块、步进电机电路、红外传感器模块、存储模块、定时器、蜂鸣器提示电路、显示电路。其中高频读卡器模块FM1702Sl能读写荷兰Philips公司的Mifare非接触式RFID
20、卡,读卡距离约10cm。控制模块采用STC89C52RC单片机,它具有8K可编程Flash存储器。单片机与读卡器通信是采用SPI通信。其硬件主框图如图所示:51单片机刷卡模块RFID卡键盘输入电源供电晶振、复位电路步进电机红外传感器存储器LCD1602时钟芯片图3-1 门禁系统硬件主框图3.2 FM1702SL读卡器FM1702SL是复旦微电子股份有限公司设计的,基于ISO14443标准的非接触卡读卡机专用芯片,采用0.6微米CMOS EEPROM工艺,支持ISO14443 typeA协议,支持MIFARE标准的加密算法。芯片内部高度集成了模拟调制解调电路,只需最少量的外围电路就可以工作,支持
21、SPI接口,数字电路具有TTL、CMOS两种电压工作模式。该芯片的三路电源都可适用于低电压。可兼容Philips的RC500、RC530、RC531及RC632等读卡机芯片。芯片内部高度集成了模拟调制解调电路,只需最少量的外围电路就可以工作,支持6种微处理器接口,数字电路具有TTL、CMOS两种电压工作模式。适用于各类计费系统的读卡器的应用。尤其FM17XXL系列芯片,其三路电源的最低工作电压均可达2.9V,这一特性优于其他公司的同类产品7。图3-2 FM1702Sl读卡器实物图图3-2为FM1702SL读卡器实物图。本文中FM1702Sl读卡器主要是通过SPI总线协议,下面主要对它进行介绍。
22、3.2.1 SPI总线协议 SPI( Serial Peripheral Interface串行外设接口)总线系统是一个同步串行外设接口。它允许CPU与各种外围接口器件以串行方式进行通讯,交换信息。外围接口器件包括简单的TTL移位寄存器(用作并行输入或输出)、A/D或D/A转换器、实时时钟(RTO)、存储器以及LCD和LED显示驱动器等。SPI系统可与各个厂家生产的多种标准SPI外围器件直接接口,它使用四条线:串行时钟(SCK),主设备输入/从设备输出数据线(MISO),主设备输出/从设备输入数据线(MOSI)和低电平有效的从设备选通线。由于SPI系统总线只需34根数据线和控制线即可扩展具有S
23、PI接口的各种I/O器件,而并行总线扩展方法需8根数据线、816位地址线、23位控制线,因而SPI总线的使用可以简化电路设计,提高设计的可靠性8。图3-3 SPI工作原理图SPI工作原理示意图见图3-3。电路包括3个主要部分:移位寄存器、发送缓冲器和接收缓冲器。其中,发送缓冲区与数据总线相连,可以由用户程序写入欲发送的数据,然后自动向移位寄存器装载数据;接收缓冲器也与数据总线相连,可以由用户程序读取接收到的数据。移位寄存器负责收发数据,他有移入和移出两个端口,分别与收和发两条通信线路连接,与通信对端单片机的移位寄存器,恰好构成一个“环形”结构。SPI接口工作可分为半双工通信和全双工通信两种操作
24、过程。下面以全双工通讯为例说明SPI工作的操作过程。首先主机把欲发送给从机的数据写入发送缓冲器A,随即该数据被自动装入移位寄存器A;同时从机把欲发送给主机的数据写入发送缓冲器B随即该数据被自动装入移位寄存器B。然后主机启动发送过程,送出时钟脉冲信号,寄存器A中的数据经过MOSI线一位一位地移入寄存器B;同时,寄存器B中的数据经过MISO线一位一位的移入寄存器A。其次在8个时钟脉冲过后,时钟停顿,寄存器A中的8位数据全部移入寄存器B,随即又被自动装入接收缓冲器B,并且将从机接收缓冲器B满标志位置1。同理,寄存器B中的8位数据全部移入寄存器A,随即又被自动装入接收缓冲器A,并且将主机接收缓冲器A满
25、标志位置1。最后主机CPU 检测到接收缓冲器A满标志位后,就可以读取接收缓冲器A;同样从机CPU检测到接收缓冲器B满标志位后,就可以读取接收缓冲器B。完成一个字节的互换通信过程。3.3 Mifare射频卡介绍本文中采用的RFID卡为Mifare卡,其核心是Philips公司的Mifare1IC S50系列微芯片。卡片上无源,工作时的电源能量由卡片读写器天线发送无线电载波信号祸合到卡片上天线而产生电能,一般可达2V以上,供卡片上IC工作。工作频率13.56MHZ。Mifare的主要指标:1)容量为8K位EEPROM2)分为16个扇区,每个扇区为4块,每块16个字节,以块为存取单位3)每个扇区有独
26、立的一组密码及访问控制4)每张卡有唯一序列号,为32位5)具有防冲突机制,支持多卡操作6)无电源,自带天线,内含加密控制逻辑和通讯逻辑电路7)数据保存期为10年,可改写10万次,读无限次8)工作频率:13.56MHZ9)通信速率:106KBPS10)读写距离:10mm以内(与读写器有关)首先卡与读写器的通讯为:(1)复位应答 Mifare卡的通讯协议和通讯波特率是定义好的,当有卡片进入读写器的操作范围时,读写器以特定的协议与它通讯,从而确定该卡是否为M1射频卡,即验证卡片的卡型。(2)防冲突机制 当有多张卡进入读写器操作范围时,防冲突机制会从其中选择一张进行操作,未选中的则处于空闲模式等待下一
27、次选卡,该过程会返回被选卡的序列号。(3)选择卡片 选择被选中的卡的序列号,并同时返回卡的容量代码。(4)三次互相确认 选定要处理的卡片之后,读写器就确定要访问的扇区号,并对该扇区密码进行密码校验,在三次相互认证之后就可以通过加密流进行通讯。(在选择另一扇区时,则必须进行另一扇区密码校验。)其次系统的工作方式为:STC89C52RC控制FM1702SL,驱动天线对Mifare卡进行读写操作;然后根据所得的数据对其他器件进行操作,如当刷卡成功时要把卡号存到存储器EEPROM,以便判断卡号是否合法刷卡开门。整个系统由5V电源供电。最后它的工作原理为:系统数据存储在无源Mifare中。读写器的主要任
28、务是传输能量给Mifare卡,并建立与之的通信。单片机控制FM1702SL,读取RFID中的卡号,单片机再控制存储器EEPROM将其接收到的卡号保存,这就是注册模式。在正常情况下读卡器一只检测是否刷卡,并判断RFID卡是否合法,已注册的卡则可以开门,式步进电机转动9。3.4 串行EEPROM存储电路基于RFID的门禁系统要求实现RFID卡的登记(注册),单片机通过读卡模块FM1702Sl可以读出RFID卡中卡号,要想实现RFID卡的注册,只要把读出的卡号保存起来,下次再刷卡时则与保存起来的卡号对比,如果相同则说明是已注册过的RFID卡,即注册过的卡具有合法性可以开门。因此要把卡号存入存储器EE
29、PROM中,实现对于RFID卡的登记。存储器有并行存储器和串行存储器之分,其中并行存储器存储容量较大,数据传送速度快、效率高,但芯片体积大、而且长时间的工作会造成大量打发热,管脚多、需要占用CPU大量的I/O口,外部扩展复杂。然而串行存储器体积小,与CPU接口简单,一般只要占用CPU的2至3个I/O端口。在由上比较,此次设计中我们选用串行存储器。在此设计中选用AT24C02,它与更高容量的存储器兼容,出现问题时易于更换。AT24C02由SCL、SDA引脚进行串行通信的读写存储器。AT24C02与单片机的接口电路如图所示:图3-4 AT24C02与单片机连接电路AT24C02与单片机连接的线是:
30、1)SCL接单片机的P2.1,同步时钟输入。2)SDA接单片机的P2.0,串行数据输入/输出。3)WE接地,写保护脚,WE=0芯片允许读写操作。4)E0,E1,E2接地,芯片地址引脚,都要接固定电平。3.4.1 EEPROM存储器接口 存储器AT24C02为8引脚DIP封装,管脚的含义:1)E0到E2是地址输入线,为硬连线,通过这个地址单片机最多可寻址8个AT24C02,8个芯片都有固定的地址,分别对应E0,El,E2为000到111,我们用E0E1E2=000。2)SDA是双向串行数据/地址脚,用于数据的发送和接收,SDA是一个开漏输出管脚,可与其它开漏输出或集电极开路输出进行线或(Wire
31、-OR)。3)SCL是串行时钟输入线,用于产生串行数据发送或接收的时钟。4)WE是写保护线,接到VCC为存储器写保护,接地为允许读写操作。3.4.2 I2C总线协议 I2C(Intel-Integrated Circuit)总线是荷兰Philips公司于八十年代初推出的一种芯片间串行总线扩展技术。它用两根线(数据线SDA、时钟线SCL)可以完成总线上主机与器件的全双工同步数据传送。每一个时钟脉冲传输一位数据,在标准模式下可达100kbit/s,高速模式下可达400kbit/s。1)SDA和SCL两线都是高电平定义为总线空闲状态。2)只有在总线空闲时才允许启动数据传送。3)在数据传送过程中,SC
32、L为高,SDA状态必须保持稳定:SCL为低才允许SDA状态变化。4)SCL为高时SDA的任何电平变化将被看作总线的起始或停止信号。SCL保持高电平期间,SDA出现由高到低的跳变作为I2C总线的起始信号,出现山低到高的跳变作为I2C总线的停止信号。起停信号由主器件发出。5)串行数据首先传送最高位,每传送一个字节后必须跟一个应答位。低电平为应答信号,高电平为非应答信号。6)接收器输出应答信号时,发送器必须释放数据线(SDA为高)芯片接收到停止信号后置于低功耗的备用方式(StandbyMode),起始/停止时序见图3-5所示10。图3-5 数据传输起始/停止时序3.5 时钟芯片此次门禁系统设计要求能
33、够实现期限管理,即对于RFID卡实现期限管理,本已注册过的RFID卡在一段时间之后会无法开门,它的合法性受到时间的限制。因此要想实现此功能需加入时钟芯片达到计时效果,门禁系统开机后,时钟芯片便会计时,可以在程序中设定时间当时钟芯片到达指定时间后,便会使存储器清空,清除注册过的卡号,从而达到RFID卡的期限管理效果。本次实际中所用到的时钟芯片是DS1302,DALLAS 公司推出的涓流充电时钟芯片DS1302,它拥有31个字节的静态RAM和实时时间,通过简单的串行接口连接可以与单片机进行实时时钟通信。提供秒、分、时日、日期、月及年份信息,每月的天数和闰年的天数都会系统自动调整计算。时钟操作可通过
34、AM/PM 指示决定采用24或12小时格式。DS1302时钟芯片与单片机之间的信息传递通过简单地同步串行的方式进行通信,仅需用到 RES 复位、 I/O 数据线、SCLK串行时钟。时钟的读/写数据以一个字节或多个个字节、最高可达到满状态的31字节的字符组方式通信。其与单片机的连接方式如图3-6所示:图3-6 时钟芯片与单片机连接电路DS1302的引脚图及外围的电路如图3-6所示,X1 X2 接32.768KHz 晶振,为时钟芯片提供时钟脉冲。复位脚CE、数据I/O 及串行时钟引脚SCLK,VCC1,VCC2接电管脚,VCC2接+5V系统电源,VCC1接系统备用电源。对与单片机的时间进行实时通信
35、采用串行通信方式,CE为通信允许信号,当CE=1允许进行实时通讯,CE=0时禁止通信;I/O为双向串行数据传送信号,SCLK为串行数据的位同步脉冲信号。实时时钟芯片DS1302通过CE、SCLK和I/O三个管脚与单片机实现两芯片间的实时数据传送11。3.6 步进电机电路本文所做的是用51单片机实现基于RFID的门禁系统设计,顾名思义门禁系统要用RFID卡来控制门的开与关,因此本文中用步进电机的正转与反转来实现门的开与关。步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电
36、机则转过一个步距角。这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点,使得步进电机在速度、位置等控制领域的控制操作非常简单。本次设计使用的是达林顿驱动器ULN2003来驱动步进电机,使用的是五线四相异步电机,其驱动电路如图3-7所示。图3-7 步进电机驱动电路3.7 红外传感器当RFID卡能够开门时,即该卡已经被注册后,再次刷卡后步进电机就会转动模拟开门效果,然而开门之后什么时候关门便值得思考。一定要保证刷卡者确实已通过,不会造成在进门过程中突然关门,因此要加入红外传感器时时监测是否刷卡者已通过,当检测不到障碍物时才使步进电机反转回原来位置,形成关门效果。图3-8 红外传感器
37、实物图该传感器模块对环境光线适应能力强,其具有一对红外线发射与接收管,发射管发射出一定频率的红外线,当检测方向遇到障碍物(放射面)时,红外线反射回来被接收管接收,经过比较器电路处理之后,绿色指示灯会亮起,同时信号输出接口输出数字信号(一个低电平信号),可通过电位器旋钮调节检测距离,有效距离范围230cm,工作电压3.3V5V。该传感器的探测距离可以通过电位器调节、具有干扰小、便于装配、使用非常方便等特点12。3.8本章小结本章主要介绍了基于RFID门禁系统的硬件设计。首先从总体上说明了门禁系统的工作原理,并且给出了硬件电路主框图,把硬件分成了几个模块;然后分别细致的介绍了主要模块的硬件设计,包
38、括读卡器模块FM1702SL、Mifare射频卡、存储器EEPROM:AT24C02、时钟芯片DS1302、步进电机和红外传感器所组成的开门电路。除此之外还详细介绍了所用到的两个重要协议:SPI总线协议和I2C总线协议。第四章 RFID门禁系统软件设计4.1 RFID门禁系统软件模块框图本次门禁系统设计中的程序是由多个模块组合起来的,有LCD1602液晶显示模块来进行显示操作,由于要实现期限管理,所以要有定时器DS1302时间记录模块。此外,因为要把卡号存入存储器EEPROM中,所以有存储模块程序。该设计用步进电机和红外传感器模拟开门,所以有开门模块。LCD1602显示模块刷卡模块存储模块对比
39、卡号是否合法开门模块按键模块定时器模块图4-1 门禁系统软件控制模块结构图4.2 门禁系统主程序介绍 编写门禁系统的程序首先要编写核心程序,门禁系统工作的核心内容就是刷卡,门禁系统从本质上来说就是刷卡开门,只有能够刷卡后,才能对其他器件进行操作,一步一步拓展,不断完善其他功能。因此门禁系统的主程序就是刷卡开门,而刷卡程序是按固定顺序执行的,主要流程图如4-2所示。 开始初始化系统等待刷卡是否有卡?NY是否开门?N开门Y关门图4-2 门禁系统工作主程序流程图4.3 读卡过程及程序设计流程图 读卡器软件编程实现对RFID卡的一系列操作,主要有:防冲突程序、卡片的读写程序以及对卡片数据块的操作等。读
40、卡程序的设计思想是在上电初始化后,射频场一旦检测有Mifare卡进入射频天线的有效范围,读卡程序按顺序启动防冲突程序和认证程序,验证成功后最后操作卡片读写程序。程序流程图见图4-3所示。开始寻卡选择卡片防冲突写卡读卡是否有卡?YN验证N是否写卡?Y启动串口图4-3 读卡过程程序流程图下面介绍其中的几个主要过程:4.3.1 寻卡由于Mifare1卡是一种以被动方式工作的卡,进入射频区的Mifare卡上电后进入IDLE状态,它通过吸收感应区内的磁场能量进行工作,不会主动发出信号。读卡器必须不间断地向外发出请求信号,符合条件的卡只有在接收到请求信号之后才会进行响应(应称为响应卡)。 程序中用函数不断
41、向外循环发请求信号,检查感应区是否有符合条件的卡,一旦有符合条件的卡进入并被选中,程序退出循环请求过程,进入防冲突过程。4.3.2 防冲突所谓防冲突又叫做防碰撞、防重叠,就是从多张进入感应区的卡中选出一张来进行操作。如果只有一张进入感应区,并且已经知道了卡的序列号,则可跳过此步,直接进入选卡命令,若不知道卡的序列号,则必须调用防冲突函数AntiColl( ),以得到感应区内卡的序列号。若同时有多张卡在感应区内,防冲突函数能够选择其中的一张卡并得到其序列号。防冲突指令只是获得一张Mifare卡的序列号,并没有真正选中这张卡。选中卡应由Select_Card( )函数完成。序列号为40位长5个字节
42、,实际有意义的只有前4个字节,最后一个字节是序列号的异或校验的校验码,在获得序列号之后,一般应在程序中对所接收到的序列号进行校验,以确保数据的正确性。4.3.3 选择卡片选择卡片就是根据已知的序列号读出卡的容量编码。只有经过这一步骤后才算真正选中了一张卡,以后的操作都对这张卡进行。选择卡片指令是很重要的,而且必须首先被使用,因为卡片只有先被选中了,然后才能进行读、写等操作。选择卡片过程是通过Select_Card( )函数实现的。4.3.4 验证在对所选Mifare卡进行读、写之前,必需对Mifare卡进行验证,也即检查卡的合法性,这可以通过将存储在FM1702SLRAM中的密码集中的一组密码
43、与Mifare卡片上的密码进行比较实现,如果它们匹配,说明所选Mifare卡合法,则卡的验证成功,允许对卡进行读、写操作。验证卡片的过程是通过Authentication( )函数实现的。4.3.5 读取卡号如果完成了前面几个步骤,说明所选卡是本系统的卡,就可以对Mifare卡正常进行读、写了。读卡函数MIF_READ( )从已通过密码验证的扇区中读取一个数据块,共16个字节,其中前面几个字节即为卡号(1个字节表示2位卡号,本系统卡号长度为10,所以需要前面5个字节)。4.3.6 卡挂起当对卡中的数据处理完后,程序应使卡处于挂起状态,此时即使卡在感应区域,读卡器也不会再对该卡进行任何操作。4.
44、4 其他程序设计流程图 4.4.1 LCD1602显示程序设计显示程序的主要功能是对当前的门禁控制状态显示及执行STC89C52RC发出的显示指令,LCD1602液晶模块的读写操作,屏幕和光标的操作都是通过指令编程来实现的。它可以给用户清楚地显示门禁系统状态,易于操作,起到了人机交互的作用。由于液晶显示模块是一个慢显示器件,在系统每发出一个控制指令时,系统首先判断是否忙碌,如果不忙碌则执行词条命令,如果是忙碌状态则取消此条控指令。图4-4是1602的内部显示地址:图4-4 LCD1602内部显示地址LCD1602液晶显示模块显示程序流程图:开始液晶初始化设置第一行数据显示地址显示第一行数据延时
45、设置第二行数据显示地址显示第二行数据延时、清屏结束图4-5 LCD1602程序设计流程图4.4.2 按键控制程序设计由于本次门禁系统设计要对RFID卡进行注册,识别,并且有期限管理等多种操作,所以要通过按键来实现多种模式的切换,图4-6是用按键控制门禁系统的程序流程图:开始等待刷卡进入注册模式是否按K1?Y清除存储器N是否按K1?NY是否按K1?进入清除模式YN是否按K2?NY图4-6 按键模块程序流程图4.4.3 定时器模块程序设计该门禁系统不但要求能够清除卡号,而且要有期限管理来控制RFID卡的合法性,也就是说要使已经合法的RFID卡到一定时间之后会无法刷卡开门,因此我用定时器DS1302
46、来完成此项功能。给定时器设定一个初始时间,门禁系统开始运行时定时器时间开始增加,程序中设置一段时间,当到达设定时间时单片机就会控制存储器EEPROM使存储内容清除,从而使RFID卡无法开门,达到期限管理的目的。开始定时器开始计时等待刷卡定时器是否到达指定时间?N清除存储器数据Y结束等待刷卡 图4-7 定时器模块程序流程图4.4.4 存储程序设计存储器EEPROM采用AT24C02,主要的用途是把在注册模式下所刷的RFID卡的卡号保存起来,使RFID卡合法化。已经保存的卡号则为合法卡,可以开门。保存卡号的过程是在注册模式下完成的,当LCD1602显示“Register Mode”此时刷卡存储器便会保存卡号完成注册,其程序流程图如下图所示:开始初始化系统等待刷卡是否在注册模式?NY再次刷卡开门结束刷卡只显示卡号不