《基于STM_32指纹识别密码锁控制系统的设计与实现毕业论文.doc》由会员分享,可在线阅读,更多相关《基于STM_32指纹识别密码锁控制系统的设计与实现毕业论文.doc(28页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、此处为论文中文题目,要求居中填写主标题不超过24个汉字;可加副标题(副标题前加破折号),副标题与主标题间空一行的位置主标题:黑体,小二,居中副标题:楷体_GB2312,四号,居中阅后删除此文本框。本科生 毕业论文(设计)题目:基于STM-32指纹密码锁控制系统的设计与实现学生 岑孟杰学 号 1指导教师 后旗二级学院 信息学院专业名称 计算机科学与技术班 级 11计算机(2)班2015年5月1 / 28声明与论文使用的授权本人重声明所呈交的论文是我个人在导师的指导下独立完成的。除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写的研究成果。论文作者签名: 年 月 日本人同意财经大
2、学有关保留使用学位论文的规定,即:学校有权保留送交论文的复印件,允许论文被查阅和借阅;学校可以上网公布全部容,可以采用影印、缩印或其他复制手段保存论文。论文作者签名: 年 月 日基于STM-32指纹密码锁控制系统的设计与实现摘 要:本文首先介绍了指纹密码锁控制系统的开发背景和意义,简单介绍了一些国外常见的指纹识别装置和指纹识别密码锁,并指出了当前指纹识别控制系统存在的问题,再根据完整的指纹识别模块指令确定了本系统的目标和要求,以战舰STM-32为开发平台进行了系统的总体结构设计,阐述了系统的软、硬件组成,并重点探讨了指纹识别模块、键盘模块、LCD液晶显示模块和报警模块等几个主要功能模块的设计与
3、实现。最后,对系统的设计与实现做相应总结。关键词:指纹识别;战舰 STM32;模式识别Design and Implementationof STM32-based fingerprint combination lock controlSystemAbstract:This paper introduces the fingerprint lock control system development background and significance simply,introduced some common fingerprint identification device and
4、fingerprint identification combination lock at home and abroad, and points out the problems existing in the current fingerprint identification control system, according to the complete fingerprint identification module instruction to determine the objectives and requirements of this system, the wars
5、hip STM - 32 as a development platform for the overall structure of the system design, this paper expounds the hardware and software of the system, and probes into the input fingerprint identification module, keyboard module, LCD liquid crystal display module and alarm module, etc. Several main func
6、tion module design and implementation. Finally, summarizes the design and implementation of the system.Key words:Fingerprint identification;Warship STM32; Pattern recognition目录1绪论11.1 开发背景和意义11.2 国外研究现状11.2.1 总体研究现状11.2.2 指纹采集技术的研究现状21.2.3指纹识别技术的研究现状31.3本文主要研究容和章节安排32系统总体结构设计42.1 系统设计总体要求42.2硬件总体结构设
7、计42.3软件总体结构设计53系统硬件模块设计与实现63.1指纹识别模块设计与实现63.2 LCD液晶显示模块设计与实现73.3键盘模块设计与实现83.4报警模块设计与实现94系统软件模块设计与实现104.1键盘模块程序设计与实现104.2报警模块程序设计与实现104.3 LCD液晶显示模块程序设计与实现114.4指纹识别模块程序设计与实现124.4.2指纹识别模式124.4.2指纹识别模式135系统实现结果145.1系统总体框架145.2指纹录入模式155.3指纹识别模式175.4结果分析196总结与展望19参考文献21致谢221绪论1.1 开发背景和意义指纹就是我们人类手指末端指腹上由凹凸
8、的皮肤所形成的纹路,是人类在进化过程中自然形成的1。指纹具有唯一性、遗传性和不变性。它的复杂程度足以提供用于鉴别的足够特征。到目前为止,尚未发现有不同的人拥有相同的指纹,所以每个人的指纹也是独一无二。由于指纹是每个人所特有的标记,指纹逐渐成为警方追捕疑犯的重要线索1。随着现代信息化的大潮流,指纹识别已经不仅仅运用于追捕嫌犯,更多的也走向大众化。现代科技的高速发展,光电传感器应运而生,以指纹识别技术作为桥梁与指纹生理特征相结合,便产生了指纹识别为核心的各种指纹识别仪器。指纹密码锁就是其中比较典型的一种。指纹的唯一性和多样性使得这种生理特征与现代科技相结合运用使我们的信息安全、经济安全、人身安全的
9、保障相比较于传统的锁具更加具有可靠性和多样性。科技的不断革新使得指纹密码锁的研究和设计开发也依然在不断地革新完善中。随着旧问题的解决,新问题也会不断的出现。因此研究和开发以指纹识别技术为核心的指纹密码锁能够更好的了解当前科技与生物生理特征有效结合的程度,对于当前指纹密码锁的研究所存在的问题和研究程度以与之后的发展方向有更深入的了解。同时,在开发和设计过程中,我们也能够更好的运用和巩固所学到的计算机知识。1.2国外研究现状1.2.1 总体研究现状现在国外指纹识别技术基本上都是采用基于细节点特征的指纹识别技术,从研究角度来说,国外的差距并不明显。由于具有广阔的市场前景,也受到了越来越广泛的重视,国
10、外很多著名的IT厂商、电子厂商都在积极推进AFIS技术的研究工作1。国对于指纹识别锁的研究正在不断提升,也在不断的向广大百姓普与。目前指纹锁产品正逐步走向中国家庭,中国消费者对指纹锁的认知已经越来越广泛,但是国对于AFIS主要侧重于研究角度,很长一段时间没有在实际应用中实践,所以 这些技术和实际的市场需求间还有不少差距2。而实际从事指纹应用的公司没有自己的技术,在技术上依然有着很大的提升和改善空间。指纹应用到计算机信息安全加密应用是目前国际公认未来最有前途的新兴市场,凡是用密码方式验证的都可以统统采用指纹验证模式。指纹识别密码锁,指纹识别技术的发展得益于现代电子集成制造技术和快速可靠的算法的研
11、究。尽管指纹只是人体皮肤的一小部分,但用于识别的数据量相当大,对这些数据进行比对也不是简单的相等与不相等的问题,而是使用需要进行大量运算的模糊匹配算法。现代电子集成制造技术使得我们可以制造相当小的指纹图象读取设备,同时飞速发展的个人计算机运算速度提供了在微机甚至单片机上可以进行两个指纹的比对运算的可能。另外,匹配算法可靠性也不断提高,指纹识别技术经已经常实用3。1.2.2 指纹采集技术的研究现状指纹识别技术实际上包括了“指纹采集技术”和“指纹识别技术”。 指纹采集技术经过了较长时间的发展,其过程也随着传感技术的发展而受到影响以与推动。第一代“指纹采集技术”主要采用的就是“按压留痕”的方式,通过
12、“油墨-指纹图像”的方式进行采集2,存在不完整、不安全的一些缺点。那么第二代“指纹采集技术”在传感器的发展带动下,开始采用自动化和数字化的采集方式、指纹的信息以数字信息的形式进行表示和存储。比较有代表性的采集仪器就有光学指纹采集仪、半导体压感指纹采集仪、温感指纹采集仪以与电容式指纹采集仪。这种采集方式比较方便,安全性、完整性和可处理性较高。“指纹采集技术”的原理就是根据嵴和峪的几何特性、物理特性和生物特性的不同,得到不同的反馈信号值3。再根据不同的反馈信号值绘成指纹图像。现在国外的指纹采集流程主要有分割、二值化、增强滤波、细化。其中分割方法现在主要采用方向法、方差法、以与改进的方差法。其中改进
13、的方差法,在方差分割的基础上进行开闭运算,是较为成熟的分割方法。二值化方法主要有方向图、静态阈值二值化以与基于方向场的二值化。增强滤波则是基于上述的方向图的基础上进行平均滤波。细化现在主要运用快速细化算法和改进的OPTA算法。上述这些过程虽然能够形成较为完善的指纹图像。但是依然存在问题,在图像的分割细化处理中,会减少指纹的特征,从而降低指纹采集的有效性和真实性。目前国外对于这个问题正在不断的研究和完善新的算法。1.2.3指纹识别技术的研究现状“指纹识别技术”其实是属于模式识别的畴。它通过特定的数学算法分析指纹特征,然后判定两枚指纹特征的相似度。主要通过指纹特征分析和匹配两个过程进行实现。其中指
14、纹特征分析是对指纹采集之后的图像的整体特征和细节特征进行提取和鉴别3。现在国外对于图像特征的提取主要是对特征点的提取和处理来实现,主要对细化图端点和交叉点进行处理。匹配是指指纹图案的整体和细节特征按照模式识别的原理进行比对,是指已经录入注册的指纹和尚需验证的指纹之间进行比对,是对已经处理好的特征值进行比较4。现在国外对于匹配主要从两个方面进行特征的判断。对于整体特征的匹配主要进行指纹纹形的分类判断以与指纹嵴密度的判断。局部匹配则是对于细节点进行类型、坐标、质量以与方向上的匹配,也有包括一组指纹特征值之间所形成的拓扑关系进行比对和匹配。其中特征点的匹配现在采有嵴线长度的匹配、三角形边长匹配以与点
15、类型匹配。当然这些匹配方法并不是最完善的,存在着一定的匹配盲区,不能说很完整很正确的进行匹配。目前国外正在不断的研究和完善新的指纹特征匹配算法。1.3本文主要研究容和章节安排本文主要以战舰STM-32作为开发平台通过对指纹录入识别模块、键盘模块、LCD液晶显示模块和报警模块等几个主要功能模块的设计和整合来模拟实现指纹密码锁的控制。这一设计通过对完整的指纹模块的指令研究以与指纹的识别处理,熟悉简单的图像处理以与STM32系列ARM单片机的使用。本文研究的容主要包括六章:第一章是绪论,主要说明了本设计的开发背景和意义,还有这个项目在国外的当前研究状况。第二章是系统总体结构设计,根据系统的总体要求设
16、计系统软硬件的总体结构。第三章是系统硬件模块设计与实现,主要阐述系统的硬件模块的设计以与具体实现方法。第四章是系统软件模块的设计与实现,主要阐述了系统功能实现的软件设计以与具体实现方法。第五章是系统实现结果,主要展示了系统的实现的功能和结果。第六章是总结与展望,总结本次设计所取得的成果和依旧存在的问题并对下一步改进工作做了展望。2系统总体结构设计2.1 系统设计总体要求基于STM-32的指纹密码锁控制系统是以战舰STM32开发板为开发平台,配合FM-180指纹识别模块和开发板自带的2.8寸TFT彩色LCD液晶显示屏幕,利用 keil uvision4开发软件环件开发,通过软硬件模块的整合和控制
17、模拟实现控制指纹密码锁,熟悉数据的读写功能实现。本次设计通过完整的指纹识别模块实现指纹的录入和识别。根据战舰STM-32开发板的按键实现录入和识别模式的转换,并通过LCD液晶显示屏显示当前的模式状态和录入和识别状态,同时通过蜂鸣器发出不同间隔和次数的蜂鸣声对应相应的状态。一、设计的具体功能要求如下:1、 通过按键控制指纹录入模式和指纹识别模式的转换;2、 录入模式下再次按录入键能够继续录入指纹;3、 通过按键能够清除所有部存储的指纹;4、 蜂鸣器针对成功或失败不同结果下发出不同间隔和次数的蜂鸣;5、 录入成功生成的指纹号和识别成功对应的指纹号在LCD上显示;6、 LCD显示不同的模式以与录入和
18、识别成功或失败不同结果进行显示。二、开发工具以战舰 STM32-V3.0开发板为主控模块,用FM-180指纹识别模块作为从属模块对其发出相应的指令进行指纹的采集和识别处理,用2.8寸TFT彩屏作为显示模块,以Keil uVision4为开发环境,J-Link仿真工具和串口调试工具作为辅助工具。2.2硬件总体结构设计本系统的硬件由以下几个部分组成(如图2.1):指纹FM-180指纹识别模块主控器键盘模块LCD液晶显示模块 报警模块图2.1 系统硬件结构图由硬件结构图可以看出:指纹通过FM-180指纹识别模块采集处理;并将处理后的指纹特征值等以数据包的形式发给主控模块;主控模块发送指令包对FM-1
19、80指纹识别模块进行控制以与对键盘模块、报警模块、LCD液晶显示模块进行控制。在LCD液晶显示屏上显示录入和识别成功的指纹。报警模块中以开发板自带的蜂鸣器为主,在不同的状态和结果下进行不同间隔和次数的蜂鸣。键盘模块主要通过三个按键分别实现模式转换、录入、清除等功能。2.3软件总体结构设计本系统的软件由以下几个部分组成(如图2.2):图2.2 系统软件结构图由系统软件图可以看出,主控制器作为主要的控制中心对其他四个模块进行控制,其中指纹识别主要接收主控制器的指令并发送数据给主控制器并且对输入指纹进行采集处理。显示屏显示各个状态特别是录入的指纹号和识别的指纹号。按键主要实现模式切换、指纹录入、指纹
20、清除三个功能。报警程序以蜂鸣器为主,通过驱动程序实现不同状态下不同次数和间隔的蜂鸣。3系统硬件模块设计与实现3.1指纹识别模块设计与实现指纹识别模块选用FM-180指纹识别设备实现,FM-180亮背景光学头指纹识别设备采用光学指纹传感器,由高性能DSP处理器和FLAH等芯片构成。供电电压3.6-6.0V,供电电流LCD_REG=CMD和LCD-LCD_RAM=DATA来对LCD写命令和写数据,反过来就可以进行读寄存器和读数据。LCD的CS、WR、RD、和IO都是由FSMC控制,就不需要手动设置。这些都是对液晶显示屏的初始化。在本次设计中LCD液晶显示屏要实现的功能的程序流程图如图4.3所示:图
21、4.3 LCD液晶显示屏程序流程图从4.3图可以看出,在刚启动设备的时候如果外部设备与CPU握手成功,CPU通过LCD_ShowString()函数对LCD液晶显示屏执行显示操作,使得屏幕显示准备就绪。同样的 ,在指纹录入模式下,当CPU接收到录入成功的信号时,也通过LCD_ShowString()函数显示录入成功状态,生成并显示当前录入的指纹号。在指纹识别状态下,识别成功则通过LCD_ShowString()函数显示对应的指纹号,识别失败则显示识别失败,指纹号归零。4.4指纹识别模块程序设计与实现4.4.2指纹识别模式本次设计采用的是FM-180指纹识别设备,是较为完善的指纹识别模块,主要通
22、过CPU对设备发送规定格式的数据包或者命令包来实现指纹的录入和识别。指令/数据包一共分三类:包标识=01为命令包;包标识=02为数据包,并且允许有后续数据包传入;包标识=08是最后数据包,作为结束包。所有的数据包都要加:0xEF01.其中指纹录入的关键在于两次采集指纹生成的特征值并存于flash指纹库。其程序流程图如图4.4所示:图4.4指纹录入程序流程图在发送指令以与生成指令中都会有等待接收应答包,只有接受到应答包才能发送下一步指令。其中产生特征1就是使得标识参数BufferID=1,通过unsigned char GENT1函数发送12个字节给传感器作为指令生成特征1并将特征值1存储于Mo
23、dleBufferA。在第一次采集成功之后,进行第二次采集的过程中,生成特征2就是BufferID=2,通过unsigned char GENT1函数发送12个字节给传感器作为指令生成特征2将特征值存储于ModleBufferB。两次采集均成功的状态下,进入注册,通过unsigned char MERG函数发送12个字节合并两个特征值的指令并且将两个特征值进行合并之后存入指定存储器ModleBuffer。完成指纹的两次采集,生成两个特征值,合并之后的特征值更具准确性。同时录入成功之后会通过自动计数生成指纹号Number并显示。通过这个程序的设计能够实现指纹的两次采集并且录入。4.4.2指纹识别
24、模式由于FM-180指纹识别设备是较为完善的指纹识别模块,通过CPU对设备发送数据包或者命令包来实现指纹的录入和识别。有三类数据包和命令包:包标识=01为命令包;包标识=02为数据包,并且允许有后续数据包传入;包标识=08是最后数据包,作为结束包。所有的数据包都要加:0xEF01.其中指纹识别的关键在于现场采集指纹和已有指纹库之间的比对,其中要对已有指纹库进行搜索,然后进行特征值的比对。其程序流程图如图4.5所示:图4.5指纹识别程序流程图根据指纹识别程序流程图可以看到,从现场获取的指纹需要通过CPU发送图像获取以与特征获取的指令才能生成最后的特征值,然后对flash存储模板中的已有指纹特征值
25、进行搜索,这是通过PS_Search指令实现。通过SearchBuf = Searchfinger()进行比对,根据SearchBuf=1的返回值来确定现场指纹在录入的指纹库中是否有匹配的指纹。同时将识别成功对应的指纹号Searchnum返回给CPU,或者返回65535的值表示指纹识别失败。这样CPU的能够根据不同的识别状态与时的将识别结果显示在LCD液晶显示屏上。5系统实现结果5.1系统总体框架本系统由战舰STM32为主要控制中心,同时外接FM-180指纹识别模块以与战舰STM32开发板自带的键盘、LCD液晶显示屏和蜂鸣器。通过对这些组成模块的程序控制实现整个设计。下图5.1是总体实物图:图
26、5.1系统总体实物图5.2指纹录入模式按下按键KEY0从系统默认的识别模式转换到指纹录入模式,按下KEY1键开始录入指纹,录入成功之后就会生成并显示一个指纹号对应你现在的指纹,再次按KEY1键,继续录入指纹,成功之后按照加1的计数顺序继续生成新的指纹。具体实现如图5.2、图5.3、图5.4所示:图5.2指纹录入模式开始LCD显示图图5.3指纹录入成功LCD显示图图5.4指纹继续录入成功LCD显示图5.3指纹识别模式系统初始默认为指纹识别模式,因此进入系统就可以进行指纹识别的操作,当然如果通过按键KEY0切换到了指纹录入模式,同样可以切换回来。LCD液晶显示屏显示当前的模式。如果识别成功,LCD
27、显示识别成功并显示匹配的指纹号;如果识别失败,显示红色的识别失败,并且将指纹号归零即当前无指纹。具体实现结果如图5.5、图5.6、图5.7所示:图5.5指纹识别开始LCD显示图图5.6指纹识别成功LCD显示图图5.7指纹识别失败LCD显示图5.4结果分析根据上述实验结果可以看出,基本实现了指纹录入和识别两个基本功能,并且在按下按键KEY2的情况下,清除所有指纹,指纹号显示为零,模式自动转换到录入模式。通过LCD液晶显示频显示当前模式和指纹输入和处理状态,键盘模块的按键功能也基本实现,蜂鸣器也能够按照预想的设定进行不同状态下不同次数和间隔的蜂鸣。指纹录入能够在上一个指纹录入成功的状态下继续进行指
28、纹的录入。指纹识别也能够显示与当前现场指纹相匹配的指纹号。也存在一些问题:指纹的录入没有对录入失败状态在LCD液晶显示屏上显示出来;指纹识别失败没有自动转换到指纹识别开始界面。6总结与展望在本次设计中探索了国外的指纹密码锁的研究现状和背景,并对指纹采集和指纹识别两个技术以与现在的一些通用算法有了比较深入的了解。本次设计主要先通过对系统的软硬件的总体结构进行了设计与构想,然后对软件模块和硬件模块分别进行了具体的设计与实现,从而达到了初期的目标。这次设计以功能强大的战舰STM32开发板作为开发平台以与keil uvision4开发软件,运用战舰STM32开发板自带的蜂鸣器、按键和LCD液晶显示屏并
29、通过对这些自带设备的程序控制和设计实现了报警模块、键盘模块和LCD液晶显示模块的基本功能,完成初期的设想目标。采用功能较为完善的FM-180指纹识别设备,通过战舰STM32开发板的CPU对指纹识别设备发送指令以与数据并进行程序的判断和实现,从而实现了指纹的录入、识别两个核心功能,以与指纹的清除,模式切换、液晶显示等其他功能。在设计过程中也遇到一些问题和困难,比如在使用较为完善的FM-180指纹识别模块进行数据和指令的传送时,要特别注意指令包和数据包的格式,特别是一些标识码的获取和判断。设计过程中,经常出现格式的错误或者使用错误导致命令包和数据包的发送接收出现错误,从而无法实现功能。再比如在指纹
30、的识别和录入过程中,要对发来的数据包进行字节的提取和判断,并且对数据包的数据字节部分要进行数据的提取和存储,之后也要进行校验和的计算,这样才是对一次数据包接收的完整过程。在这次设计XX且存在的问题有:LCD液晶显示屏没有显示读取的指纹图像;清除指纹时是一次性清除,不能有选择性的进行清除;没有对指纹录入失败进行报警和显示;功能较少仅限于录入、识别、清除;用户与系统的交互主要通过LCD液晶显示屏,这点尚显单调。本次设计基本实现了设计初期的目标,但是依然在今后的开发中从以下几方面进行改进:1、通过对指纹识别设备Flash存储模板中调取已经读取的指纹图像并通过LCD液晶显示屏显示。这样也会使得交互界面
31、较为充实。2、通过对指纹识别设备的特征值存储单元和Flash存储模板的地址的选取,然后根据地址,使用按键KEY2进行有选择性的删除。3、对于指纹录入失败要设计相应的报警形式和LCD显示形式。4、可以尝试设计增加指纹选取功能,通过按键能够有选择性的调取已经录入的指纹图像,并使用中英文两种蚊子显示,使界面更加充实。通过这次的设计,我了解了当前国外对于指纹密码锁控制系统的开发和研究现状,并且从系统的软硬件总体结构设计到各个模块的具体设计与实现。这个过程中不仅仅是对大学四年知识的一种回顾,也是对自己心智的一种历练。遇到过困难和瓶颈,就要看自己的心态,耐心和坚持尤其重要,多向老师和同学请教克服开发中的一
32、个个困难,之后就能体会到那种成就感,也是最为开心的。参考文献1柴晓光,岑宝炽.民用指纹识别技术M.:人民邮电,2004.2文耀.数字图像采集与处理M.:电子工业,2007.3光祥,梁华,朱军.STM32单片机原理与工程实践M.:理工大学, 2013.4康华光.电子技术基础模拟部分第四版M.:高等教育,1999.5宁.基于MDK的STM32处理器开发应用M.:航空航天大学,2008.6阎石.数字电子技术基础第四版M.:高等教育,1999.7王瑞福.单片机微机测控系统设计大全M.:航空航天大学,1998.8毅刚.单片机原理与应用M.:高等教育,2006.9贵山,建平.微型计算机测控技术M.:机械工
33、业,2002.10曹承志.微型计算机控制技术M.:机械工业,2004.11贵山,周征.检测与控制技术M.:电子科技大学,2006.12郭迎宾.可靠性技术在继电器控制中的应用探讨J.中国科技纵横,2014(16):18-22.13D W Hart.Foundation and application of microcontrollerM.beijing:Higher Education Press,2004.14Richard.Algorithms and Applications (Texts in Computer Science)J.Higher Education Press,2010
34、.致谢本次基于STM-32的指纹识别密码锁控制系统在设计与实现的过程中得到了很多老师和同学的帮助,在此向他们由衷的致谢。特别要感谢我的导师后旗老师的悉心指导和无私帮助。在百忙中能抽空给予我很多帮助。特别是在设计软硬件总体结构和模块以与撰写论文的过程中,老师给了我很大的帮助,并且不断地督促我们完成每个时期的进度,还有我的室友以与同学也在我遇到设计困难时给了很多建议以与设计上的一些帮助。在此,我表示真诚地感谢。财经大学本科毕业论文(设计)评阅单学 院信息学院班 级11计算机2班学 号1姓 名岑孟杰论文题目基于STM-32指纹密码锁控制系统的设计与实现指导教师意见签名: 年 月 日评阅教师意见签名: 年 月 日论文(设计)成绩经答辩小组评议,并由学院答辩委员会核定,该学生的本科毕业论文(设计)最终成绩为。(评议情况记录详见答辩记录本) 毕业论文(设计)答辩委员会主任签字:年 月 日注:本页前三栏由学生填写。