基于STM32单片机的指纹锁系统设计

(整期优先)网络出版时间:2021-02-02
/ 3

基于 STM32单片机的指纹锁系统设计

曹淋凯

江苏大学,江苏镇江, 212113

摘要:现如今人们的隐私保护意识不断提高,急需要发展安全可靠、方便快捷的身份识别开锁技术。由于人体指纹的唯一性,指纹识别技术一直以来备受关注,是众多身份识别技术中较为成熟的一种识别方式。该文主要介绍了一种以STM32F103ZET6芯片为核心控制器的指纹识别开锁系统,利用ATK-301高性能电容半导体指纹模块进行指纹信息的采集和处理,利用TFT电阻式触摸屏进行显示和控制,可以进行人机交互,此外配合存储器芯片和继电器等器件,实现了指纹信息的录入、删除、匹配开锁等功能,充分利用了指纹识别技术安全便捷等优点。


关键词:STM32芯片;指纹识别;人机交互



一、引言

随着社会的发展,在各类需要高安全性和方便快捷的出入场合,普遍使用刷卡和生物识别两类技术,钥匙和密码开锁均不满足方便快捷的需求。其中,刷卡方式因其信物与持有者本身并无直接的关系,可能存在盗用的风险,而生物识别方式依赖于人体特征,这些特征因人而异,如能全面的提取出特征,那么被盗用的风险极小,不过很多识别算法仍在不断改进中。综合考虑身份识别的可行性、识别速度、识别率和性价比等因素,指纹识别拥有很大的优势。在19世纪,有人用数学和统计方法证明两个不同的人指纹完全相同的概率仅为六百四十亿分之一,几乎不可能一样。因为指纹的唯一性,指纹识别技术一直备受关注,上个世纪已逐渐应用于刑侦、社会人员管理等领域。近些年来,在智能手机、移动互联等技术的推进下,指纹识别的相关硬件技术和算法更是得到了进一步的改进,在人们的日常生活中得以普及。目前指纹识别开锁技术已被运用到多种出入口场合进行身份识别,它具有自主化的特性,可以节省人力成本和降低出错率。

本系统采用以Cortex-M3为内核的STM32单片机作为主控制器,它具有高性能、低成本、低功耗、可裁剪的特点,并且芯片的面积小,非常利于实现产品的小型化。同时利用ATK301进行指纹信号的采集和处理,相比于其他识别模块,该模块体积很小,识别速度更快。TFT 触摸屏实现系统的指纹数据管理、控制和显示等交互功能。TFT电阻式触摸屏在每一个像素上都设置有一个薄膜晶体管,具有单独的像素控制,分辨率高,且自带触摸屏,可用来控制输入,实现人机交互。

二、系统总体设计

该指纹识别开锁系统主要由指纹采集处理模块ATK301、TFT电阻式触摸屏、STM32F103ZET6芯片及其控制电路、伺服舵机控制电路和电源构成。其中,控制芯片结合供电、晶振电路、复位电路、串行接口电路等组成最小系统,并连接一个存储器芯片;指纹传感器搭配专用控制电路组成模块,可实现指纹原始图像的采集、特征提取和匹配等功能,减少了与主控制器之间的信号传输,便于控制,它与控制器之间通过USART进行通信;TFT触摸屏用于显示提示信息和输入控制信息,以人机交互的方式实现管理功能,STM32通过FSMC对显示屏进行数据传输以控制显示,触摸屏与控制器之间通过SPI进行通信。此外,还可以借助LED、蜂鸣器或振动模块等辅助输出提示信息。各种模块都由微控制器来协调运行,共同完成指纹的录入、删除、匹配及相应信息的显示等功能。该系统框图如图1所示。

60190b454a8df_html_d23daa02714bd545.png

图1 指纹识别开锁系统总体框图

单片机的电源电路使用可将电池提供的3.7-5V直流电转换为3.3V的MIC5219-LG33稳压芯片,时钟电路选择接入8MHz晶振。单片机通过USART通信方式控制指纹模块识别处理指纹信息,并接收处理之后的结果信息,接受无误后进一步通过FSMC控制TFT显示屏显示各类信息,同时通过SPI通信方式接收人机交互信息,进而管理指纹信息,最后根据识别到的信息,单片机程序控制舵机以完成开锁操作。软件方面以STM32的函数库为基础进行控制系统的构建,控制系统检测指纹按下情况的发生,并进行对应的处理,采用上述设计方案,完成整套系统的设计。本套系统经过相应的试验验证,功能完善,具备实际使用价值。

三、系统关键器件的介绍

(1)TFT电阻式触摸屏

TFT触摸屏其实就是显示屏和触摸屏的叠加,TFT-LCD通过STM32单片机的可变静态存储控制器FSMC来进行控制,FSMC,即灵活的静态存储控制器,是用来外接各种存储芯片、驱动外部总线的,其数据通信速度比GPIO要快很多,并且不占用CPU 的计算资源,TFT-LCD驱动芯片的读写时序和SRAM的差不多,所以可以用FSMC来驱动LCD。

TFT-LCD即薄膜晶体管液晶显示器,其英文全称为Thin Film Transistor-Liquid Crystal Display。TFT-LCD与无源TN-LCD、STN-LCD的简单矩阵不同,它在液晶显示屏的每一个像素上都设置有一个薄膜晶体管,可有效地克服非选通时的串扰,使显示液晶屏的静态特性与扫描线数无关,大大提高了图像质量。同时它有一层彩色滤光片,可显示彩色。本文中该模块的驱动芯片为ILI9341液晶控制器,自带显存,其具体指令可参考数据手册,此处不再展开。通过指令我们能很好地控制ILI9341显示我们需要的内容。

控制显示的相关设置步骤依次为:1. 初始化并设置STM32F103与TFTLCD模块相连接的IO口,以便驱动LCD,这里用到了FSMC。2.初始化TFT-LCD模块,就是向LCD控制器写入一系列的设置值,一般LCD供应商会提供给客户,我们直接使用这些序列即可。在初始化之后,LCD才可以正常使用。3.通过函数将字符和数字显示到TFTLCD模块上。

本文所用的2.8寸TFTLCD模块自带电阻式触摸屏,可作为控制输入。电阻式触摸屏利用压力感应进行触点检测控制,需要直接应力接触,通过检测电阻来定位触摸位置,其精度高、稳定性好且价格便宜。本文用到的触摸屏模块自带XPT2046控制芯片,通过该芯片进行屏幕校准、触摸位置的定位和坐标的输出。触摸屏与显示屏配合起来可设计一个虚拟键盘,由此实现人机交互的功能。

再进行指纹数据的管理时,用户可按下虚拟键盘上相应的按键,进行录入指纹、删除指纹、输入指纹ID等操作,同时还可以配合震动模块在每次按键时震动一次,达到更好的人机交互效果。

(2)ATK301指纹模块

指纹识别主要通过指纹图像获取、图像预处理、细节特征、保存提取数据并进行算法比对而实现。指纹识别系统主要有三类:光学指纹识别系统、电容式指纹识别系统、超声波指纹识别系统。

光学指纹识别技术最为成熟,应用也最广,相应的传感器是目前市场流通中价格最为便宜的一类,但当手指较干燥时,其识别率就较低。电容式指纹识别技术是将半导体芯片的表面分割为诸多细小的像元,手掌表皮相当于电容一极,因为芯片表面到指纹纹线谷底和脊线的空间距离不同,传感器检测到各处的电容值也不同,通过芯片算法根据电容信号的强弱就可生成清晰的纹线图像。这种传感器的缺点是当手指上存在水分时,电流会受到水分导电性的影响导致其无法准确测得相关数据,这种情况下识别率就会很低。超声波指纹识别技术是基于脉冲回波的原理,将超声波的频率限制在60190b454a8df_html_b000e502cd539a8b.gif Hz到60190b454a8df_html_2f524cf969aed4fb.gif Hz内,既能够避免超声波能量过大而损害身体健康,又能最大程度地利用超声波对各种材料的穿透功能。该类传感器当下最为先进的技术,有着极好的抗污能力,理论上也占据更小的空间,但它对于屏幕玻璃材质的厚度有着特殊要求,且超声波信号在传递时易受影响,对硬件要求高。

ATK301模块采用了瑞典FPC公司按压式电容指纹传感器,该传感器具有功耗低、稳定、图像一致性效果好、耐静电等级高的特点,模块搭配指纹控制专用芯片,针对指纹传感器做出了大量的图像优化、速度优化、算法优化,使该模块具有识别速度快,通过率高的等特点。相对传统光学指纹模块,本模块具有识别速度更快、体积更小、功耗更低等特点。模块配备了串口通讯接口,用户无需研究复杂的图像处理及指纹识别算法,只需通过简单的串口通讯按照通讯协议便可控制模块。

四、系统程序设计

指纹模块的唤醒输出信号TOUCH_OUT,仅在VCC断电情况下才有信号输出,断电情况下,无手指按压输出低电平,有手指按压输出高电平,程序中对应的IO口初始化为下拉输入。因指纹模块内部有指纹图像处理和识别算法,指纹模块ATK301与主控制器之间通过USART通信,只需简单的指令和确认字交换。每次通信时先依次发送包头、地址、包标识、包长度、指令码、校验和、等待应答,然后进行简单的控制。

对指纹特征提取的好坏直接影响指纹识别的成功率。为了提高指纹采集的质量,在进行指纹录入时,指纹采集模块对指纹进行连续四次采集,然后提取特征生成一个指纹模板,之后出入ID并保存数据。刷指纹通过识别按下的指纹,和记录中的指纹数据进行匹配,若成功,则输出匹配到的指纹ID和匹配度,并进行开锁。删除指纹时,输入需要删除的ID号,即可进行删除。

基于指纹识别的开锁系统软件工作流程图如图2所示。当我们指纹输入正确时,才可以进行其他操作,比如修改指纹,删除指纹等等,而当我们输入指纹不对的情况下,会显示错误,具体流程如下 :系统初始化系统,输入指纹,如果指纹输入错误,则会启动错误显示,当指纹输入正确后,开锁程序启动,舵机转动,然后系统返回开始状态,开锁后也可以修改指纹,启动指纹修改程序,当指纹修改完成后,即可返回初始状态。

60190b454a8df_html_d161452600b120b0.png

图2 开锁系统工作流程图

在keil软件平台上实现了代码的编译和调试,将调试成功的程序下载到硬件电路后实现了指纹的采集、识别、删除和存储功能。

近年来指纹识别技术快速发展,已应用于日常生活的方方面面,比如门禁与考勤系统、银行支付系统、超市或洗浴中心的储物柜等,而且随着智能手机热潮的袭来,指纹识别已经广泛用于智能手机的解锁、支付确认等方面,非常地高效便捷。指纹锁与物联网也能很好地结合起来,使人们的生活更加便捷。

五、结束与展望

我们通过指纹来进行身份识别时,很多因素都可能对识别结果产生干扰,对识别的准确性产生比较大的影响,并且目前算法的精度不高,也容易导致识别错误。我们应当对生物识别技术进行进一步完善,可综合多种生物信息进行识别,使识别的准确性、效率获得提升,克服单一识别的局限。在硬件上,识别方式将向超声波识别发展。此外,我们在接触东西时无意留下的指纹信息容易被盗用,安全性不高。为此,相关部门也应当加快这方面法律法规的出台,让生物信息保护有法可依。

参考文献:

[1]王尊龙.一种指纹识别密码锁的创新设计[J].电子测试,2019(02):27-28+23.

[2]赵雪平. 基于STM32F103ZET6的门禁与考勤管理系统设计[D].西北师范大学,2018.

[3]周彬,王串娥,刘馨.基于TFT触摸屏的指纹识别门禁系统[J].兰州工业学院学报,2015,22(04):52-56.

[4]陈永伟. 生物识别技术:历史、风险和未来[N]. 经济观察报,2020-07-20(035).

[5]田师思.指纹锁的发展研究[J].科学技术创新,2020(12):81-82.

【作者简介】曹淋凯(1998- ),男,汉族,山西吕梁人,本科生学历,电子信息工程专业