智能门禁系统.docx
《智能门禁系统.docx》由会员分享,可在线阅读,更多相关《智能门禁系统.docx(43页珍藏版)》请在冰点文库上搜索。
![智能门禁系统.docx](https://file1.bingdoc.com/fileroot1/2023-5/21/f642ca91-77bd-4150-814d-dbc32b639437/f642ca91-77bd-4150-814d-dbc32b6394371.gif)
智能门禁系统
智能门禁系统设计
随着社会经济和科技的飞速发展,人们对安全有了更高层次的需求,门禁技术也应用于越来越多的方面。
比如:
住宅门禁,单元门禁,小区门禁,实验室门禁等也越来越得到重视。
本文使用的智能门禁系统以射频,指纹识别以及传统的密码相结合。
本文智能门禁系统设计可分为硬件部分和软件部分。
硬件部分以MFRC522射频识别模块,ATK-AS608指纹识别模块为核心,结合主控模块STC89C52设计系统的外围硬件电路,实现对指纹的录入识别、射频卡的控制与MCU之间的互通。
软件部分采用C语言进行系统的下位机程序的开发,完成与指纹库、IC卡之间的通信,实现数据交换功能。
关键字:
射频识别,指纹识别,智能门禁
第一章绪论
1.1课题研究的背景及意义
门禁的由来,最早可以追溯到原始的社会时期。
早在原始社会,人们为了保护自己的财产不受他人的侵犯,开始用木棒将门锁起,有了看家护院的意识。
这就是人类最初的门禁概念。
后来,随着社会的逐渐发展,锁具被发明了出来。
当时,锁具不过是简单的扣件,安全性极差。
直到近代弹子机械锁的发明,才称得上是现代意义上的锁具。
尽管机械锁具的出现让门禁的安全性大为改善,但传统的门锁也仅仅是单纯的契合性机械装置,无论它的结构有多么复杂,一把能在街头随处配置到的钥匙就能把它轻松打开,并且不留丝毫痕迹。
于是,为了弥补这些缺点,磁卡门禁系统被率先制造出来。
磁卡门禁系统虽性能较机械锁有所提高,但磁卡存储的信息量小,且读卡器的刷卡口容易遭到破坏,这使得磁卡门禁系统的安全性和可靠性受到很大的限制。
随着近几年的科学技术的发展,尤其是门禁应用技术的提高,智能门禁系统逐渐走进人们的视线,并开始被人们重视和使用。
如今,智能门禁已经应用在城市的各个地方,它已然成为现代智能生活中不可或缺的一部分。
智能门禁除了安装在住宅区,也能在门口、电梯、等人员密集或重要的地方安装控制装置,例如:
读卡器、键盘等,人员要想进入,必须持卡且输入的密码正确,才能通过,大大增强了安全性。
而传统的机械门锁只是单纯的机械装置,无论结构设计多么合理,材料多么坚固,人们总能通过各种手段来把它打开。
另外在小区等人流量大的地方由人来充当保安控制以及监控人员流动更是实际意义不大。
智能化门禁管理方便了内部管理,而且比传统的门禁系统的安全性更高,同时多种方式解锁也满足了人们的生活习惯。
1.2课题国内外研究现状
1994年RFID技术进入中国,引发了中国RFID技术的应用革命。
在国内,其应用领域越来越广,涉及到交通、商场、银行、物流等各多个领域。
智能门禁就是其中一个重要的组成部分。
国内从事门禁系统有门吉利、蓝科安防、捷顺、北京青云等公司。
在技术方面,中国也有很多厂家去仿制国外优秀的门禁系统,但生产的IC卡和读卡器的关键技术则被欧美国家与部分亚洲国家所垄断,目前真正形成大批量生产的厂家只有美国;德国、英国其次。
虽然国内已经实行“金卡工程”,并着力于发展新的技术,但是基于射频识别的门禁系统的使用在国内还处于发展状态,因此对RFID在门禁系统方面应用的理论及实用性进行研究是重中之重。
2005年的门禁行业是在整个安防行业集成化、网络化、数字化的推动下不断完善的一年。
随着中国房地产业的发展、智能建筑的推广和智能小区安全防范工作的加强,门禁应用领域的进一步拓展,2006年的门禁行业是高速发展的一年。
双总线的通讯模式、指纹等生物识别设备的集成管理及DVR系统的集成成为2006年门禁系统发展的亮点。
另外,作为蓬勃发展的生物识别技术,随着其辨别的辨别速度和辨别的准确度的提高,以及人们对这类产品的进一步了解,若价格因素能保持了人们可以接受的范围内,那这技术的应用前景将会是非常广阔的。
欧美门禁系统市场的发展已经日趋成熟,产业分工细化,并且在国际市场上占有较大的份额。
国外门禁系统的知识品牌有美国的休斯(HID)、西屋(WSE)、洛泰克(NTK),以色列的DDS、英国的集宝等品牌。
当今世界上非接触式IC卡主流产品是PhiliPs公司的Miafer技术,己经被制定为国际标准150/IEC14443TypeA标准。
欧洲一些IC卡及读卡器制造商大都以Mifare技术为标准发展自己的IC卡事业。
随着其产业化的形成,各大公司由于其财力的雄厚、技术的先进、市场的导向以及专业知识产权,市场逐渐被垄断,大公司越做越大,中小公司被淘汰或兼并。
从目前全球门禁系统的前端输入设备的水平及发展方向来看,虽然磁卡和接触式IC卡在门禁系统的应用中还有一部分市场,但从发展趋势上看,除
宾馆锁外,磁卡和接触式IC卡己在逐步地退出门禁系统市场。
ATMEL公司生产的Temic非接触式IC卡是一种ID(身份)识别卡片,信息容量为264位EEPROM,采用125KHz工作频率,是一种低频无源卡,操作距离5-10cm。
相应的读写基站芯片为U2270B,此芯片在身份识别、考勤控制等方面得到了应用。
瑞士EM公司的H40OI非接触IC卡,信息容量为64位EEPROM,采用125KHz工作频率,也是低频无源卡。
美国TI公司的ID卡是一种低频只读卡,内部有8字节(64位)ID号码,己应用在门禁考勤系统中。
Philips公司的MifareIC卡系列产品有三大类:
MifareStandard,Mifarelight,MifarePLUS(第一代)和MifarePRO(第二代)。
最近又推出一种新型Mifare卡,即Mifareultralight非接触式IC卡,有512字节EEpROM,专用于车票系统,此卡最大的特点是交易时间只有31.4ms,比其它Mifare卡要短得多。
第二章系统总体方案设计
2.1系统需求分析
(1)硬件设计:
非接触式IC卡射频识别系统、指纹识别系统和其外围电路及与单片机模块接口电路设计;功能设定以及密码设置的4×4矩阵键盘电路设计;功能显示在液晶显示器LCD电路设计。
(2)软件设计:
射频识别技术门禁控制系统完成注册、刷卡、销卡、密码验证、重置密码的功能,这些功能通过液晶显示器提供显示。
为满足上述所有功能预期,软件部分主要由以下设计组成:
①IC卡识别、读卡程序;
②4×4矩阵键盘程序;
③单片机内部的读写程序;
④LCD12864液晶显示程序;
⑤步进电机正反转控制程序。
门禁控制系统软件采用C语言编制,包括指纹库的设计程序、非接触式IC卡读写程序、LCD显示程序、密码验证及重置密码程序等内容,采用模块化的设计模式来实现所有功能。
2.2系统方案选择
本门禁系统结合了几种热门技术,制作了一款智能门禁系统。
在设计上采用STC89C52系列芯片由单片机系统、矩阵键盘、报警电路、LED指示灯显示、MFRC522射频识别模块、ATK-AS608指纹识别模块、电源以及其他周边设备组成。
系统整体设计方案如图2-1所示。
图2-1门禁系统框图
在这个过程中,第一种情况通过IC读卡模块来识别IC卡,然后把卡号数据上传到控制中心STC89C52单片机。
单片机接收数据信息,接着到内部EEPROM存储的卡号信息,核对卡号是否为已注册的卡号:
是,将发出开门指令,控制步进电机驱动模块TB6560操控步进电机正转,打开门;反之,则电机不工作。
第二种情况为方便未携带IC卡用户快捷开启门禁,本系统另外可用指纹模块读取指纹,通过对比指纹库来下达开门指令。
最后可利用4×4矩阵键盘输入密码,单片机调取内部EEPROM存储器中的密码进行匹配,核对密码是否一致,来实现门的开和关,同时也通过键盘来重置密码,所有的执行和操作都会在LCD12864液晶上生成视像显示,方便用户操作。
第三章智能门禁系统的硬件设计
3.1单片机及最小系统
STC89C52单片机介绍
单片机,也被叫做单片微电脑或者是单片微型计算机。
它把中央处理器、随机存取存储器、只读存储器、输入/输出端口等计算机功能部件都集成在一块集成电路芯片上的微型计算机。
现在单片机是百花齐放的时期,世界上各大芯片制造公司都推出了自己研制的单片机,从8位、16位到32位,数不胜数。
它们各具特色,互成互补,为单片机的应用提供了广阔的天地。
纵观单片机的发展过程,可以看出单片机的发展趋势。
MCS-51系列的8031推出时,它的功耗达630mW,而现在的单片机普遍都在100mW,随着对单片机功耗要求降低,现在各个单片机制造商大部分都采用了CMOS。
80C51就采用了HMOS和CHMOS。
现在常规的单片机普遍是将中央处理器、随机存取数据存储、只读程序存储器、并行和串行通信接口,中断系统、定时电路、时钟电路集成在一块芯片上,增强型的单片机集成了A/D转换器、PMW、WDT,甚至有些单片机将LCD驱动电路都集成在一块芯片上,这样单片机包含的单元电路就更多,功能也越强大。
STC89C52特点
STC89C52单片机是宏晶科技推出的新一代单片机,它具有高速、低功耗、超强抗干扰的特点,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可以任意的去选择。
主要特性如下:
增强型8051单片机,6时钟/机器周期与12时钟/机器周期可以随意选择,
指令代码完全兼容传统的8051。
工作电压如下:
5.5V~3.3V(5V单片机)/3.8V~2.0V(3V单片机)
工作频率范围:
0~40MHz,和普通8051的0~80MHz相当,实际工作频率可达48MHz。
用户应用程序空间容量达8K字节。
片上集成512字节RAM。
通用I/O口,复位后为:
P1/P2/P3/P4是准双向口/弱上拉,P0口为漏极开路输出,作总线扩展用时,无需加上拉电阻,作为I/O口用时,则应上拉电阻。
ISP/IAP,不需要使用专用编程器、专用仿真器,只要通过串口(RXD/P3.0,TXD/P3.1)直接下载用户程序,花费数秒即可完成。
具有EEPROM功能。
具有看门狗功能。
一共有3个16位定时器/计数器。
即定时器T0、T1和T2。
外部中断4路,下降沿中断或低电平触发电路,PowerDown模式可让外部中断低电平触发中断方式来唤醒。
通用异步串行口,还可以使用定时器软件来实现多个UART。
工作温度的范围:
-40~+85℃(工业级)/0~75℃(商业级)。
PDIP封装。
STC89C52RC单片机的工作模式为:
掉电模式:
典型功耗<0.1μA,可以从外部中断唤醒,中断返回之后,继续执行原程序。
空闲模式:
典型功耗2mA。
正常的工作模式:
典型功耗4mA~7mA。
掉电模式可以从外部中断唤醒,适用于水表、气表等由电池供电系统及便携设备。
VCC(有40个引脚):
电源电压
VSS(有20个引脚):
接地
STC89C52RC引脚功能说明如图3-1。
图3-1STC89C52引脚图
P0口:
8位准双向I/O接口,每一位都可以分别的去定义为输入线或输出线,能启动4个TTL负载。
P1口:
8位准双向I/O接口,每一位都可以分别的去定义为输入线或输出线,能启动4个TTL负载。
P2口:
8位准双向I/O接口,当作为I/O接口去使用时,可直连外部I/O设备;在连接片外存储器或扩展I/O且寻址的范围超过256字节时,P2口做为高8位的地址总线。
P3口:
8位准双向I/O接口,可将每一位用于第二功能,第二功能的定义如表3-1。
表3-1STC89C52P3口的第二功能
端口功能
第二功能
P3.0
RXD(串行输入口)
P3.1
TXD(串行输入口)
P3.2
INT/0(外中断0)
P3.3
INT/1(外中断1)
P3.4
T0(定时/计数器0)
P3.5
T0(定时/计数器1)
P3.6
外部数据存储器写选通
P3.7
外部数据存储器读选通
XTAL1:
振荡器反相放大器内部时钟发生器的输入端。
XTAL2:
振荡器反相放大器的输出端。
3.2射频模块
MFRC522介绍
RFID是射频识别的英文缩写。
通俗地说,RFID读卡器是一种能阅读电子标签数据的自动识别设备。
RFID读卡器RFID射频识别是一种非接触式的自动识别技术,它通过射频信号自动识别目标对象并获取相关数据,识别工作无须人工干预,可工作于各种恶劣环境。
RFID技术可识别高速运动物体并可同时识别多个标签,操作快捷方便。
MFRC522工作原理
目前国内的13.56MHzRFID读卡器芯片市场上,荷兰恩智浦公司的Mifare非接触读卡芯片系列中MFRC522系列具有低电压、低功耗、小尺寸、低成本等优点。
采用3.3V统一供电,工作频率为13.56MHz,兼容ISO/IEC14443A及MIFARE模式。
MFRC522主要包括两部分,其中数字部分由状态机、编码解码逻辑等组成;模拟部分由调制器、天线驱动器、接收器和放大器组成。
MFRC522的内部发送器无需外部有源电路即可驱动读写天线实现与符合ISO/IEC14443A或MIFARE标准的卡片的通讯。
接收器模块提供了一个强健而高效的解调和解码电路,用于接收兼容ISO/IEC14443A和MIFARE的卡片信号。
数字模块控制全部ISO/IEC14443A帧和错误检测(奇偶和CRC)功能。
模拟接口负责处理模拟信号的调制和解调。
非接触式异步收发模块配合主机处理通信协议所需要的协议。
FIFO缓存使得主机与非接触式串行收发模块之间的数据传输变得更加快速方便。
读卡模块如图3-2所示。
图3-2读卡模块
射频识别技术具有非接触、自动完成识别过程,它不会轻易损坏、可识别高速运动物体、数据存储量大,极大地加速了相关信息的收集和处理,近年来获得了迅速的发展。
射频工作电路图如3-3所示。
图3-3MFRC522电路图
MFRC522模块的SCS、SCK、MOSI、MISO、RST接口与单片机P1.0~P1.4一一对接。
门禁开关控制通过步进电机模拟设计调试,调试过程按照真实开锁,驱动电路会使步进电机驱动板24V电源供电并开锁,共阳接法控制,EN-、DR-、CR-接口与单片机P1.5~P1.7对接。
3.3指纹模块
指纹模块简介
本设计选择的指纹模块型号是ZFM60,指纹模块电路如下所示:
图3-4指纹模块接口图
指纹模块里面主要是DSP芯片,型号为AS608,加上外面的CMOS芯片,CMOS芯片主要是对指纹进行“照相”,生成指纹特征,如下图所示就是一个指纹模板,录入两次这样的指纹特征就能生成一个指纹模板。
具体的工作过程是:
扫描指纹、生成特征、合成模板。
图3-5指纹模版
指纹模板就是“照一次相”,将指纹模块里面的CMOS芯片采集一次指纹信息,然后进行模糊处理生成0和1两种记录信息,存入指纹模块的FLASH芯片里面。
当切换到识别模式的时候,指纹模块就会先让CMOS芯片采集一次指纹,然后和FLASH芯片的数据进行对比。
看是不是存在,如果存在就能返回是几号指纹。
这样我们就能通过单片机或者电脑进行指纹识别与登记了。
具体指纹模块介绍如下:
此指纹模块型号是:
ZFM60,此模块上里面包含了:
1、光学头2、通信连接线3、DSP芯片4、稳压芯片5、FLASH芯片6、CMSO传感器等部件组成。
主要技术指标:
供电电压:
DC3.8~7.0V
背光颜色:
绿色
亮灯方式:
长亮/闪烁
供电电流:
工作电流:
<65mA
峰值电流:
<95mA
指纹图像录入时间:
<0.5秒
窗口面积:
14.5×19.4mm
匹配方式:
比对方式(1:
1)
搜索方式(1:
N)
特征文件:
256字节
模板文件:
512字节
存储容量:
1000枚
安全等级:
3级(从低到高:
1、2、3、4、5)
认假率(FAR):
<0.001%(安全等级为3时)
拒真率(FRR):
<1.0%(安全等级为3时)
搜索时间:
<1.0秒(1:
500时,均值)
上位机接口:
UART(TTL逻辑电平)
通讯波特率(UART):
(9600×N)bps其中N=1~12(默认值N=6,即57600bps)
指纹模块引脚接法
ZFM60系列独立式指纹识别模块引脚功能:
模块中引脚1与电源相连,引脚2接单片机的RXD端,引脚3接单片机的TXD端,引脚4悬空,引脚5接地。
表3-2如下:
表3-2指纹识别模块引脚功能
引脚号
名称
类型
功能描述
1
Vin
in
电源正输入端
2
TD
out
串行数据输出。
TTL逻辑电平
3
RD
in
串行数据输入。
TTL逻辑电平
4
GND
-
信号地。
内部与电源地连接
指纹模块命令
我们进行指纹模块的操是通过单片机的串口发送与接收命令完成的。
我们先通过串口给指纹模块发送命令,然后等待指纹模块传回数据。
再通过单片机进行数据的处理,从而判断命令有没有执行。
主要为以下几条命令。
(1)开机的时候进行模块握手,从而判断模块是不是连接正常。
命令如下:
验证口令:
指令包格式:
2bytes
4bytes
1byte
2bytes
1byte
4bytes
2bytes
包头
模块地址
包标识
包长度
指令码
口令
校验和
0xEF01
Xxxx
01H
07H
13H
Password
SUM
应答包格式:
2bytes
4bytes
1byte
2bytes
1byte
2bytes
包头
模块地址
包标识
包长度
确认码
校验和
0xEF01
Xxxx
07H
03H
xxH
SUM
注:
确认码=00H表示口令验证正确;
确认码=01H表示收包有错;
确认码=13H表示口令不正确;
(2)生成指纹模板需要进行如下四个个命令:
录入图像、生成特征、合成指纹模板、存储指纹模板。
录入指纹图像指令:
指令包格式:
2bytes
4bytes
1byte
2bytes
1byte
2bytes
包头
模块地址
包标识
包长度
指令码
校验和
0xEF01
Xxxx
01H
03H
01H
SUM
应答包格式:
2bytes
4bytes
1byte
2bytes
1byte
2bytes
包头
模块地址
包标识
包长度
确认码
校验和
0xEF01
Xxxx
07H
03H
xxH
SUM
注:
确认码=00H表示录入成功;
确认码=01H表示收包有错;
确认码=02H表示传感器上无手指;
确认码=03H表示录入不成功;
图像生成特征Img2Tz指令:
指令包格式:
2bytes
4bytes
1byte
2bytes
1byte
1byte
2bytes
包头
模块地址
包标识
包长度
指令码
缓冲区号
校验和
0xEF01
Xxxx
01H
04H
02H
BufferID
SUM
应答包格式:
2bytes
4bytes
1byte
2bytes
1byte
2bytes
包头
模块地址
包标识
包长度
确认码
校验和
0xEF01
Xxxx
07H
03H
xxH
SUM
注:
确认码=00H表示生成特征成功;
确认码=01H表示收包有错;
确认码=06H表示指纹图像太乱而生不成特征;
确认码=07H表示指纹图像正常,但特征点太少而生不成特征;
确认码=15H表示图像缓冲区内没有有效原始图而生不成图像;
特征合成模板RegMode1指令:
功能说明:
将CharBuffer1与CharBuffer2中的特征文件合成特征模板。
指令包格式:
2bytes
4bytes
1byte
2bytes
1byte
2bytes
包头
模块地址
包标识
包长度
指令码
校验和
0xEF01
Xxxx
01H
03H
05H
SUM
应答包格式:
2bytes
4bytes
1byte
2bytes
1byte
2bytes
包头
模块地址
包标识
包长度
确认码
校验和
0xEF01
Xxxx
07H
03H
xxH
SUM
注:
确认码=00H表示合并成功;
确认码=01H表示收包有错;
确认码=0aH表示合并失败(两枚指纹不属于同一手指);
存储模板Store指令:
指令包格式:
2bytes
4bytes
1byte
2bytes
1byte
1byte
2bytes
2bytes
包头
模块地址
包标识
包长度
指令码
缓冲区号
位置号
校验和
0xEF01
XXXX
01H
06H
06H
BufferID
PageID
SUM
应答包格式:
2bytes
4bytes
1byte
2bytes
1byte
2bytes
包头
模块地址
包标识
包长度
确认码
校验和
0xEF01
Xxxx
07H
03H
xxH
SUM
注:
确认码=00H表示储存成功;
确认码=01H表示收包有错;
经过以上四个步骤与命令,我们就录入了一个指纹,重复以上步骤,我们可以再录入其它指纹。
(3)指纹识别是先转换到识别模式,然后不断的探测是不是有指纹出现在光学采集头上。
如果有则扫描指纹,与库里面的指纹进行比对,如果是就读出是几号指纹。
模块会自动探测是不是有指纹,如果有则发送下面的命令:
搜索指纹Search指令:
指令包格式:
2bytes
4bytes
1byte
2bytes
1byte
1byte
2bytes
2bytes
2bytes
包头
模块地址
包标识
包长度
指令码
缓冲区号
参数
参数
校验和
0xEF01
Xxxx
01H
08H
04H
ID
StarPage
PageNum
SUM
应答包格式:
2bytes
4bytes
1byte
2bytes
1byte
2bytes
2bytes
2bytes
包头
模块地址
包标识
包长度
确认码
页码
得分
校验和
0xEF01
Xxxx
07H
07H
xxH
SUM
注:
确认码=00H表示搜索到;
确认码=09H表示没有搜索;
如果搜索到就返回相应的指纹号,如果没有就会返回0。
3.4液晶显示模块
液晶是一种高分子材料,因为其特殊的物理、化学、光学特性,20世纪中叶开始广泛应用在轻薄型显示器上。
液晶显示器的主要原理是以电流刺激液晶分子产生点、线、面并配合背部灯管构成画面。
为叙述简便,通常把各种液晶显示器都直接叫做液晶。
液晶体积小、功耗低、现实操作简单,但是它有一个致命的弱点,其使用温度范围很窄,通用型液晶正常工作温度范围为0°C~+55°C,存储温度范围为-20°C~+60°C,因此在设计相应产品时,务必要考虑周全,选取合适的液晶。
LCD12864系列液晶的引脚功能
12864共有20个引脚,各引脚说明如下面表格所示。
表3-3接口信号说明
编号
符号
引脚