APP下载

指纹电子锁的设计与实现

2013-08-01张素文许诗诗危文豪

关键词:指纹图指纹识别流程图

张素文,许诗诗,危文豪

(武汉理工大学自动化学院,湖北 武汉 430070)

指纹具有唯一性和方便性,指纹锁的安全性能高且只需接触指纹传感器约0.5~1.0 s就能实现开锁功能,方便快捷。随着指纹技术和半导体技术的发展,指纹锁已经被广泛应用到军事、保密等机构,笔者设计了一款价格低、性能高的指纹锁,特别适用于百姓家庭和现代化办公室。

系统通过指纹传感器采集指纹,以专用指纹识别集成电路TFS9064芯片为核心,结合89C52单片机来进行指纹识别和锁头控制。该系统具有按键输入和液晶显示输出功能,通过TFS9064进行指纹的识别,单片机控制驱动电机的正反转,推动门锁上的锁舌进出,实现门锁的开、关以及指纹锁的全部功能。

1 指纹识别技术

指纹自动识别技术主要包括指纹图像采集、指纹图像预处理、特征提取和特征匹配等过程[1]。指纹识别的基本流程如图1所示。

图1 指纹识别基本流程

指纹识别首先进行指纹图像采集,然后进行预处理和特征提取,建立数据库。将待识别的指纹与数据库中的指纹特征进行匹配,若匹配成功,则锁头打开。

图像预处理步骤分为图像的归一化、方向图计算、图像增强、图像二值化和图像细化[2]。

指纹特征分为3类:全局特征、局部特征和局部全局特征。特征提取把指纹图像的纹线走向、纹线断点、交叉点等用数值的形式表示,充分体现了指纹唯一性的特征[3]。通常指纹特征可以分为两类:细节点和单独点。细节点用来匹配指纹图像;单独点包括中心点和三角点。

指纹匹配的方法有很多,包括基于图像的匹配、脊模式匹配、细节点匹配,以及基于图形的匹配[4]。指纹细节点具有唯一性和稳定性,且表达方式简单,因此绝大多数指纹匹配算法是基于指纹细节点的匹配[5]。

2 系统硬件设计

(1)系统硬件结构框图如图2所示。

图2 系统硬件结构框图

该系统采用双CPU设计,主要由以下几部分构成:指纹传感器、指纹处理器、主控制器、人机交互模块以及锁头执行模块。指纹处理芯片TFS9064为整个系统的核心部分。

指纹传感器选用ATW300采集指纹图像;指纹处理器选用TFS9064芯片作为指纹信息的处理芯片;主控制器选择STC89C52单片机。人机交互模块采用一般按键和液晶显示器LCD12864;锁头执行模块在89C52的控制下,完成对锁舌进出的准确控制,实现门锁的基本功能。

(2)指纹采集与识别模块。图3为指纹的采集与识别模块。指纹传感器ATW300通过指纹处理器TFS9064对指纹进行采集,TFS9064内部有FMCU8KB嵌入式微控制器、FID116KMG指纹识别处理模块、32可编程接口及SPI/FLASH接口[6]。TFS9064通过 SPI接口与指纹传感器连接。为了扩大指纹识别库的容量,系统采用AT26DF161,外扩了64 k的FLASH。

图3 指纹采集与识别模块

(3)主控制电路设计。图4为主控制电路图,主控制器采用STC89C52单片机,完成的任务主要有:向指纹处理芯片发送控制指令;响应外部中断,完成输入功能;控制液晶显示器;控制锁头执行等。

(4)键盘及LCD显示电路设计。键盘输入及LCD显示电路如图5所示,系统由4个输入按钮、LCD12864输出显示以及喇叭语音提示组成。LCD12864本身不带字库,需要自己建立所需的字模数组[7]。4个按钮的功能分别为上翻、下翻、确定和返回,结合操作界面就能完成各种操作。喇叭用来播放语音提示信息,使操作更具人性化。

图4 主控制器电路图

图5 键盘输入及LCD显示电路图

(5)锁头执行模块设计。锁头执行模块主要包括5V直流电机、驱动芯片L9110、锁舌以及一些机械传动部件。电机驱动电路图如图6所示。

图6 电机驱动电路图

3 系统软件设计

系统的软件设计主要是对主控制器89C52进行编程,89C52与指纹处理器TFS9064通过串口进行通信,通过发送命令,实现指定的指纹提取、比对、转存等一系列功能,可提高编程的效率[8]。

3.1 系统总体软件设计

系统的主程序流程如图7所示。开机后按任意键,系统对串口和外部中断0等进行初始化,然后对指纹进行采集和匹配,若匹配成功则进入主界面菜单,主界面有两个功能选项,分别是开锁和设置选项,这两个功能通过主程序调用外部中断0子程序实现。

图7 主程序流程图

3.2 主要模块程序设计

图8 外部中断0服务子流程图

(1)外部中断处理程序设计。外部中断0服务子流程图如图8所示,首先判断是否开锁,如果是则打开锁,如果不是则进入设置界面,在该界面中可选择指纹位置编号,进而对该位进行注册或删除操作,当操作完成时则返回设置界面。

(2)指纹注册程序设计。指纹注册子程序流程图如图9所示,在程序中对指纹进行两次注册,通过按键改变指纹的ID号,从而确定指纹的位置,向从机(TFS9064)发送指纹注册指令,输入指纹,主机通过判断返回码来确定指纹是否注册成功[9]。

图9 指纹注册子程序流程图

(3)指纹匹配程序设计。指纹匹配在指纹处理芯片TFS9064上实现,当需要开锁时,将预存的指纹模板与现场采集到的指纹进行特征匹配,并将匹配结果返回给主控制器89C52,由89C52进行其他的外围控制。指纹识别程序流程图如图10所示。

(4)指纹删除程序。在该程序中首先选择指纹删除的位置,即指纹在从机存储位置的ID号,向从机发送指纹删除指令并等待接收5个字节的返回码,主机通过判断返回码的相关位来确定指纹是否删除成功,从而在LCD屏幕上显示相关信息并发送提示音[10]。指纹删除子程序如下:

图10 指纹识别程序流程图

该程序中有一个选择分支,用于校验主机接收到的返回码,判断指纹是否删除成功。程序执行完后返回设置菜单。

4 试验结果

设计的系统实物图及注册或删除指纹界面如图11和图12所示。对系统进行测试:先录入一枚完好的指纹,然后用该手指的指纹去开锁,经过50次左右的测试,每次都能将锁打开。但存在手指若被划伤则锁没打开的个别现象。

图11 实物图

图12 注册或删除指纹界面

在测试过程中发现,将同一个指纹多次注册或采用指纹特征点较多的手指指纹进行注册,都可以提高系统的识别效率,缩短开锁时间。

5 结论

笔者设计了一款家庭用指纹电子锁的硬件和软件。该系统通过ATW300指纹传感器,经指纹识别集成电路芯片TFS9064处理和单片机控制,实现了指纹锁的功能。试验结果表明:系统工作稳定,识别效率高,成本低,功耗低,可满足设计要求。

[1] 张成海,张铎.现代自动识别技术与应用[M].北京:清华大学出版社,2003:50-82.

[2] NOLIN R R B.Automatic fingerprint recognition[M].New York:Springer-Verlag,2003:12-45.

[3] WU X C,GAO S B,HUANG F.Design of low-power micro fingerprint lock based on STM32F103ZE[C]//2011 Electric Information and Control Engineering Conference.[S.l.]:[s.n.],2011:423 -441.

[4] 冉崇洁.基于DSP的指纹锁系统设计与实现[D].成都:电子科技大学图书馆,2008.

[5] 徐爱钧,彭秀华.Keil Cx51 V7.0单片机高级语言编程与uVision2应用实践[M].北京:电子工业出版社,2008:100-120.

[6] 张素文,石连传.基于USB与DSP的指纹识别系统的设计实现[D].武汉:武汉理工大学图书馆,2009.

[7] 王崇文,王廷才.指纹图像后处理[J].计算机工程与设计,2002(9):14-16.

[8] 何东健.数字图像处理[M].西安:西安电子科技大学出版,2001:35-48.

[9] 田捷,杨鑫.生物特征识别技术理论与应用[M].北京:电子工业出版社,2003:100-110.

[10] 胡佳曦.指纹识别的算法研究[D].武汉:华中科技大学图书馆,2005.

猜你喜欢

指纹图指纹识别流程图
芦荟药材化学成分鉴定及UPLC指纹图谱分析
基于单片机指纹识别电子寄存柜设计
指纹识别技术综述
专利申请审批流程图
专利申请审批流程图
指纹挂锁
沉香GC-MS指纹图谱分析
基于模板检测法的指纹图像的细节特征提取
基于大容量指纹识别的实时身份认证系统
2型糖尿病患者肠道菌群两种分子指纹图谱分析研究