128 基于单片机的指纹识别密码锁的设计 基于单片机的指纹识别密码锁的设计 Design of Fingerprint Identification Password Lock Based on SCM 张燕红 王丽雪 童晨科 葛倍倍(常州工学院电气与光电工程学院,江苏常州213002) 摘要:针对传统锁容易被盗的缺点,利用指纹的唯一性,设计了以单片机为主控芯片,以光学指纹模块为载体的智能电 子密码锁。用液晶显示屏显示指纹模块收集到图像比对的结果,如果用户开锁,必须要验证密码并通过指纹传感器验证指 纹,如果密码和指纹比对都正确则开锁,否则锁不予打开,用户同时可以通过认证超级用户密码对指纹信息进行修改。因为 门锁的开启是由指纹信息来确定的,而个人的指纹特征是独一无二的,一般情况下很难被仿制和被盗,所以指纹识别密码锁 的安全性较高,具有很广的适用性。 关键词:单片机,指纹模块,电子密码锁,指纹比对,认证超级用户 Abstract:The shortcoming of traditional lock is easy to be stolen,according to the unique character of the fingerprint,the intelligent electronic cipher lock is designed.whose main chip is SCM and the optical fingerprint module is used as the car- rier.LCD is used to display the matching results,which is collected by fingerprint module。 the user lock.it is necessary to verify password and fingerprint by the fingerprint sensor.if the password and fingerprint matching is correct,then the lock is open,otherwise the lock not open. Keywords:SCM,fingerprint module.electronic password lock.fingerprint matching,authentication super user 市场上主流的密码锁都是电子设计的,其最大的安全隐患 就是容易被他人窃取密码和主人自身遗忘,因此越来越多的安 全系统引入了生物活体技术,比如虹膜、指纹、掌纹、人脸,指纹 识别技术包括指纹密码锁正在逐步走进人们的生活中。本文采 用C58单片机作为主控芯片,结合指纹模块,组成整个系统,用 电势,其方向是力图保持电流不变,即总想保持继电器中线圈电 流的方向为由下至上。这个感应电势与电源电压叠加后加在三 极管两端,容易使三极管击穿。为此要加上一个续流二极管 IN4148,将继电器线圈产生的感应电势短路掉(电流方向为顺时 针方向在二级管和继电器所构成的小回路里面流动)从而保护 路的作用。电磁锁电路设计如图2所示。 户想要打开锁,就需检测手指将采集的指纹进行采集比对,并将 采集到的图像进行初步处理然后转化成数据的形式发送出去, 这样使得图像蕴含特征信息更加准确,它利用人体指纹不变性 和差异性,为用户提供了加密手段,最后通过单片机将存储的模 三极管,也消除了对其他电路的干扰;续流二极管起到了保护电 版数据和接受到的数据对比,计算其相似程度得到匹配的结果。 若指纹对比正确则开锁,否则不开锁。同样也能够输入密码进行 开锁,比较密码信息进行修改。 1系统硬件设计 系统的硬件包括七大部分:STC89C58RD+单片机核心控 件,指纹识别模块、键盘按钮、报警蜂鸣器、电控锁、液晶显示屏、 电源电路,其结构框图如图1所示。 FM 1 80手;=i纹I. STC89C58 模块 —_' RD+单片机 —, 围圈圈 囹 圈2电磁锁电路设计 图1 系统结构框图 1.2指纹识别模块 1.1电磁锁的设计 开锁和关锁的过程为:当单片机得到开锁信号时引脚P3.6 FM一180指纹模块以高速DSP处理器为核心,集成Flash 芯片的光学指纹传感器。该指纹模块具有指纹图像处理、模板提 输出低电平,三极管Q1饱和导通,VCC电源加到继电器两端, 继电器线圈通电,产生磁力常开触点闭合CON2得电,这时发 光二极管D6发光,完成开锁动作。当单片机得到关锁信号时给 引脚P3.6置高电位,三极管Q1截止,继电器线圈两端电压为 取匹配和存储、指纹搜索等功能。录入指纹特征便能产生一个指 纹模板:录入的2次指纹(1和0两种信息)模糊处理后生成模 板,模板在CMOS芯片上生成了指纹特征。然后进行模糊处理 (1比1比对),返回信息(是否录入成功)。指纹模块在识别模式 零,继电器的常开触点断开CON2断电,这时发光二极管灭D6 熄灭,完成关锁过程。 在三极管截止的时候,继电器中电流突然中断,会产生感应 {2016年江苏省大学生创新训练项目 时,FLASH芯片里的指纹会和采集到的数据匹配,再从N个指 纹中找到和目前指纹特征相互匹配的指纹图像。系统进行判断 是否符合,如果符合就输出几号指纹,单片机就能识别和登记指 纹。FM一180指纹模块内部包含了:DSP芯片、光学头、通信连接 《工业控制计算机}2016年第29卷第12期 129 线、Flash、稳压芯片和CMOS传感器等等[7-8 。指纹模块内部结 接。②生成指纹模板会经过 构如图3所示。 图3指纹模块内部的结构 指纹模块主要通过3个模式来实现功能:切换、指纹录入、删 除所有指纹。切换:指纹识别首先转切到识别模式,再去探测是否 有指纹出现在光学采集L。如果有,就扫描指纹,和资料库里的指 纹匹配,最后读出号码。指纹录入:指纹模块首先进入录入模式、 再按下录入指纹、灯会闪烁,录入成功…次,蜂呜器发出一次声 音,然后拿开手指,隔1s按下刚才的手指,会再录入一次,假如两 次都成功,这个指纹就成功录入。蜂呜器发出两次声音,表示指纹 录入成功。完成录入后,就能进入识别模式,或者接着录入另一个 指纹。录入完成后,按F指纹转换,就会进入指纹识别开锁模式 2系统软件设计 2.1指纹锁主程序设计 主程序由液晶显示程序、指纹模块和按键程序组成。开启开 机液晶显示、键盘扫描、指纹模块建立通信。指纹识别密码锁主 程序的设计如图4所示。 圈4主程序设计框图 2.2开锁程序的设计 指纹密码锁开机后进入开锁页面.输入普通密码并验证指 纹,假如输入正确,则成功开锁,然后返回初始值。输入错误密码 假如累计三次,则执行报臀程序。开锁程序流程图如图5所示。 2.3指纹通信模块的程序设计 指纹模块的操作是通过单片机的串口发送与接收命令完成 的,先通过串口给指纹模块发送命令,然后等待指纹模块传回数 据;再通过单片机进行数据的处理,从而判断命令是否执行。主 要的流程有两步: 歼机。后进行模块握手,判断模块是否正常连 四个命令:录入图像、生成特 征、合成指纹模板、存储指纹 模板。成功录入一个指纹需 要录入同个手指2次。重复 以上步骤.可以再录入其它 指纹。指纹通信模块流程如 图6所示。 3系统调试 按照系统的硬件和软件 设计,系统的实物如图7所 示。接通系统电源,屏幕礁示 “指纹识别系统握手成功”。 显示完毕后,进入设置新超 级密码和普通密码分别为 “000111'’和“000222”(输入 密码后按按键15确认)。成 图5开锁程序流程圈 功后进人“录入指纹”(每次 一 ( ,、 詈 一发送注册 !模扳指令广 图6指纹通信模块流程 成功录入一种指纹都需要按一次按键“14录入”).录入2次_人 拇指(假如录入2个不同的手指不成功会提示错误)再习乏入两次 中指,系统提示成功录入2个指纹(总抉可以录入5O个手指), 按按键“15确认后退出”完成录入。 图7系统实物图 《工业控制计算机}2016年第29卷第12期 4带阻滤波器的FPGA实现 141 形,所以查看信号的频谱还是需要用MATLAB来实现。这里对 FPGA的输出信号数据导出,用MATLAB进行调用,从而进行 频谱分析,得到FPGA时域波形和频谱图分别如图5所示。 F2GA ̄真信号滤波前的时域 FeOA ̄真信号滤波后的时域 4.1移位相加算法 本课题采用FPGA作为控制器,由于在IIR带阻滤波器的 实现中,运用了大量的乘法和除法运算,而FPGA器件中的乘法 器IP核、除法器IP核资源是有限的,大量使用十分消耗资源。 当滤波器阶数太高时,乘法器IP核将会不足。而滤波器的系数 经过量化后是一个常系数,根据二进制数的特点,可以将移位相 加算法运用到IIR带阻滤波器的实现中[5]。在二进制运算中,当 常系数为2的整数幂次方时,可以左移相应位数实现乘法运算, 右移实现除法运算,如果能将常系数分解成多个2的整数次幂 时间(ms) FPGA ̄"真信号拣波前的频谱 时间0ns) FPGA ̄真信号摅波后的频谱 的数相加,则可采用移位相加算法实现乘除法运算。如: Ax5=Ax(4+1)=A左移2位+A Axl2=Ax(4+8)=A左移2位+A左移3位 A/4=A右移2位 由于级联型结构相比直接型结构,受参数量化影响较小,便 于准确实现滤波器的零极点,因此本文将移位相加算法运用到 级联型结构的带阻滤波器中。 4.2滤波器系统的差分方程 频率㈣ 频率 . 图5 FPGA仿真输入、输出信号的时域和频谱图 与图4的仿真结果进行比较,可以发现FPGA处理后的数据与 IIR数字滤波器可用一个N阶差分方程表示: 兰 y(n): b ̄x(n一『)+ a ̄y(n-i) i-0 i=, MATLAB直接仿真的结果相同,从图5可以看出,含有噪声的信号 (14) 由MATLAB仿真得知,滤波器为6阶,可等效为3个二阶 在FPGA中经过滤波处理,变成了期望的三角波信号,3O0Hz的噪 声已经被明显滤除,从而可以得出IIR带阻滤波器满足设计要求。该 带阻滤波器对于纳米平台谐振噪声的消除,具有良好的实用性。 参考文献 [1]崔玉国,朱耀祥,马剑强,等.压电微动平台的定位控制[J].振动与冲 击,2015,34(17):63—64 子系统级联组成,经过计算,可以求得各级子系统的系数,而导 出的系数需要经过量化,才能应用到FPGA中。经过16位量化 后 ],可得各子系统的差分方程为: 16384y,(n)=14678[x(n)+x(n-2)]一17243[x(n一1)] 一[一17445y (n-7)+15479y,(n-2)] (15) [2]胡俊峰,郝亚洲,徐贵阳.压电陶瓷驱动的精密微操作平台特性与优 化[J].纳米技术与精密工程,2014,12(5):366—371 [3]DAI J,SHEN J,SHAO M.Design and implementation of filter in the control system of the high accuracy micro..displace.. 16384y2(n)=16384[y,(n)+y,(n-2)]一19247[Y,(n-7)] 一[一18244y2(n一7)+14676y ̄(n-2)] (16) 16384y3(n)=16384[y2(n)+ (n一2)]一19247[y2(n一7)] 一ment platform[J].International Journal of Modeling,Identifica— (17) [一19939y ̄(n一7)+15538ys(n-2)] tion and Control,2014,21(1):82—92 [4]屈星,唐宁,严舒,等.基于FPGA的IlR数字滤波器的设计与仿真 各子系统均可以利用移位相加算法实现乘法运算,减少了 乘法器IP核的调用,提高了运算速度。 4.3 FPGA实现及仿真 [J].计算机仿真,2009,26(8):305—306 【5]余志强,刘建华,何朝峰,等.巴特沃兹数字滤波及其在智能测控系统 中的应用[J].电测与仪表,2007,44(5):5—8 本文基于Altera公司的Cyclone V 5CSXFC6DE 1C8NES 芯片进行设计,编程环境为Quartus l 13.l1,对IIR带阻滤波器 进行FPGA实现,并仿真测试FPGA实现后的滤波效果。根据上 文的方案编写代码,在FPGA实现后,可以用ModeISim进行仿 [6]鞠芳,马昕,田岚.基于FPGA的数字乘法器性能比较[J].电子器件, 2011。34(6):718—722 [7]赵娜,黄志利,徐宝连,等.数字滤波器不同实现结构下的有限字长效 应分析[J].弹箭与制导学报,2008,28(3):246—249 [收稿日期:2016.9.5] 真验证,但是ModelSim的波形界面中只能查看信号的仿真波 (上接第129页) 参考文献 [1]张齐,朱西宁单片机应用系统设计技术基于C51的Proteus仿真 [M].北京:电子工业出版社,2O0g [2]董继成.一种新型安全的单片机密码锁[J].电子技术.2004,4(2):3—8 进入菜单模式,按按键“1 1切换”可以进行选择“开锁”和“系 统设置”,先选择“开锁”菜单(按“10确认进入”),系统提示输入普 通密码(原先设置的普通密码为000222,按按键“12确认菜单”可 以完成输入)(如果输入三次错误蜂鸣器就会报警),密码输入正确 昏,进入验证指纹(原先录入的大拇指和中指),验证成功后锁马上 汀开。按按键“13关锁”就可以关锁,系统回到了菜单模式。 [3]张荣.基于单片机的智能系统设计与实现[M].北京:电子工业出版 社,2005 [4]李建波.基于STC89C52单片机的电子密码锁[J].现代电子技术. 2008,2(5):5-9 再选择“系统设置”菜单(按“10确认进入”),系统提示输入超 级密码(原先设置的超级密码为0001 1 1,按按键“12确认菜单”可 [5]王雅倩.电路设计与制版Prote199入门与提高[M].北京:人民邮电 出版社发行,2008 [6]陈舜青,饶琛.C语言程序设计[M].南京:南京大学出版社,2008 [7]王粉花,李擎.嵌入式系统与单片机[M].北京:清华大学出版社, 2013 2工完成输入)密码输入正确后进入一个子菜单,按按键“1 1切换” 可以进行选择“指纹管理”、“普通密码修改”和“超级密码开锁”。 l结束语 系统调试结果证明了指纹密码锁的应用性,为提高居民小区 [8]聂荣.实例解析PCB设计技巧基于Protel DXP[M].北京:机械工业 出版社,2006 [收稿日期:2016.10.9] 约安全性提供了一种新型的密码门锁,具有较高的推广应用价值。