基于指纹识别的电子密码锁设计Word下载.docx
《基于指纹识别的电子密码锁设计Word下载.docx》由会员分享,可在线阅读,更多相关《基于指纹识别的电子密码锁设计Word下载.docx(25页珍藏版)》请在冰豆网上搜索。
“物”的丢失或出错都会导致合法的人无法被认证,并且各种信物容易被伪造、破译[2]。
在网络化时代的今天,我们每个人都拥有大量的认证密码,比如开机密码、邮箱密码、银行密码、论坛登陆密码等等;
密码作为身份识别的标志已被广泛采用。
密码容易被遗忘,也有被人窃取的可能,无论是在智能化还是安全性能方面都已经不能满足需求,现在的各种钥匙,如门锁钥匙,汽车钥匙,保险柜钥匙等也如同密码一样存在显而易见的漏洞。
这些传统的安全系统所采用的方式,随着社会的发展,其安全性越来越脆弱不堪一击。
但是我们不能回避这个尴尬的问题,我们的生活中随时都需要进行个人身份的确认和权限的认定,尤其是在信息社会,人们对于安全性的要求越来越高,同时也希望认证的方式简单快速。
为了解决这一存在已久的问题,人们把目光转向了近年来兴起的生物识别技术,希望能借助人体的生理特征或行为动作来进行身份识别。
这样就可以不必携带大串钥匙,也不用费心去记各种密码。
生物特征和钥匙、密码相比具有唯一性,不可复制性,例如指纹,专家推论以全球60亿人口计算,300年内都不会有两个相同的指纹出现[2]。
以电子商务、电子银行的安全认证为例,目前在电子商务中经常出现他人假冒当事人的身份,如果通过生物特征进行认证,就可有效防止此类事件的发生。
另外,网络、数据库和关键文件等的安全控制,机密计算机的登陆认证,银行ATM、POS终端等的安全认证,蜂窝电话,PDA的使用认证等等,都可以依靠生物特征来认证。
可见,生物特征识别不但有可观的经济效益,还有不可估量的国家信息安全效益。
1997年比尔·
盖茨曾这样预言:
“生物识别技术即利用人的生理特征,如指纹、虹膜等来识别个人的身份,将成为未来几年IT产业的重要革新”[2],指纹识别技术在生物识别技术中相对来看是发展的最成熟的识别技术,指纹锁则是指纹识别技术的代表作品,指纹锁在当今安防系统中应运而生成为继机械锁、密码锁、感应锁之后另一代门锁的代表,单体指纹代替钥匙或者密码成为开锁工具,大大降低了安防系统的潜在安全隐患,主要是因为指纹的独特生理附属性,在一段比较长的历史时期内避免了遗失、被盗、被复制的隐患,因此目前看来指纹锁几乎完美的解决了传统门锁存在的问题,但是一把合格的指纹锁,须采用国际领先水平的智能芯片和高标准的安装材料,这就决定了其刚性成本很高,同时由于拥有极高的科技附加值,指纹锁市场价格普遍比较昂贵,近年来指纹识别产品在各个行业的大规模开始应用,以及人们对于智能化和安全性能的追求为指纹锁的市场拓展创造了有利条件,因此可以预见,指纹锁将迎来一个改变安防系统的历史机遇。
1.2国内外指纹锁发展的历史和现状
生物识别技术在传统安防系统面临尴尬的时候,给人们带来了希望,并且在今后一个很长的历史时期都将是缓解了安防压力的有力保障,生物识别技术主要包括指纹识别、人脸识别、掌形识别、指静脉识别、红膜识别、视网膜识别、声音识别等,由于各种生物识别技术的差异,只有基于指纹识别技术的产品有希望在近几年大规模的投入民用的市场,因此指纹识别产品将是世界各国在生物识别技术领域发展和投入的重点。
一方面,指纹识别产品的快速发展得益于低价位取像设备的引入及其飞速发展,以及可靠的比对算法的研究发展,另一方面,指纹识别技术和其他的很多技术一样,也是从专用走向公用,逐渐成为人们关注的前沿高科技之一,而现在俨然已经成为了各种高科技产品的标识。
苹果公司计划推出带有指纹登陆模块的手机,微软公司推出了可单独操作的指纹辨认器;
IBM开始出售附有指纹辨认器的手提电脑;
韩国LG电子公司也推出了一种通过指纹启动的手机。
但是必须指出的是指纹科技产业作为新兴的高科技智能产业,其技术上存在难以逾越的高度,迄今为止,全球指纹科技产品也刚刚处于起步阶段,国内市场上还没有产生真正意义上的指纹科技产品强势品牌,目前在中国市场上已经有一些指纹锁厂家进入市场开发阶段,如杭州锦江科技、新加坡玺玛克、深圳爱迪尔和长春鸿达等,但这些公司的全国性业务还没有完全做开,一般的指纹锁厂家都是通过直销方式为政府机关、金融系统提供产品[1]。
目前世界上指纹锁主要以德国与韩国为代表,无论是在技术还是工艺方面都占据着优势,而国内的岭南锁系主要是做组合安装,自主技术和工艺水平偏低。
国外的指纹锁品牌借助北京奥运会登陆中国,强势的占据了指纹锁的高端市场,而国内技术和工艺偏低的指纹锁产品只是艰难的占据着低端市场,因此和国外品牌的利润相比相距甚远,传统的门锁需要新一代的锁来更替,在这样巨大的市场需求下,国内许多企业纷纷研制开发指纹安防产品,然而经过最初几年的市场突围,指纹锁却一直没有大规模的普及应用。
众多厂家倒在了市场引导阶段,成为指纹锁市场开拓大军的先烈。
而现在指纹锁市场已经基本被打开,指纹锁将迎来一个快速发展的时期。
1.3本论文的研究内容及结构
基于指纹识别的电子锁系统设计主要由单片机、指纹模块、电子锁、液晶显示屏、ADC键盘、时钟几个部分构成,围绕指纹锁为核心功能设计的一个系统,在第二章中对设计方案的选择作重点介绍。
第三章介绍系统硬件电路设计,第四章介绍系统软件设计,第五章介绍实物制作与调试。
第2章整体设计方案
2.1系统功能设计
现目前,德国和韩国的主流指纹锁厂商对于指纹锁的功能设计主要是指纹加密码,然后加以严格的工艺设计形成高质量的指纹锁,国外的指纹锁品牌借助2008年北京奥运会登陆中国,借助奥运会的广泛影响力,极大地宣传了指纹锁产品,指纹锁的功能和设计也同样被宣传,指纹锁的功能的主流设计也被公众接受。
在奥运会期间广泛的应用于奥运会的各个建筑的安防系统的指纹锁产品获得广泛好评,经过几年的发展,现在指纹锁市场上的产品在功能设计上几乎是如出一辙,对于大多数指纹锁产品用户能够看到的主要是三部分,指纹传感器的采集窗口、键盘以及液晶显示屏。
不同指纹锁的差异也主要存在于制作工艺以及电路设计上。
基于指纹识别的电子锁系统是针对以指纹图像采集、识别为核心而开发出的系统。
该系统包括ADC键盘,用户在ADC键盘上输入开锁密码,系统就会控制指纹模块开始搜索是否有手指放上,一旦感应到有手指,就立即采集指纹图像,并将采集到的图像转化成特征并存储下来。
通过比对该特征和模版特征来控制是否开锁。
该系统利用人体指纹各异性和不变性,为用户提供加密手段,使用时只需用户将手指放在指纹传感器的采集窗口上,即可完成采集任务,操作十分方便快捷。
系统的液晶显示屏可以显示出指纹模块采集、转化、合并、存储、比对各个流程的结果,系统另外还有指纹模版的存入功能,用户可以随意存入或者删除指纹模块中的模版,只要指纹模块中有该用户的指纹模版,该用户就可以通过指纹开锁。
同时该系统还有开锁记录查询功能,可以通过ADC键盘输入密码之后查询之前的记录。
该系统的核心功能有以下两个方面:
1.指纹模板登陆:
系统通过指纹模块连续采集用户一个手指的指纹两次,并将采集到的指纹图像合成指纹模板存储,存储之后的指纹模板断电保存,存储之后的每一个指纹模板都有一个ID号。
2.指纹的比对:
当系统采集到待验证的指纹图像之后,系统将该图像转化为指纹特征文件,然后把该指纹特征文件与已存储的指纹模版特征文件相对比,比对之后给出结果,系统控制电子锁作出相应的动作并控制液晶显示比对结果。
系统总体框架
基于指纹识别的电子锁系统主要以指纹模块ZFM-206-SA、单片机ATmega16、ADC键盘、液晶RX12864ZW、时钟芯片DS1302、电子锁KL-03等组成,系统的总体框图如下图2-1所示:
指纹模块ZFM-206-SA
单片机
ATmega16
液晶RX12864ZW
ADC键盘
电子锁KL-03
时钟芯片DS1302
图2-1系统总体框图
指纹模块只有在指纹采集对比等操作的时候才需要处在工作状态,而其他时候,指纹模块就不需要处于工作状态,指纹模块如果一直处于工作状态,对于指纹传感器的寿命会有影响,因此设计ADC键盘,用户必须先在ADC键盘上输入,之后才能启动指纹模块,进行相应的操作,同时时钟模块DS1302用以提供系统的时间的显示和记录,液晶显示模块会显示指纹锁运行各个环节的运行结果和提示信息。
第3章系统硬件电路设计
系统的硬件电路设计主要是根据系统整体框图来具体的设计各个部分的电路,主要包括ATmega16单片机外围电路设计、指纹模块ZFM-206电路、ADC键盘电路、液晶RX12864ZW电路、DS1302电路几部分。
3.1ATmega16单片机外围电路设计
基于指纹识别的电子锁系统设计采用的单片机是ATmega16,在总体电路中,单片机部分电路只设计外围经典电路即可,包括复位电路、晶振电路、ISP下载电路几部分,电路设计如图3-1所示:
图3-1单片机及其外围电路
外部复位由外加于RESET引脚的低电平产生。
当复位低电平持续时间大于最小脉冲宽度时即触发复位过程。
ISP程序下载的接口电路,方便之后用ISP下载线下载程序进行编译调试。
晶体振荡电路中XTAL1与XTAL2分别为用作片内振荡器的反向放大器的输入和输出,为了保证系统稳定性和串口传输质量所以选用外部晶振,晶振选用6.0MHZ。
指纹模块ZFM-206电路
ZFM-206系列光学指纹模块以高性能高速DSP处理器AS601为核心,结合光学指纹传感器,在无需上位机参与管理的情况下,具有指纹录入、图像处理、指纹比对、搜索和模板储存等功能的智能型模块。
指纹图像读取过程中,对干湿手指都有较好的成像质量,适用人群广泛。
无需具备指纹识别专业知识即可应用。
用户根据ZFM-206模块提供的丰富控制指令,可自行开发出功能强大的指纹识别应用系统。
并且面对不同应用场合,用户可自行设定不同安全等级。
模块与用户设备采用串行通讯,有四个引脚,分别是电源正输入端、串行数据输出、串行数据输入、信号地(与电源地相连)。
模块通过串行通讯接口,可直接与3.3V或者5V电源的单片机进行通讯:
模块数据发送脚(2脚TD)接上位机的数据接收端(RXD),模块数据接收脚(3脚RD)接上位机的数据发送端(TXD)。
由于指纹模块的供电为3.3V,而电源为5V,因此需要一个电压转换电路,采用了AMS1117转换芯片,AMS1117将5V电压转化为3.3V给指纹模块供电。
电压转换电路如图3-2所示:
图3-2指纹模块及电压转换模块电路
3.3ADC键盘电路
系统的4x4键盘采用的是ADC键盘,如果采用普通4x4键盘需要八个I/O口控制,会对单片机的引脚占用过多,如果采用ADC键盘只需要一个AD转换的I/O口即可检测,并且ATmega16自带AD转换,容易实现键盘检测功能。
ADC键盘采用电阻分压的方式,不同的键按下之后会输出不同的电压,通过对电压进行AD转换之后就可以判断键值。
ADC键盘电路如图3-3所示:
图3-3ADC键盘电路
设计ADC键盘电路时主要有两个问题,第一个是电阻阻值问题,即如何让不同的按键按下之后,输出电压的差值尽可能大,以便于区分。
第二个是无按键按下时,电压输出端是接地还是悬空,即如图3-2所示中,电阻R26是接在R10左端还是如上图接在开关S2右端。
第一个问题主要可以通过硬件电路或者软件解决,按图3-2所示,每个电阻的阻值都为10K,16个按键依次按下时输出电压分别为电源电压VCC的1/17、2/17、3/17、、、16/17,不同按键按下时输出电压区分比较明显。
第二个问题,按图3-2所示,如果电阻R26是接在R10左端,那么在没有按键按下时电压输出端会悬空,单片机AD转换输出的值会随机大幅度波动,给键值检测带来困难,并且在任何时候电路都会耗电,如果采用电池对指纹锁供电,该设计并不合理,如果采用图3-2所示的设计,主要有两个方面的优点,第一,在没有按键按下时电压输出为0V,电压输出不会波动,在这基础上设计软件也很简便,第二,这种电路设计几乎不会耗电,对于独立的供电电源来说是很合理的。
液晶RX12864ZW电路
RX12864ZW是自带中文标准字库(控制芯片ST7920)图形点阵液晶显示器,它主要由行驱动器/列驱动器及128X64全点阵液晶显示器组成,可完成图形显示,也可以显示8X4个(16X16点阵汉字),在该系统与单片机采用并行控制。
接口电路如图3-4所示:
RX12864ZW上电之后不会自动复位,因此把复位端口RST接单片机PC1口,通过单片机给RST一个持续的低电平触发复位。
系统处于空闲状态时,液晶只需要显示时间以及提示信息,系统采用独立的电源供电,对于电路的耗电必须做严格的控制,因此在无用户进行操作的空闲状态,液晶不需要开背光。
因此控制背光的引脚LEDA、LEDK应该由系统的工作状态决定。
液晶的控制引脚RS(CS)、R/W(SID)、E(SCLK)分别接单片机的PC7、PC6、PC5引脚。
DB0~DB7接单片机的端口B。
PSB端口为液晶串口/并口控制的选择端口,该系统中液晶采用并口控制,PSB接高电平
图3-4液晶12864接口电路
DS1302电路
系带有时间显示和记录功能,采用时钟芯片DS1302来实现,DS1302是美国DALLAS公司推出的一种高性能、低功耗的实时时钟芯片,附加31字节静态RAM,采用SPI三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号和RAM数据。
实时时钟可提供秒、分、时、日、星期、月和年,一个月小与31天时可以自动调整,且具有闰年补偿功能。
工作电压宽达2.5~5.5V。
采用双电源供电(主电源和备用电源),可设置备用电源充电方式,提供了对后背电源进行涓细电流充电的能力。
DS1302用于数据记录,特别是对某些具有特殊意义的数据点的记录上,能实现数据与出现该数据的时间同时记录,因此非常适用于系统中记录指纹锁系统一些动作的时间。
DS1302及其外围接口电路如图3-5所示:
图3-5DS1302及其外围接口电路
DS1302外围电路的晶振为32.768KHZ,
Vcc2:
主电源;
Vcc:
备份电源。
当Vcc2>
Vcc+0.2V时,由Vcc2向DS1302供电,当Vcc2<
Vcc时,由Vcc向DS1302供电。
SCLK:
串行时钟,输入,控制数据的输入与输出;
I/O:
三线接口时的双向数据线;
CE:
输入信号,在读、写数据期间,必须为高。
该引脚有两个功能:
第一,CE开始控制字访问移位寄存器的控制逻辑;
其次,CE提供结束单字节或多字节数据传输的方法。
电子锁及相关电路
电子锁KL-03工作的额定电压12V,额定电流1A,为方便单片机控制电子锁动作,在单片机和电子锁之间采用了一个继电器,电子锁由外部电源供电,单片机通过控制继电器来控制电子锁动作,为简化系统的供电电源,采用了一个7805芯片直接将给电子锁供电的电源电压转化成5V,给系统供电。
电子锁以及系统5V供电电路如图3-6所示:
图3-6电子锁以及系统5V供电电路
单片机I/O口的输出电流比较小,因此在单片机的控制引脚输出端接一个三极管,继电器的吸合电流就是三极管的集电极电流,三极管的基极电流=集电极电流/放大倍数,为保证继电器工作稳定,可以让基极电流为计算值的2倍左右。
通过计算,基极电阻可以选在2K左右,该设计中基极电阻为1K,
当三极管由导通变为截止时,继电器绕组感生出一个较大的自感电压。
它与电源电压叠加后加到控制继电器线圈的三极管的发射极和集电极两极上,使发射结有可能被击穿。
为了消除这个感生电动势的有害影响,在继电器线圈两端反向并联抑制二极管,以吸收该电动势。
自感电压与电源电压之和对二极管来说却是正向偏压,使二极管导通形成环流。
感应的高电压就会通过回路释放掉,保证了三极管的安全。
继电器的常闭端接有一个指示灯,指示继电器的吸合状态,当继电器吸合时指示灯熄灭,没有吸合时指示灯亮。
第4章系统软件设计
系统软件设计主要以硬件电路设计为基础,以实现系统功能为导向,主要包括指纹识别程序设计、ADC键盘程序设计、DS1302程序设计、液晶RX12864ZW程序设计几部分。
4.1整体程序流程图
基于指纹识别的电子锁系统围绕指纹图像采集、识别主要实现三种功能,指纹登陆、验证指纹、记录查询。
指纹登陆主要是为用户在指纹锁中存入指纹模板,验证指纹主要是对待验证的指纹进行识别并判断是否和以存储的指纹模版相同,并对电子锁做出相应的控制,记录查询主要是针对验证指纹的记录进行的历史查询。
因此系统的整体程序设计就围绕系统的三种功能,用ADC键盘输入密码来实现对于三种功能的选择,因此系统程序设计的主要内容就是对三种功能的设计。
系统的整体流程图如图4-1所示:
开始
模块初始化
扫描是否有键按下
否
判断键值
是
按键2
按键3
按键1
是否
采集指纹两次
扫描是否有手指
显示记录
合成模版
采集指纹图像
显示结果
搜索指纹库
是否搜索到
开锁
图4-1整体程序流程图
4.2指纹识别程序设计
4指纹模块通讯协议说明
指纹模块采用UART与单片机通讯,对命令、数据、结果的接收和发送,都采用数据包的形式。
对于多字节的,高字节在前低字节在后。
数据包格式:
包头
地址
包标识
包长度
包内容(指令/数据/参数/确认码)
校验和
包头固定为0xef01,传送时高字节在前。
地址默认值为0xffffffff,用户可通过指令生成新地址,模块会拒绝地址错误的数据包。
传送时高字节在前。
包标识,0x01表示是命令包,0x02表示是数据包(Datapacket),且有后续包。
数据包不能单独进入执行流程,必须跟在指令包或应答包后面。
0x07表示是应答包,可以跟后续包。
0x08表示是最后一个数据包,即结束包。
包长度指的是包内容(指令/数据)的长度加上效验和的长度(即包内容长度+2)。
长度以字节为单位(即字节数),传送时高字节在前。
包内容可以是指令、数据、指令的参数、应答结果等。
(指纹特征值、指纹模板都是数据)。
校验和是包标示、包长度和包内容的所有字节的算术累计和,超过2字节的进位忽略。
指令只能由上位机下发给模块,模块向上位机应答。
模块收到指令后,会通过应答包,将有关命令执行情况与结果上报给上位机。
应答包含有参数,并可跟后续数据包。
上位机只有在收到模块的应答包后才能确认模块的收包情况与指令执行情况。
应答包的内容包括一个字节的确认码(必须有)和可能有的返回参数。
模块在上电完成初始化工作以后,等待接收上位机命令。
在收到正确命令后,迅速执行相应的,操作,在操作完成后返回对应的信息。
在模块执行命令的过程中,模块不会响应上位机发出的其他命令。
指纹模块的命令如下表格所示:
类型
序号
代码
功能说明
系
统
类
1
0x13
校验口令
指
纹
处
理
13
0x08
上传特征
2
0x12
设置口令
14
0x09
下载特征
3
0x15
设置地址
15
0x06
存储模版
4
0x0e
设置系统参数
16
0x07
下载模版
5
0x0f
读系统参数
17
0x0c
删除模版
6
0x1f
读指纹模板索引表
18
0x0d
清空指纹库
7
0x1d
读指纹模板数
19
0x03
比对特征
8
0x01
录指纹图像
20
0x04
搜索指纹
9
0x0a
上传图像
其
他
21
0x14
采样随机数
10
0x0b
下载图像
22
0x18
写记事本
11
0x02
图像转特征
23
0x19
读记事本