一种指纹采集处理系统的设计
2018-05-31姜旭东迟耀丹田海龙
姜旭东 迟耀丹 田海龙
【摘要】随着当今社会的不断发展,人们愈发追求生活便利的同时,还对信息的保密有着越来越高的要求。指纹识别技术涉及图像处理、模式识别、计算机视觉、数学形态学、小波分析等众多学科。由于每个人的指纹不同,就是同一人的十指之间,指纹也有明显区别,因此指纹可用于身份鑒定。可以用作人们的唯一标识。本文提出的便是一种对于指纹识别的后端支持技术。
【关键词】指纹识别系统 STM8 2生物识别
一、简介
指纹识别即指通过比较不同指纹的细节特征点来进行鉴别。其优势在于:指纹是人体独一无二的特征,并且它们的复杂度足以提供用于鉴别的足够特征;如果要增加可靠性,只需登记更多的指纹、鉴别更多的手指,最多可以多达十个,而每一个指纹都是独一无二的;扫描指纹的速度很快,使用非常方便;读取指纹时,用户只需将手指与指纹采集头相互接触。接触是读取人体生物特征最可靠的方法;指纹采集头可以更加小型化,并且价格会更加的低廉
由于指纹采集的众多优势,便需要后端设备对指纹采集模块采集到的信息进行加工处理。本设计中,我们采用的是stm32处理器进行指纹采集的相关运算。
STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM内核,除最为突出的与制程有关的节能特色外,STM32系列还提供更多其它的功能,开发人员能够优化应用设计的功耗特性。
二、硬件电路设计
(一)MCU
后备区域供电脚VBAT脚的供电采用CR1220纽扣电池和VCC3.3混合供电的方式,在有外部电源(VCC3.3)的时候,CR1220不给VBAT供电,而在外部电源断开的时候,则由CR1220给其供电。这样,VBAT总是有电的,以保证RTC的走时以及后备寄存器的内容不丢失。图中的R31和R32用隔离MCU部分和外部的电源,这样的设计主要是考虑了后期维护,如果3.3V电源短路,可以断开这两个电阻,来确定是MCU部分短路,还是外部短路,有助于生产和维修。当然大家在自己的设计上,这两个电阻是完全可以去掉的。
(二)复位电路
因为STM32是低电平复位的,所以我们设计的电路也是低电平复位的,这里的R24和C48构成了上电复位电路。
(三)电源
图3电源
图中,总共有3个稳压芯片:U15/U16/U18,DC_IN用于外部直流电源输入,经过U15 DC-DC芯片转换为5V电源输出,其中D4是防反接二极管,避免外部直流电源极性搞错的时候,烧坏开发板。K1为开发板的总电源开关,F1为1000ma自恢复保险丝,用于保护USB。U16和U18均为3.3V稳压芯片,给开发板提供3.3V电源,其中U16输出的3.3V给数字部分用。
三、代码设计
(一)代码功能简介
(1)删指纹——与模块握手通过之后,屏幕将虚拟一个键盘,按‘删指纹进入删除界面。在此界面可以按照提示输出一个数值按‘Enter删除单个指纹,也可按‘清空指纹清空指纹库。如果是误操作也可以按‘返回主界面。
(2)录指纹——按‘录指纹进入此项。录指纹流程:按第一次手指→按第二次手指→自动生成模板→输入存储ID→存储指纹成功。其中两次按指纹操作,如果超过10次无手指按下则退回主界面。模块感应到手指按下0.3S(最少停留0.3S)后,蜂鸣器会“滴”一声!
(3)刷指纹 与模块握手成功之后,主函数中判断指纹模块的感应引脚(touch→PA6)模块感应到手指输出高电平,程序判断后进入刷指纹流程→读指纹图像→搜索匹配指纹库→成功或没有搜到指纹。
(二)部分源码展示
这段代码的功能是:删除模板Ps_DeletChar以及删除flash数据库中指定ID号开始的N个指纹模板。其参数描述为:PagelD(指纹库模板号),N删除的模板个数。返回值是:模块返回确认字
功能:以CharBuffer1或CharBuffer2中的特征文件高速搜索整个或部分指纹库。若搜索到,则返回页码,该指令对于的确存在于指纹库中,且登录时质量很好的指纹,会很快给出搜索结果。参数:BufferID,StartPage(起始页),PageNum(页数)。返回值:模块返回确认字+页码(相配指纹模板)。
其主函数代码过长,在这里便不再展示。