基于STM32的指纹识别系统设计与实现_杨磊2011

合集下载

基于STM32智能指纹锁控制系统设计与实现

基于STM32智能指纹锁控制系统设计与实现

机电信息工程基于STM32智能指纹锁控制系统设计与实现王彰云(广西工业职业技术学院,广西 南宁530001)摘要:为解决传统的门禁系统安全性低、使用不 便等缺陷,本文设计一款基于指纹识别的智能锁。

该 控制系统由指纹模块、电磁锁模块、STM32控制器、OLED 显示屏等模块组成,能实现指纹录入、指纹修改、指纹识别,具有较强的人机交互能力。

关键词:智能锁;STM32 ;指纹识别05000年前我国就创造了木质的门锁,到春秋时期我们的木匠祖先鲁班创造了鲁班锁,后来又出现了三 簧锁、叶片锁、套筒转,再到今天人们广泛使用的弹子锁,人们对锁的安全性能 来,传统的机械锁已经不能满足社会发展 。

如的安全性、保密性、耐用性已成为现在锁研究的 方向。

设计了一款基于STM32的智能系统。

1智能指纹锁控制系统组成图1智能指纹锁控制系统框图2 智能指纹锁硬件电路设计2.1 STM32微处理器采用STM32F407作为指纹锁控制系统的微处理器,内部使用Cortex-M4 ,该处理器运行速度快,最高可以运行168MHz 的频率信号,扩展性能好,3路12位A/D 转 口,2路12位的D/A 转 口,有 3个i 2c 接口,6个usart 串行接口、1个SDIO 接口,内部 的定时器,支持SWD 和JTAG 调试,广泛应用在高端的汽车 、智能家居等嵌入式产品中。

2.2块指纹模块是智能指纹锁的核心部分,其功能是完作者简介:王彰云,湖南邵阳人,硕士,研究方向:嵌入式方面的教学与科研。

成人体指纹的采集以及对输入指纹的识别。

本文采用FPM10A 识别模块,该模块具 集速度快,错误率低,指纹存储空 等 。

并且该模块是串口通讯,连接STM32F407的USART3端口,TXD 、RXD 分别连接PD8和PD9引脚。

指纹模块电路如图2所示。

图2指纹模块电路2.3电磁锁模块该电路 信号的电压V1使用5V 电压,电磁锁驱动 源使用12V 电压,三极管的基极连接STM32F407芯片的PD1引脚,通过改变PD1引脚的电平来控制三极管的开通和关断时,DS1二极管导通, 。

基于STM32的指纹密码锁控制系统

基于STM32的指纹密码锁控制系统

二、设计思路及原理
基于STM32单片机的指纹密码锁控制系统主要包括指纹识别、密码加密、电 路控制等功能模块。该系统的设计思路如下:
1、指纹识别:采用指纹识别芯片对输入的指纹进行识别,将指纹特征值与 已存储的指纹特征值进行比对,以实现指纹开锁功能。
2、密码加密:采用加密算法对用户输入的密码进行加密处理,防止密码被 非法获取和利用。
随着人们对安全意识的不断提高,指纹锁作为一种高科技的锁具,越来越受 到人们的青睐。本次演示将介绍一种基于STM32的指纹锁控制系统的设计与实现 方法。
一、引言
指纹锁控制系统利用指纹识别技术来实现锁具的开启和关闭。与传统的机械 锁相比,指纹锁具有更高的安全性和便利性。它通过采集并比对指纹信息来验证 用户的身份,从而控制锁具的开关。该控制系统适用于家庭、办公室、仓库等需 要进行安全控制的场所。
谢谢观看
3、电路控制:使用STM32单片机作为控制核心,通过对电路的控制实现指纹 识别和密码解锁等功能。
三、硬件设计
基于STM32的指纹密码锁控制系统硬件部分主要包括STM32单片机、指纹识别 芯片、显示屏、键盘、电源等部分。
1、STM32单片机:作为控制系统的核心,STM32单片机负责整个系统的协调 与控制。它接收用户的指纹信息和密码输入,并控制指纹识别芯片和密码加密模 块等进行相应的处理。
2、对手指湿润或干燥的敏感度:虽然指纹识别模块对干湿手指有较好的适 应性,但在极端情况下可能会出现识别不准确的情况。
六、结论
综上所述,基于STM32单片机的门禁指纹密码锁系统在安全性和实用性方面 具有显著优势。通过双重认证方式和智能管理,该系统为家庭和办公场所等重要 场所提供了高度安全和便捷的门禁控制方案。然而,考虑到成本和应用范围等限 制,未来还需要进一步研究和改进,以加强系统的稳定性和降低成本,推动门禁 指纹密码锁系统的更广泛应用。

基于STM32单片机的数字密码与指纹识别系统的设计

基于STM32单片机的数字密码与指纹识别系统的设计

基于STM32单片机的数字密码与指纹识别系统的设计摘要:本文提出了一种新型的数字密码与指纹识别系统,该系统基于STM32单片机设计。

该系统采用指纹识别密码两种验证方式,提高了系统的安全性和便捷性,同时系统实现了可靠的数据存储和传输功能。

该系统经过实验验证,具有优良的性能指标和良好的实际应用效果。

关键词:数字密码;指纹识别;STM32;数据存储;数据传输Introduction:数字密码与指纹识别技术是人们生活中广泛使用的两种身份验证方式。

数字密码是一种广泛使用的身份验证方式,常见于银行卡、手机、电脑等等设备中,其优点是方便易记,缺点是容易被猜测或者遗忘。

与之相对的,指纹识别是一种以生物特征为基础的身份验证方式,具有唯一性、不易伪造的特点,但是其缺点是需要设备支持,并且可能会因为指纹的变化和损坏而导致识别失败。

为了解决数字密码与指纹识别技术的缺点,我们设计了一种基于STM32单片机的数字密码与指纹识别系统,不仅具有较高的安全性和便捷性,同时还能够实现可靠的数据存储和传输功能。

系统设计:系统采用基于STM32单片机的设计,系统硬件主要由STM32F103C8T6芯片、LCD模块、指纹传感器模块、按键模块、SD卡模块、WI-FI模块等组成。

其中,LCD模块用于显示系统运行状态和用户操作界面;指纹传感器模块用于识别用户指纹;按键模块用于输入数字密码;SD卡模块用于数据存储;WI-FI模块用于数据传输。

系统功能:(1)数字密码验证功能:该功能主要通过按键模块实现用户输入密码,系统对输入的密码进行比对,如果密码正确,则允许用户进行操作;如果密码错误,则拒绝用户操作。

该功能可以实现高可靠性验证,同时也具有一定的实用性。

(2)指纹识别验证功能:该功能主要通过指纹传感器模块实现用户指纹的采集和识别,系统对采集的指纹与已存储的指纹进行比对,如果指纹匹配,则允许用户进行操作;如果指纹不匹配,则拒绝用户操作。

该功能具有较高的安全性和便捷性。

(完整版)基于STM32的指纹识别系统的设计

(完整版)基于STM32的指纹识别系统的设计

基于STM32的指纹识别系统的设计摘要随着经济时代的到来和科技的发展,人们对生活水平有了更进一步的的追求,对生活的安全性逐渐提高,其中具有身份安全认证功能的指纹识别技术在人们的关注和需求下,得到了长足的发展,出现了各种不同的指纹识别系统,然而大多数指纹识别系统是基于PC机的,在便捷性和可移动性上还存在很多不足。

基于嵌入式的指纹识别成为了人们的研究的方向,并取得了一定的成果。

然而在这些应用中还有很多不足等待大家的讨论研发,需要更进一步的研究和改善,以提高系统的应用前景。

本文通过对嵌入式相关知识、图像预处理等方面的理论知识进行研究,在前人的基础之上,开发了一套小型的嵌入式身份识别系统。

本文根据要设计的身份识别系统的功能来讨论了相关的指纹识别系统的硬件设计,完成了基于STM32微处理器的指纹识别系统设备的硬件电路设计和相应的软件设计。

该系统具有指纹图像采集、指纹库中数目统计、指纹比对、指纹录入等功能。

另外,本文电路设计中选取的电器件在价格和性能上都有一定的优势。

同时,本文对指纹识别系统的过程和相关的原理进行了一定的分析和研究,重点研究指纹图像的预处理过程。

关键词:指纹识别; STM32; 嵌入式技术;图像预处理The design of the fingerprint identificationsystem based on STM32AbstractWith the advent of the era of economy and the development of science and technology, people's living standards have further pursuit, gradually improve the safety of the life, the one which has the function of authentication security fingerprint identification technology under the people's attention and demand, the rapid development, appeared a variety of fingerprint identification system, but most of the fingerprint identification system is based on PC, there are still many deficiencies in the convenience and mobility. Based on embedded fingerprint identification has become people the direction of the research, and achieved some results. However in these applications and there are many inadequate wait we discuss research and development, the need to further research and improvement, in order to improve the application prospect of the system. Based on the embedded knowledge, image preprocessing, etc to study the theory of knowledge, on the basis of predecessors, has developed a small embedded identification system. Identification based on to design the system function to discuss the related fingerprint recognition system hardware design, completed the fingerprint identification system based on STM32 microprocessor equipment design of hardware circuit and software design. The system has a fingerprint image collection, fingerprint library statistics, fingerprints, fingerprint input number, and other functions. In addition, this paper selected from the circuit design of electric have a certain advantage in price and performance. At the same time, in this paper, the fingerprint recognition system has been conducted for theprocess and the related principle of analysis and study on the key research of fingerprint image pretreatment process.Keywords: fingerprint identification; STM32; Embedded technology; Image preprocessing目录摘要 (I)Abstract (II)第1章绪论 (1)1.1引言 (1)1.2指纹识别技术 (1)1.3指纹识别研究的现状 (2)第2章STM32嵌入式指纹识别系统的设计 (2)2.1设计的概述 (2)2.1.1图像分割 (2)2.1.2指纹图像的收敛 (3)2.1.3指纹图像的二值化处理 (3)2.1.4指纹图像的细化 (3)2.1.5指纹图像增强 (4)2.1.6特征点的提取 (4)2.2指纹传感器的分类 (4)2.2.1光电式指纹传感器 (4)2.2.2热敏指纹传感器 (5)2.2.3电容式指纹传感器 (5)2.2.4超声波指纹传感器 (6)2.2.5压敏指纹传感器 (6)2.3指纹采集程序设计 (6)2.3.1指纹比配 (7)2.3.2图像场计算 (7)2.4细节提取 (8)第3章系统的硬件设计及软件设计 (8)3.1指纹识别系统的硬件 (8)3.1.1采集方式 (9)3.1.2 MBF200传感器概述 (11)3.1.3MBF200主要寄存器 (11)3.1.4MBF200的主要功能 (12)3.1.5 SPI通信模式 (12)3.2 STM32指纹识别的软件 (12)3.2.1系统主程序设计 (13)3.2.2传感器初始化程序 (14)3.2.3存储器的扩展程序设计 (16)3.2.4串口程序的设计 (16)3.2.5移植算法程序 (17)第4章结果分析 (18)4.1图像匹配测试 (18)4.2指纹识别系统测试 (19)第5章总结 (20)致谢 (21)参考文献 (22)附录1 (23)第1章绪论1.1引言随着社会的进步和经济的发展,人们越来越关注身份鉴别的准确性和安全性。

(完整版)基于STM32的指纹识别系统的设计

(完整版)基于STM32的指纹识别系统的设计

(完整版)基于STM32的指纹识别系统的设计基于STM32的指纹识别系统的设计摘要随着经济时代的到来和科技的发展,⼈们对⽣活⽔平有了更进⼀步的的追求,对⽣活的安全性逐渐提⾼,其中具有⾝份安全认证功能的指纹识别技术在⼈们的关注和需求下,得到了长⾜的发展,出现了各种不同的指纹识别系统,然⽽⼤多数指纹识别系统是基于PC机的,在便捷性和可移动性上还存在很多不⾜。

基于嵌⼊式的指纹识别成为了⼈们的研究的⽅向,并取得了⼀定的成果。

然⽽在这些应⽤中还有很多不⾜等待⼤家的讨论研发,需要更进⼀步的研究和改善,以提⾼系统的应⽤前景。

本⽂通过对嵌⼊式相关知识、图像预处理等⽅⾯的理论知识进⾏研究,在前⼈的基础之上,开发了⼀套⼩型的嵌⼊式⾝份识别系统。

本⽂根据要设计的⾝份识别系统的功能来讨论了相关的指纹识别系统的硬件设计,完成了基于STM32微处理器的指纹识别系统设备的硬件电路设计和相应的软件设计。

该系统具有指纹图像采集、指纹库中数⽬统计、指纹⽐对、指纹录⼊等功能。

另外,本⽂电路设计中选取的电器件在价格和性能上都有⼀定的优势。

同时,本⽂对指纹识别系统的过程和相关的原理进⾏了⼀定的分析和研究,重点研究指纹图像的预处理过程。

关键词:指纹识别; STM32; 嵌⼊式技术;图像预处理The design of the fingerprint identificationsystem based on STM32AbstractWith the advent of the era of economy and the development of science and technology, people's living standards have further pursuit, gradually improve the safety of the life, the one which has the function of authentication security fingerprint identification technology under the people's attention and demand, the rapid development, appeared a variety of fingerprint identification system, but most of the fingerprint identification system is based on PC, there are still many deficiencies in the convenience and mobility. Based on embedded fingerprint identification has become people the direction of the research, and achieved some results. However in these applications and there are many inadequate wait we discuss research and development, the need to further research and improvement, in order to improve the application prospect of the system. Based on the embedded knowledge, image preprocessing, etc to study the theory of knowledge, on the basis of predecessors, has developed a small embedded identification system. Identification based on to design the system function to discuss the related fingerprint recognition system hardware design, completed the fingerprint identification system based on STM32 microprocessor equipment design of hardware circuit and software design. The system has a fingerprint image collection, fingerprint library statistics, fingerprints, fingerprint input number, and other functions. In addition, this paper selected from the circuit design of electric have a certain advantage in price and performance. At the same time, in this paper, the fingerprint recognition system has been conducted for theprocess and the related principle of analysis and study on the key research of fingerprint image pretreatment process. Keywords: fingerprint identification; STM32; Embedded technology; Image preprocessing⽬录摘要 .................................................................................................................................................. I Abstract ............................................................................................................................................ II 第1章绪论 (1)1.1引⾔ (1)1.2指纹识别技术 (1)1.3指纹识别研究的现状 (2)第2章STM32嵌⼊式指纹识别系统的设计 (2)2.1设计的概述 (2)2.1.1图像分割 (2)2.1.2指纹图像的收敛 (3)2.1.3指纹图像的⼆值化处理 (3)2.1.4指纹图像的细化 (3)2.1.5指纹图像增强 (4)2.1.6特征点的提取 (4)2.2指纹传感器的分类 (4)2.2.1光电式指纹传感器 (4)2.2.2热敏指纹传感器 (5)2.2.3电容式指纹传感器 (5)2.2.4超声波指纹传感器 (6)2.2.5压敏指纹传感器 (6)2.3指纹采集程序设计 (6)2.3.1指纹⽐配 (7)2.3.2图像场计算 (7)2.4细节提取 (8)第3章系统的硬件设计及软件设计 (8)3.1指纹识别系统的硬件 (8)3.1.1采集⽅式 (9)3.1.2 MBF200传感器概述 (11)3.1.3MBF200主要寄存器 (11)3.1.4MBF200的主要功能 (12)3.1.5 SPI通信模式 (12)3.2 STM32指纹识别的软件 (12)3.2.1系统主程序设计 (13)3.2.2传感器初始化程序 (14)3.2.3存储器的扩展程序设计 (16)3.2.4串⼝程序的设计 (16)3.2.5移植算法程序 (17)第4章结果分析 (18)4.1图像匹配测试 (18)4.2指纹识别系统测试 (19)第5章总结 (20)致谢 (21)参考⽂献 (22)附录1 (23)第1章绪论1.1引⾔随着社会的进步和经济的发展,⼈们越来越关注⾝份鉴别的准确性和安全性。

基于STM32的指纹识别密码锁的系统设计

基于STM32的指纹识别密码锁的系统设计

基于STM32的指纹识别密码锁的系统设计The design of fingerprint recognition password lock system based on STM32 single chip microcomputer摘要处于现在这个信息发达的时代,指纹识别技术得到了飞速的发展,此得益于其高度的安全性、成本低、还有方便实用。

指纹可以说是人们不可能会跟别人存在重复的部分,也就是说可以通过这一个特点,将一个人的指纹预先保存起来,然后与其他的指纹进行比较,可以验证出这个人是否为原本预先保存的那个人。

本文是一个基于STM32单片机的指纹识别电子密码锁系统设计。

控制AS608指纹模块以达到实现录取指纹并存储指纹数据的目的,键盘模块选择用矩阵式键盘且通过软件消抖减少其对单片机对应产生的影响,利用12864液晶呈现录入和对比的结果,应用直流继电器及发光二极管模拟开锁的操作,继电器及小灯起到提示指令是否完成的作用。

关键词:STM32单片机指纹识别技术 12864液晶ANSTRACTIn this information developed era, fingerprint recognition technology has been rapid development, which benefits from its high security, low cost, and convenient and practical.Fingerprint can be said to be the part that people can't repeat with others, that is to say, through this feature, one's fingerprint can be saved in advance, and then compared with other fingerprints, it can be verified whether this person is the person who was saved in advance.This paper is a design of fingerprint recognition electronic password lock system based on STM32.The AS608 fingerprint module is controlled to achieve the purpose of taking fingerprint and storing fingerprint data. Matrix keyboard is selected as the keyboard module and its influence on the corresponding MCU is reduced by software buffeting,The 12864 LCD is used to present the results of input and comparison. The DC relay and LED are used to simulate the operation of unlocking. The relay and small lamp play the role of prompting whether the instruction is completed.Keywords:STM32 single chip fingerprint recognition technology 12864 liquid crystal目录第一章概括 (1)1.1指纹识别技术的发展 (1)1.2指纹识别的基本规律 (1)1.3系统设计的用处 (2)1.4系统设计的操作流程 (2)第二章硬件介绍和设计 (4)2.1单片机及最小系统 (4)2.2指纹模块 (5)2.3矩阵键盘模块 (6)2.4液晶显示模块 (7)2.4.1 控制器接口说明 (8)2.4.2指令说明 (8)2.4.3 12864引脚与单片机连接 (11)第三章系统软件的设计 (13)3.1软件运作流程 (13)3.2主程序流程图 (13)3.3部分模块程序设计 (14)3.3.1 矩阵键盘模块程序设计 (14)3.3.2 液晶显示模块程序设计 (15)3.4 Keil编程 (15)第四章硬件的调试 (16)4.1焊接电路 (16)4.1.1 电容器的焊接 (16)4.1.2 二极管的焊接 (16)4.1.3 三极管的焊接 (16)4.1.4 集成电路 (16)4.2调试小灯、继电器 (16)4.3液晶的调试 (17)4.3.1 液晶的注意事项 (17)4.3.2 调试12864液晶 (17)结论 (18)参考文献 (19)致谢 (20)附录 (21)附录1 原理图 (21)第一章概括1.1 指纹识别技术的发展指纹其实在人类还没有出生的时候就已经形成,是取决于胚胎发育所处的环境。

基于STM32的指纹门禁系统的设计

基于STM32的指纹门禁系统的设计

基于STM32的指纹门禁系统的设计指纹门禁系统是一种通过指纹识别技术实现出入口控制的门禁系统。

在STM32单片机的设计中,可以利用其强大的计算能力和IO口数量,结合指纹识别模块和其他外设,实现一个高效、安全、可靠的指纹门禁系统。

一、硬件设计:1.主控部分:选择STM32单片机作为主控芯片,具有丰富的外设资源和强大的计算能力。

2.指纹识别模块:选用高性能的指纹识别模块,具有较高的识别准确率和稳定性。

3.电源模块:设计可靠的电源管理模块,确保系统正常工作,同时具备过压、过流、反接保护等功能。

4.液晶显示屏:采用液晶显示屏显示系统状态和操作信息,与用户进行交互。

5.按键模块:通过按键模块实现对系统的开门、关门和设置等功能。

6.电磁锁:选择合适的电磁锁,能够实现稳定可靠的门控操作。

二、软件设计:1.底层驱动程序:编写底层驱动程序,包括对STM32外设的初始化和配置,以及各种外设的读写操作。

2.指纹识别算法:设计指纹识别算法,包括指纹的录入、图像处理、特征提取和匹配等步骤,保证指纹识别的准确性和可靠性。

3.输入输出管理:实现对输入输出设备的管理,包括按键的扫描、处理和状态显示,以及液晶显示屏的显示控制。

4.用户管理:设计用户管理功能,包括用户信息的录入、删除、修改和查询等操作,以及权限的分配和管理。

5.门控管理:实现对门禁状态的管理,包括门的打开和关闭控制,电磁锁的控制和状态监测等功能。

6.通信模块:如果需要远程监控和控制,可添加无线通信模块,实现与服务器的数据传输和远程操作。

三、系统功能:1.指纹录入与识别:用户将指纹录入系统,系统将指纹信息保存在数据库中,当用户刷指纹时,系统将进行识别并与数据库中的指纹信息进行比对,判断是否授权开门。

2.用户管理:系统管理员可以对用户信息进行管理,包括用户的添加、删除、修改和查询等操作,同时可以设置用户的权限级别和有效期。

3.门禁控制:系统可以实现对门的远程开启和关闭控制,通过电磁锁实现对门的保护和开锁操作。

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

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

基于 STM32单片机的指纹锁系统设计摘要:现如今人们的隐私保护意识不断提高,急需要发展安全可靠、方便快捷的身份识别开锁技术。

由于人体指纹的唯一性,指纹识别技术一直以来备受关注,是众多身份识别技术中较为成熟的一种识别方式。

该文主要介绍了一种以STM32F103ZET6芯片为核心控制器的指纹识别开锁系统,利用ATK-301高性能电容半导体指纹模块进行指纹信息的采集和处理,利用TFT电阻式触摸屏进行显示和控制,可以进行人机交互,此外配合存储器芯片和继电器等器件,实现了指纹信息的录入、删除、匹配开锁等功能,充分利用了指纹识别技术安全便捷等优点。

关键词:STM32芯片;指纹识别;人机交互一、引言随着社会的发展,在各类需要高安全性和方便快捷的出入场合,普遍使用刷卡和生物识别两类技术,钥匙和密码开锁均不满足方便快捷的需求。

其中,刷卡方式因其信物与持有者本身并无直接的关系,可能存在盗用的风险,而生物识别方式依赖于人体特征,这些特征因人而异,如能全面的提取出特征,那么被盗用的风险极小,不过很多识别算法仍在不断改进中。

综合考虑身份识别的可行性、识别速度、识别率和性价比等因素,指纹识别拥有很大的优势。

在19世纪,有人用数学和统计方法证明两个不同的人指纹完全相同的概率仅为六百四十亿分之一,几乎不可能一样。

因为指纹的唯一性,指纹识别技术一直备受关注,上个世纪已逐渐应用于刑侦、社会人员管理等领域。

近些年来,在智能手机、移动互联等技术的推进下,指纹识别的相关硬件技术和算法更是得到了进一步的改进,在人们的日常生活中得以普及。

目前指纹识别开锁技术已被运用到多种出入口场合进行身份识别,它具有自主化的特性,可以节省人力成本和降低出错率。

本系统采用以Cortex-M3为内核的STM32单片机作为主控制器,它具有高性能、低成本、低功耗、可裁剪的特点,并且芯片的面积小,非常利于实现产品的小型化。

同时利用ATK301进行指纹信号的采集和处理,相比于其他识别模块,该模块体积很小,识别速度更快。

基于STM32的嵌入式指纹识别系统的设计与实现

基于STM32的嵌入式指纹识别系统的设计与实现

基于STM32的嵌入式指纹识别系统的设计与实现王春蕾;周美娇;易淑友【期刊名称】《信息技术》【年(卷),期】2013(000)001【摘要】In view of the fingerprint identification system has high requirements in real-time and accuracy, this article described an embedded fingerprint identification system based on the STM32 chip and the optical fingerprint sensor. It improved Gabor filter enhancement algorithms was used for fingerprint image pre-processing, it extracted minutiae by the minutiae detection template. The simulation results in the platform of VC + + environment show that the system has reached the desired effect.%鉴于指纹识别系统较高实时性、准确性的要求,对一种基于STM32芯片和中控光学指纹采集仪的嵌入式指纹识别系统进行了研究和实现.利用改进的Gabor滤波增强算法对指纹数据进行图像预处理后,采用指纹纹线的二值化细化中心线提取法提取图像的细节特征点,在VC++环境平台下进行仿真,结果显示系统达到了预期的效果.【总页数】3页(P155-157)【作者】王春蕾;周美娇;易淑友【作者单位】上海理工大学光电信息与计算机工程学院,上海200093;上海理工大学光电信息与计算机工程学院,上海200093;上海理工大学光电信息与计算机工程学院,上海200093【正文语种】中文【中图分类】TP311【相关文献】1.基于嵌入式应用的指纹识别系统设计与实现 [J], 任丽君;陈蕾2.基于STM32的指纹识别系统设计与实现 [J], 杨磊;张文超;秦会斌3.基于嵌入式应用的指纹识别系统设计与实现 [J], 任丽君;陈蕾4.基于stm32的嵌入式智能自动锁车系统的设计与实现 [J], 张沛轩;许钟煌;叶兆恒;苏嘉俊;赵越;叶港峰;杨楚明5.基于含DSP的ARM嵌入式指纹识别系统的设计与实现 [J], 普措才仁;冯旭因版权原因,仅展示原文概要,查看原文内容请购买。

基于STM32单片机的指纹识别门禁系统

基于STM32单片机的指纹识别门禁系统

)1 引言随着社会进步,生活质量提高,尤其是网络技术和计算机越来越和我们的生活紧密联系,这给社会的信息化的安全带来了很多新挑战,有些简单身份识别方式,因其局限性逐渐暴露出其自身缺点,人们开始寻找更加安全性的身份识别方式,由于生物特征具有唯一性和确定性并能随身携带,简单易用等优点,用生物特征确认所有者信息一直是人们所注重的身份识别方式,尤其是近年来智能科技的飞速发展,人们慢慢得不再满足门锁、钥匙、门禁卡等手工安防设备,所以在人类社会发展过程中指纹识别技术应运产生。

指纹识别技术具有很强的优势:指纹是人体的一大特点,人类指纹相同的概率几乎为零,等同于说指纹是每个人生来就有、无可替代的密码。

因此我相信指纹识别技术一定前景广阔,深受用户喜欢。

12 指纹识别门禁系统整体设计方案此模块对指纹识别门禁控制系统进行完整的功能需求分析,并且规定总体设计方案,这是高效完成系统设计的必要条件。

再之后的设计中,对时间把握,和对后面要修改的内容有个大致的了解,防止没有效率地书写论文。

2.1 系统设计方案指纹识别门禁系统是十分智能化,便捷化的。

指纹识别的原理就是通过比较两幅指纹的特征点来判断指纹是否源自一根手指。

在指纹识别门禁系统中指纹模块是重中之重,STM32单片机作为主控芯片,需要完成指纹识别、指纹对比、指纹输入功能。

并且STM32单片机需要接收按键输入指令,控制指纹模块全部工作过程,可以将操作和结果实时显示在液晶显示器上。

图1 指纹识别门禁的系统设计图2.2. 硬件设计要求文中系统所选择的硬件设备需要根据具体的情况具体分析,首先是要分析使用的用户、地点等,需要根据客户需求来了解开发的难易程度,由此可以做到对设计的控制。

与此同时,设备选取是十分重要的,这直接决定了本文设计的系统难易程度及完善程度。

因此,我们可在满足用户基本需求条件下,合理的选择硬件,这样就能够较大提升系统工作的可靠性和稳定性。

(1)指纹识别模块选取指纹识别应首先将收集到的指纹进行存储、计算、处理等一系列的工作。

同行评阅意见表 (2)

同行评阅意见表 (2)
同学分析并设计的基于STM32的指纹识别门禁系统的设计与实现,符合要求,下面从以下几个方面给予评价:
1.质量评价
该设计采用嵌入式技术,我们的生活在变得逐渐智能化,便捷化,但人们最关心的身份识别领域却没有得到应有的重视。传统的身份识别易丢失、可破解、易被盗取,从而使得安全性和可靠性不高。本系统能够使用密码和指纹两种身份识别方式,从而完成开门和关门的功能,更加的安全。因而该选题具有一定的实用价值,功能完善的同时也可用于改进门禁系统,具有比较广阔的发展前景和现实意义。
学院本科生毕业论文(设计)同行教师评阅意见表
院系:班级:学生姓名:
评阅教师:评阅教师职称:
论文题目:基于STM32的指纹识别门禁系统的设计与实现
(请从以下几个方面给出评阅意见(1)质量评价:论文(设计)的理论和实践意义,达到何种水平;(2)知识评价:学生的专业理论水平和对文献资料的掌握程度;(3)内容评价:论文(设计)的研究方法、实验设计、讨论分析等是否合理。(4)指导教师指导过程和评定情况。)
4.指导教指导过程和评定情况
指导教师指导过程热情活跃,责任心强,有计划布置线下任务,不因疫情影响论文的指导过程,学生在论文写作中遇到的问题够及时回复,积极主动召开线上会议,在线指导学生解决问题,评定准确无误,同意答辩。
评阅成绩:90
评阅教师签字:
21年 5月25日
2.知识评价
该同学具有一定的嵌入式学习经验,基本掌握指纹识别门禁系统的设计与实现;参考借鉴了大量文献资料,对比不同单片机的优缺点,选取合适的来使用。该论文研究内容充实,结构框架合理。
3.内容评价
该设计内容完整全面,目录结构清晰,逻辑处理较好。目录排版准确,内容与步骤都较为完善,论点清晰,分析合理。参考文献引用符合规范,文献标注准确。论文格式正确无误,写作态度优秀。

基于STM32单片机开发光学指纹识别模块

基于STM32单片机开发光学指纹识别模块

基于STM32单片机开发光学指纹识别模块(FPM10A)全教程收藏人:共同成长8882014-05-08 | 阅:25 转:0 | 来源 | 分享基于STM32单片机开发光学指纹识别模块(FPM10A)全教程1.平台首先我使用的是奋斗STM32开发板 MINI板光学指纹识别模块(FPM10A)2.购买指纹模块,可以获得三份资料1.简要使用说明2.使用指纹模块的功能函数3.FPM10A用户手册.3.硬件搭建根据使用说明:FPM 10A使用标准的串口与外界通信,默认的波特率为57600,可以与任何单片机,ARM,DSP等带串口的设备进行连接,请注意电平转换,连接电脑需要进行电平转换,比如MAX232电路。

FPM10A光学指纹模块共有5个管脚1 为 VCC 电源的正极接 3.6V – 5.5V的电压均可。

2 为 GND 电源的负极接地。

3 为 TXD 串口的发送。

4 为 RXD 串口的接收。

5 为 NC 悬空不需要使用。

奋斗板上已经有5V的管脚,可以直接供给指纹模块,这里需要注意的是,指纹模块主要通过串口进行控制,模块和STM32单片机连接的时候,需要进行电平转换,这样只要把这个转接板插入STM32,接上5V的电,就可以工作了,将模块的发送端接转接板的接收端,接收端接转接板的发送端。

这样,我们的硬件平台就搭建好了!4.模块的测试工作模块成功上电后,指纹采集窗口会闪一下,表示自检正常,如果不闪,请仔细检查电源,是否接反,接错等。

指纹模块使用120MHZ的DSP全速工作,工作时芯片有一些热,经过严格的测试,这是没有问题的可以放心使用,在不使用的时候可以关闭电源,以降低功耗。

5.现在我们要进入编程环节了指纹模块主要是通过串口进行控制,所以这里我们需要用到单片机的串口模块。

我们需要用到两个关键函数1.使用串口发送一个字节的数据2.使用串口接收一个字节的数据这里我使用的STM32单片,所以这两个程序如下:view sourceprint?01.// 从 USART1 发送一个字节02.void USART1_SendByte(unsigned char temp)03.{04. USART_SendData(USART1, temp);05. while(USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET);06.}07.08.// 从 USART1 读取一个字节09.unsigned char USART1_ReceivByte()10.{11. unsigned char recev;12. while(USART_GetFlagStatus(USART1, USART_FLAG_RXNE) == RESET);13. recev = USART_ReceiveData(USART1);14. return recev;15.}6.查看FPM10A用户手册我们来实现比对一个指纹(我们这里假设指纹模块中已经存在指纹模板)首先我们需要让指纹模块检测是否有指纹输入(也就是是否有手指放在指纹模块上检测)我们来看手册上给的操作说明:我们需要发送给定的数据包给模块,发送的数据已经给我们了,现在我们参看给我们的C例程view sourceprint?01.//应答包数组02.unsigned char dat[18];03.04.//获得指纹图像05.06.unsigned char FP_Get_Img[6]={0x01,0x00,0x03,0x01,0x0,0x05};07.08.//协议包头09.10.unsigned char FP_Pack_Head[6] ={0xEF,0x01,0xFF,0xFF,0xFF,0xFF};11.12.//FINGERPRINT_获得指纹图像命令13.void FINGERPRINT_Cmd_Get_Img(void)14.{15. unsigned char i;16.17. for(i=0;i<6;i++) //发送包头18. USART1_SendByte(FP_Pack_Head[i]);19.20. for(i=0;i<6;i++) //发送命令 0x1d21. USART1_SendByte(FP_Get_Img[i]);22.23. for(i=0;i<12;i++)//读回应答信息24. dat[i]=USART1_ReceivByte();25.}说明:这个函数就是检测是否有指纹输入的信息,根据用户手册,当确认码返回值为0时,表示成功录入,所以,我们可以有下面的函数:view sourceprint?01.//检测指纹模块录入指纹情况,返回00表示录入成功;02无手指;03录入失败02.unsigned char test_fig()03.{04. unsigned char fig_dat;05. FINGERPRINT_Cmd_Get_Img();06. Delay_ms1(20);07. fig_dat=dat[9];08. return(fig_dat);09.}10.11.因此,我们在主函数中可以这样调用:12.void main13.{14. if(test_fig()==0)15. {16. //do something17. }18.}7.如何录入一个新的指纹信息呢?步骤如下1.获得指纹图像2.检测是否成功的按了指纹3.将图像转换成特征码存放在Buffer1中4.再次获得指纹图像5.将图像转换成特征码存放在Buffer2中6.转换成特征码7.存储到指定地址上同样的,根据用户手册,我们可以得到以下这样的模块:当调用的时候,你只要给这个函数附上两个值就可以了,例如:unsigned char FP_add_new_user(00,01);如果你下次再次写入这个地址,以前存储的指纹模板信息将被覆盖view sourceprint?01.//添加一个新的指纹02.unsigned char FP_add_new_user(unsigned char ucH_user,unsign ed char ucL_user)03.{04. do05. {06. FINGERPRINT_Cmd_Get_Img(); //获得指纹图像07. } while ( dat[9]!=0x0 ); //检测是否成功的按了指纹08.09. FINGERPRINT_Cmd_Img_To_Buffer1(); //将图像转换成特征码存放在Buffer1中10.11. do12. {13. FINGERPRINT_Cmd_Get_Img(); //获得指纹图像14. } while( dat[9]!=0x0 );15.16. FINGERPRINT_Cmd_Img_To_Buffer2(); //将图像转换成特征码存放在Buffer2中18. FINGERPRINT_Cmd_Reg_Model(); //转换成特征码19.20. FINGERPRINT_Cmd_Save_Finger(ucH_user,ucL_user);21.22. return 0;23.}24.25.//存储模版到特定地址26.void FINGERPRINT_Cmd_Save_Finger( unsigned char ucH_Char, unsigned char ucL_Char)27.{28. unsigned long temp = 0;29. unsigned char i;30.31. FP_Save_Finger[5] = ucH_Char;32. FP_Save_Finger[6] = ucL_Char;33.34. for(i=0;i<7;i++) //计算校验和35. temp = temp + FP_Save_Finger[i];36.37. FP_Save_Finger[7]=(temp & 0x00FF00) >> 8; //存放校验数据38. FP_Save_Finger[8]= temp & 0x0000FF;39.40.41. for(i=0;i<6;i++)42. USART1_SendByte(FP_Pack_Head[i]); //发送包头43.44. for(i=0;i<9;i++)45. USART1_SendByte(FP_Save_Finger[i]) ;//发送命令将图像转换成特征码存放CHAR_buffer146.47. for(i=0;i<12;i++)48. dat[i]=USART1_ReceivByte();49.}8.如何删除一个模板?view sourceprint?01.//删除所有指纹模版02.void FINGERPRINT_Cmd_Delete_All_Model(void)03.{04. unsigned char i;06. for(i=0;i<6;i++) //发送包头07. USART1_SendByte(FP_Pack_Head[i]);08.09. for(i=0;i<6;i++) //发送命令 0x1d10. USART1_SendByte(FP_Delet_All_Model[i]);11.12. for(i=0;i<12;i++)//读回应答信息13. dat[i]=USART1_ReceivByte();14.}9.如何获取已经存取的指纹模板信息?这个模块一共可以存储0~999枚指纹信息view sourceprint?01.//搜索全部用户999枚02.void FINGERPRINT_Cmd_Search_Finger(void)03.{04. unsigned char i;05. //发送命令搜索指纹库06. for(i=0;i<6;i++)07. {08. USART1_SendByte(FP_Pack_Head[i]);09. }10.11. for(i=0;i<11;i++)12. {13. USART1_SendByte(FP_Search[i]);14. }15.16. for(i=0;i<16;i++)17. {18. dat[i]=USART1_ReceivByte();19. }20.}根据用户手册,我们可以从应答包中得出模块中已经存在指纹数量的大小这样,我们就轻松把指纹模块搞定!下面我附上基于STM32单片机光学指纹识别模块(FPM10A)打包好的函数库第一个是 FPM10A.cview sourceprint?001.#include "stm32f10x.h"002.#include "stm32f10x_usart.h"003.#include "misc.h"004.unsigned char dat[18];005.006.//FINGERPRINT通信协议定义007.unsigned char FP_Pack_Head[6] ={0xEF,0x01,0xFF,0xFF,0xFF,0xFF}; //协议包头008.unsigned char FP_Get_Img[6] ={0x01,0x00,0x03,0x01,0x0,0x05}; //获得指纹图像009.unsigned char FP_Templete_Num[6]={0x01,0x00,0x03,0x1D,0x00,0x21 }; //获得模版总数010.unsigned char FP_Search[11]={0x01,0x0,0x08,0x04,0x01,0x0,0 x0,0x03,0xA1,0x0,0xB2}; //搜索指纹搜索范围0 - 929011.unsigned char FP_Search_0_9[11]={0x01,0x0,0x08,0x04,0x01,0 x0,0x0,0x0,0x13,0x0,0x21};//搜索0-9号指纹012.unsigned char FP_Img_To_Buffer1[7]={0x01,0x0,0x04,0x02,0x0 1,0x0,0x08}; //将图像放入到BUFFER1013.unsigned char FP_Img_To_Buffer2[7]={0x01,0x0,0x04,0x02,0x0 2,0x0,0x09}; //将图像放入到BUFFER2014.unsigned char FP_Reg_Model[6]={0x01,0x0,0x03,0x05,0x0,0x09 }; //将BUFFER1跟BUFFER2合成特征模版015.unsigned char FP_Delet_All_Model[6]={0x01,0x0,0x03,0x0d,0x 00,0x11}; //删除指纹模块里所有的模版016.unsigned char FP_Save_Finger[9]={0x01,0x00,0x06,0x06,0x01, 0x00,0x0B,0x00,0x19};//将BUFFER1中的特征码存放到指定的位置017.unsigned char FP_Delete_Model[10]={0x01,0x00,0x07,0x0C,0x0 ,0x0,0x0,0x1,0x0,0x0}; //删除指定的模版018.019.020.//从 USART1 发送一个字节021.void USART1_SendByte(unsigned char temp)022.{023. USART_SendData(USART1, temp);024. while(USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET);025.}026.027.//从 USART1 读取一个字节028.unsigned char USART1_ReceivByte()029.{030. unsigned char recev;031. while(USART_GetFlagStatus(USART1, USART_FLAG_RXNE) == RESET);032. recev = USART_ReceiveData(USART1);033. return recev;034.}035.//FINGERPRINT命令字036.//FINGERPRINT_获得指纹图像命令037.void FINGERPRINT_Cmd_Get_Img(void)038.{039. unsigned char i;040.041. for(i=0;i<6;i++) //发送包头042. USART1_SendByte(FP_Pack_Head[i]);043.044. for(i=0;i<6;i++) //发送命令 0x1d045. USART1_SendByte(FP_Get_Img[i]);046.047. for(i=0;i<12;i++)//读回应答信息048. dat[i]=USART1_ReceivByte();049.}050.051.//删除所有指纹模版052.void FINGERPRINT_Cmd_Delete_All_Model(void)053.{054. unsigned char i;055.056. for(i=0;i<6;i++) //发送包头057. USART1_SendByte(FP_Pack_Head[i]);058.059. for(i=0;i<6;i++) //发送命令 0x1d060. USART1_SendByte(FP_Delet_All_Model[i]);061.062. for(i=0;i<12;i++)//读回应答信息063. dat[i]=USART1_ReceivByte();064.}065.066.//讲图像转换成特征码存放在Buffer1中067.void FINGERPRINT_Cmd_Img_To_Buffer1(void)068.{069. unsigned char i;070. for(i=0;i<6;i++) //发送包头071. {072. USART1_SendByte(FP_Pack_Head[i]);073. }074. for(i=0;i<7;i++) //发送命令将图像转换成特征码存放在CHAR_buffer1075. {076. USART1_SendByte(FP_Img_To_Buffer1[i]);077. }078. for(i=0;i<12;i++)//读应答信息079. {080. dat[i]=USART1_ReceivByte();//把应答数据存放到缓冲区081. }082.}083.084.//将图像转换成特征码存放在Buffer2中085.void FINGERPRINT_Cmd_Img_To_Buffer2(void)086.{087. unsigned char i;088. for(i=0;i<6;i++) //发送包头089. {090. USART1_SendByte(FP_Pack_Head[i]);091. }092.093. for(i=0;i<7;i++) //发送命令将图像转换成特征码存放在CHAR_buffer1094. {095. USART1_SendByte(FP_Img_To_Buffer2[i]);096. }097. for(i=0;i<12;i++)098. {099. dat[i]=USART1_ReceivByte();//读回应答信息100. }101.}102.103.//将BUFFER1 跟 BUFFER2 中的特征码合并成指纹模版104.void FINGERPRINT_Cmd_Reg_Model(void)105.{106. unsigned char i;107.108. for(i=0;i<6;i++) //包头109. {110. USART1_SendByte(FP_Pack_Head[i]);111. }112.113. for(i=0;i<6;i++) //命令合并指纹模版114. {115. USART1_SendByte(FP_Reg_Model[i]);117.118. for(i=0;i<12;i++)119. {120. dat[i]=USART1_ReceivByte();121. }122.}123.124.//存储模版到特定地址125.void FINGERPRINT_Cmd_Save_Finger( unsigned char ucH_Char, unsigned charucL_Char)126.{127. unsigned long temp = 0;128. unsigned char i;129.130. FP_Save_Finger[5] = ucH_Char;131. FP_Save_Finger[6] = ucL_Char;132.133.134. for(i=0;i<7;i++) //计算校验和135. temp = temp + FP_Save_Finger[i];136.137. FP_Save_Finger[7]=(temp & 0x00FF00) >> 8; //存放校验数据138. FP_Save_Finger[8]= temp & 0x0000FF;139.140.141. for(i=0;i<6;i++)142. USART1_SendByte(FP_Pack_Head[i]); //发送包头143.144. for(i=0;i<9;i++)145. USART1_SendByte(FP_Save_Finger[i]); //发送命令将图像转换成特征码存放在 CHAR_buffer1146.147. for(i=0;i<12;i++)148. dat[i]=USART1_ReceivByte();149.}150.151.//获得指纹模板数量152.void FINGERPRINT_Cmd_Get_Templete_Num(void)153.{154. unsigned int i;155.156. for(i=0;i<6;i++) //包头157. USART1_SendByte(FP_Pack_Head[i]);159. //发送命令 0x1d160. for(i=0;i<6;i++)161. USART1_SendByte(FP_Templete_Num[i]);162.163. for(i=0;i<12;i++)164. dat[i]=USART1_ReceivByte();165.}166.167.//搜索全部用户999枚168.void FINGERPRINT_Cmd_Search_Finger(void)169.{170. unsigned char i;171. //发送命令搜索指纹库172. for(i=0;i<6;i++)173. {174. USART1_SendByte(FP_Pack_Head[i]);175. }176.177. for(i=0;i<11;i++)178. {179. USART1_SendByte(FP_Search[i]);180. }181.182. for(i=0;i<16;i++)183. {184. dat[i]=USART1_ReceivByte();185. }186.}187.188.//搜索用户0~9枚189.void FINGERPRINT_Cmd_Search_Finger_Admin(void) 190.{191. unsigned char i;192. for(i=0;i<6;i++) //发送命令搜索指纹库193. {194. USART1_SendByte(FP_Pack_Head[i]);195. }196.197. for(i=0;i<11;i++)198. {199. USART1_SendByte(FP_Search_0_9[i]);200. }201.202. for(i=0;i<12;i++)203. dat[i]=USART1_ReceivByte();204.}205.206.//添加一个新的指纹207.unsigned char FP_add_new_user(unsigned char ucH_user,unsig ned char ucL_user)208.{209. do210. {211. FINGERPRINT_Cmd_Get_Img(); //获得指纹图像212. } while ( dat[9]!=0x0 ); //检测是否成功的按了指纹213.214. FINGERPRINT_Cmd_Img_To_Buffer1(); //将图像转换成特征码存放在Buffer1中215.216. do217. {218. FINGERPRINT_Cmd_Get_Img(); //获得指纹图像219. } while( dat[9]!=0x0 );220.221. FINGERPRINT_Cmd_Img_To_Buffer2(); //将图像转换成特征码存放在Buffer2中222.223. FINGERPRINT_Cmd_Reg_Model(); //转换成特征码224.225. FINGERPRINT_Cmd_Save_Finger(ucH_user,ucL_user);226.227. return 0;228.}第2个 FPM10A.hview sourceprint?01.#ifndef _FPM10A_H02.#define _FPM10A_H03.#include <stdint.h>04.05.extern unsigned char dat[18];06.07.extern void FINGERPRINT_Cmd_Get_Img();08.extern void FINGERPRINT_Cmd_Img_To_Buffer1();09.extern void FINGERPRINT_Cmd_Img_To_Buffer2();10.extern void FINGERPRINT_Cmd_Reg_Model();11.extern void FINGERPRINT_Cmd_Delete_All_Model(void);12.extern void FINGERPRINT_Cmd_Search_Finger(void);13.extern void FINGERPRINT_Cmd_Get_Templete_Num(void);14.extern void FINGERPRINT_Cmd_Search_Finger_Admin(void);15.extern void FINGERPRINT_Cmd_Save_Finger( unsigned char ucH_ Char, unsigned charucL_Char);16.extern unsigned char FP_add_new_user(unsigned char ucH_user ,unsigned charucL_user);17.18.19.extern void USART1_SendByte(unsigned char temp);20.extern unsigned char USART1_ReceivByte();21.22.extern void Delay_ms1(uint32_t nCount);23.24.void Delay_nus1(uint32_t nCount)25.{26. uint32_t j;27. while(nCount--)28. {29. j=8;30. while(j--);31. }32.}33.34.void Delay_ms1(uint32_t nCount)35.{36. while(nCount--)37. Delay_nus1(1100);38.}39.40.unsigned char test_fig()//检测指纹模块录入指纹情况,返回00表示录入成功;02无手指;03录入失败41.{42. unsigned char fig_dat;43. FINGERPRINT_Cmd_Get_Img();44. Delay_ms1(20);45. fig_dat=dat[9];46. return(fig_dat);47.}48.49.#endif有了这两个东西,加入到你的工程中,就可以直接调用啦!。

基于STM32的指纹识别系统设计与实现

基于STM32的指纹识别系统设计与实现
第 28卷 第 12期 2011年 12 月
机 电 工 程
Journal of Mechanical& Electrical Engineering
Vo1.28 No.12 Dec.2011
基于 STM32的指纹识别 系统设计与实现
杨 磊 ,张 文超 ,秦 会 斌
(杭州电子科技大学 新型电子器件与应用研究所 ,浙江 杭州 310018)
收稿 日期 :2011-06—10 作者简介 :杨磊 (1986一),男 ,陕西渭南人 ,主要从事新型电子器件设计与应用方面的研究 .E-mail:bgfg1986@163.com 通信联系人 :秦会斌 ,男 ,教授 ,博士生导师.E-mail:qhb@hdu.edu.en
机 电 工 程
YANG Lei,ZHANG Wen-chao,QIN Hui-bin
(Institute of Electron Device&Application,Hangzhou Dianzi University,Hangzhou 3 1001 8,China)
Abstract:Aiming at the shortcomings of price,efi ciency and accuracy of f ingerpr int algor ithm in the embedded f inger p rint identif ication system at present,an embedded fingerp rint recognition design method based on STM32 and FPS200 f inger print sensor was introduced.In the algorithm ,Gabor f ilter enhancement and image recognition accuracy were im proved by seeking the f inger p rint or ientation field information,and recognition ef i ciency was enhanced by initial match and global similarity method.The results indicate that the system identification has high accuracy,high efi ciency,overall perform ance meet the requirements. K ey w ords:f inger p r int recognition;STM 32;fingerp rint sensor;recognition algor ithm

基于STM-32指纹识别密码锁控制系统的设计与实现毕业论文

基于STM-32指纹识别密码锁控制系统的设计与实现毕业论文

基于STM-32指纹识别密码锁控制系统的设计与实现毕业论文本科生毕业论文(设计)此处为论文中文题目,要求居中填写主标题不超过24题目:基于STM-32指纹密码锁控制系统的设计与实现个汉字;可加副标题 (副标题前加破折号),副标题与主标题间空一行的位置主标题:黑体,小二,居中副标题:楷体 _GB2312,四号,居中阅后删除此文本框。

基于STM-32指纹密码锁控制系统的设计与实现摘要:本文首先介绍了指纹密码锁控制系统的开发背景和意义~简单介绍了一些国内外常见的指纹识别装置和指纹识别密码锁~并指出了当前指纹识别控制系统存在的问题~再根据完整的指纹识别模块指令确定了本系统的目标和要求~以战舰STM-32为开发平台进行了系统的总体结构设计~阐述了系统的软、硬件组成~并重点探讨了指纹识别模块、键盘模块、LCD液晶显示模块和报警模块等几个主要功能模块的设计与实现。

最后~对系统的设计与实现做相应总结。

关键词:指纹识别,战舰 STM32,模式识别Design and Implementation of STM32-based fingerprint combinationlock control SystemAbstract: This paper introduces the fingerprint lock control system development background and significance simply, introduced some common fingerprint identification device and fingerprint identification combination lock at home and abroad, and points out the problemsexisting 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 warship 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 function module design and implementation. Finally, summarizes the design and implementation of the system.Key words: Fingerprint identification; Warship STM32; Pattern recognitionI目录1绪论 (1)1.1 开发背景和意义 ......................................................1 1.2 国内外研究现状 ...................................................... 1 1.2.1 总体研究现状 .................................................... 1 1.2.2 指纹采集技术的研究现状 .......................................... 2 1.2.3指纹识别技术的研究现状 ........................................... 3 1.3本文主要研究内容和章节安排 (3)2系统总体结构设计 ........................................................ 4 2.1 系统设计总体要求 . (4)2.2硬件总体结构设计 .................................................... 4 2.3软件总体结构设计 (5)3系统硬件模块设计与实现 .................................................. 63.1指纹识别模块设计与实现 .............................................. 6 3.2 LCD液晶显示模块设计与实现 ........................................... 7 3.3键盘模块设计与实现 (8)3.4报警模块设计与实现 ..................................................9 4系统软件模块设计与实现 ................................................. 10 4.1键盘模块程序设计与实现 ............................................. 10 4.2报警模块程序设计与实现 ............................................. 10 4.3 LCD液晶显示模块程序设计与实现 ...................................... 11 4.4指纹识别模块程序设计与实现 .. (12)4.4.2指纹识别模式 ....................................................12 4.4.2指纹识别模式 .................................................... 13 5系统实现结果 ........................................................... 14 5.1系统总体框架 . (14)5.2指纹录入模式 .......................................................15 5.3指纹识别模式 (17)II5.4结果分析 ........................................................... 19 6总结与展望 . (19)参考文献 (20)致谢 .....................................................................21III1绪论1.1 开发背景和意义指纹就是我们人类手指末端指腹上由凹凸的皮肤所形成的纹路,是人类在进[1]化过程中自然形成的。

(完整版)基于STM32的指纹识别系统的设计.doc

(完整版)基于STM32的指纹识别系统的设计.doc

辽宁科技大学信息技术学院本科生毕业设计基于 STM32的指纹识别系统的设计摘要随着经济时代的到来和科技的发展,人们对生活水平有了更进一步的的追求,对生活的安全性逐渐提高,其中具有身份安全认证功能的指纹识别技术在人们的关注和需求下,得到了长足的发展,出现了各种不同的指纹识别系统,然而大多数指纹识别系统是基于PC 机的,在便捷性和可移动性上还存在很多不足。

基于嵌入式的指纹识别成为了人们的研究的方向,并取得了一定的成果。

然而在这些应用中还有很多不足等待大家的讨论研发,需要更进一步的研究和改善,以提高系统的应用前景。

本文通过对嵌入式相关知识、图像预处理等方面的理论知识进行研究 ,在前人的基础之上 ,开发了一套小型的嵌入式身份识别系统。

本文根据要设计的身份识别系统的功能来讨论了相关的指纹识别系统的硬件设计,完成了基于STM32 微处理器的指纹识别系统设备的硬件电路设计和相应的软件设计。

该系统具有指纹图像采集、指纹库中数目统计、指纹比对、指纹录入等功能。

另外 , 本文电路设计中选取的电器件在价格和性能上都有一定的优势。

同时,本文对指纹识别系统的过程和相关的原理进行了一定的分析和研究,重点研究指纹图像的预处理过程。

关键词:指纹识别 ; STM32;嵌入式技术;图像预处理The design of the fingerprint identificationsystem based on STM32AbstractWith the advent of the era of economy and the development of science and technology, people's living standards have further pursuit, gradually improve the safety of the life, the one which has the function of authentication security fingerprint identification technology under the people's attention and demand, the rapid development, appeared a variety of fingerprint identification system, but most of the fingerprint identification system is based on PC, there are still many deficiencies in the convenience and mobility. Based on embedded fingerprint identification has become people the direction of the research, and achieved some results. Howeverin these applications and there are many inadequate wait we discuss research and development, the need to further research and improvement, in order to improve the application prospect of the system. Based on the embedded knowledge, image preprocessing, etc to study the theory of knowledge, on the basis of predecessors, has developed a small embedded identification system. Identification based on to design the system function to discuss the related fingerprint recognition system hardware design, completed the fingerprint identification system based on STM32 microprocessor equipment design of hardware circuit and software design. The system has a fingerprint image collection, fingerprint library statistics, fingerprints, fingerprint input number, and other functions. In addition, this paper selected from the circuit design of electric have a certain advantage in price and performance. At the same time, in this paper, the fingerprint recognition system has been conducted for theprocess and the related principle of analysis and study on the key research of fingerprint image pretreatment process.Keywords:fingerprint identification; STM32; Embedded technology; Image preprocessing目录I Abstract (II)第 1 章绪论 (1)1.1 引言 (1)1.2 指纹识别技术 (1)1.3 指纹识别研究的现状 (2)第 2 章 STM32 嵌入式指纹识别系统的设计 (2)2.1 设计的概述 (2)2.1.1 图像分割 (2)2.1.2 指纹图像的收敛 (3)2.1.3 指纹图像的二值化处理 (3)2.1.4 指纹图像的细化 (3)2.1.5 指纹图像增强 (4)2.1.6 特征点的提取 (4)2.2 指纹传感器的分类 (4)2.2.1 光电式指纹传感器 (4)2.2.2 热敏指纹传感器 (5)2.2.3 电容式指纹传感器 (5)2.2.4 超声波指纹传感器 (6)2.2.5 压敏指纹传感器 (6)2.3 指纹采集程序设计 (6)2.3.1 指纹比配 (7)2.3.2 图像场计算 (7)2.4 细节提取 (8)8 第 3 章系统的硬件设计及软件设计 ...............................................................................................3.1 指纹识别系统的硬件 (8)3.1.1 采集方式 (9)3.1.2 MBF200 传感器概述 (11)3.1.3MBF200 主要寄存器 (11)3.1.4MBF200 的主要功能 (12)3.1.5 SPI 通信模式 (12)3.2 STM32 指纹识别的软件 (12)3.2.1 系统主程序设计 (13)3.2.2 传感器初始化程序 (14)3.2.4 串口程序的设计 (16)3.2.5 移植算法程序 (17)第 4 章结果分析 (18)4.1 图像匹配测试 (18)4.2 指纹识别系统测试 (19)第 5 章总结 (20)致谢21 参考文献 (22)附录 1 (23)第 1 章绪论1.1 引言随着社会的进步和经济的发展,人们越来越关注身份鉴别的准确性和安全性。

基于STM32的指纹识别安全系统研究的开题报告

基于STM32的指纹识别安全系统研究的开题报告

基于STM32的指纹识别安全系统研究的开题报告一、研究背景及意义随着信息技术的不断发展和普及,安全问题成为了人们普遍关注的问题。

在安全领域,指纹识别技术因其高可靠性、高安全性、易于使用的特点得到了广泛的应用。

指纹识别系统是一种常见的生物识别技术,它通过获取人体指纹上的纹理特征,来判断身份信息的真伪。

在指纹识别系统中,硬件设备扮演着至关重要的角色。

而基于STM32微控制器的指纹识别系统,不仅可以实现指纹数据的采集、处理和比对等基本功能,还可以提供数据加密和保护等附加功能,大大提高了安全性和可靠性。

二、研究内容及方法本项目的主要研究内容包括:1.基于STM32微控制器的指纹识别系统硬件设计:包括指纹传感器驱动电路、STM32微控制器电路及其外围电路等。

2.指纹图像采集和处理:通过指纹传感器采集指纹图像,并通过嵌入式图像处理算法进行图像预处理、增强和特征提取等操作。

3.指纹比对算法的设计与实现:该部分主要是进行指纹图像与指纹数据库的比对算法的研究和实现。

4.基于STM32的指纹识别安全系统软件设计:指纹识别系统软件的设计和实现。

通过程序编写实现系统算法控制、数据存储管理及电子密码锁控制功能等。

本项目将采用实验室现有的开发板材料,通过软硬件相结合的方式,实现基于STM32微控制器的指纹识别安全系统的设计和实现。

三、预期结果和创新性分析1. 该项目能够实现基于STM32的指纹识别安全系统的设计与实现,系统具有良好的可扩展性和稳定性,可以提供较高的识别率和较低的误识率。

2. 该项目对指纹识别系统硬件设计、指纹图像处理、指纹比对算法等方面进行深入研究和优化,对指纹识别领域的相关研究具有一定的学术价值。

3. 该项目在安全防范领域中,将指纹识别技术应用于智能安防方面,提高了系统的安全性和可靠性,具有一定的应用前景和社会意义。

四、进度安排1.前期调研和文献阅读:2个月2.系统功能要求和设计方案:1个月3.硬件设计与实现:2个月4.算法研究和实现:3个月5.软件设计:2个月6.系统测试和优化:1个月7.结果分析和论文撰写:2个月五、参考文献1.《基于指纹识别技术的生物特征识别系统设计与实现》,摘自机械电子信息,第30卷,第7期,20152.《STM32微控制器及其应用》(第二版),中国电力出版社,20183.《指纹识别技术及其应用》,摘自计算机应用,第30卷,第3期,20104.《指纹识别技术在安全防范中的应用探究》,摘自装备制造技术,第51卷,第8期,2013注:由于语言限制,本文提供的机器翻译可能不太准确或不适合阅读,仅供参考。

基于STM32的指纹识别系统设计

基于STM32的指纹识别系统设计

基于STM32的指纹识别系统设计张乐;王悦【摘要】为了解决传统的身份识别容易被破解或更改,安全性较低的问题,设计了指纹识别系统.本系统以STM32单片机为主控制处理器,通过AS608指纹识别模块、LCD12864液晶显示屏以及外围电路搭建整体系统电路.AS608指纹模块将采集到的指纹信息进行内部指纹图像处理,通过A/D转换成数字量信息存储到内部存储中,并通过I/O接口将数据发送到STM32主控制处理器中,由STM32主控制处理器进行数据处理并将反馈结果通信传给LCD12864液晶显示屏显示结果.该系统采用密码输入和指纹自动识别的双重保护,能够实现自动上锁和开锁的功能.【期刊名称】《沈阳大学学报》【年(卷),期】2019(031)002【总页数】5页(P113-117)【关键词】指纹识别;STM32单片机;AS608指纹模块;LCD12864显示;门禁【作者】张乐;王悦【作者单位】沈阳大学信息工程学院,辽宁沈阳 110044;沈阳大学信息工程学院,辽宁沈阳 110044【正文语种】中文【中图分类】TP391.41当今社会,信息安全成为人们越来越关心的话题,而生物特征因其具有很强的唯一性以及独特性,从而引领着生物识别技术的发展,像指纹识别、虹膜识别、面部识别等更多地被应用到各种不同的领域,代替了部分安全性较低的识别技术.位于巩膜和瞳孔之间的虹膜虽然包含了最丰富的纹理信息,但是就目前的市场来说虹膜识别的应用还不是很广泛[1].据统计,2017年我国安防市场总产值约5 900亿元;前瞻预计,到2023年,门禁系统市场规模将有望达到294亿元[2].传统的门禁多采用刷卡或输入密码等方式采集并处理信息,这就需要用户随身携带门禁卡片,这样很不方便,另外密码也很容易被破解或盗取,在安全性方面还需要加强[3].基于这些因素加上指纹具有较强的唯一性和稳定性,且指纹相对于其他生物特征来说采集信息较方便,本文将指纹识别技术应用到门禁系统上并实现快速识别.不同于其他指纹识别系统的是,本设计采用STM32单片机,它可以同时处理32位的数据,较51单片机来说传输速率更快,在识别速度上有很大的优势,集成度高、内部资源丰富也是其优势所在[4].选用AS608指纹模块,因为它采集指纹的效率非常高,而且模块内部能自动识别并处理相关信息,无需再研究复杂的算法[5].指纹信息处理完成之后,单片机会将结果发送给LCD12864显示屏,然后以文字的方式呈现给用户.1 整体方案设计本文以STM32F103单片机作为主控芯片,采用AS608光学指纹模块来采集处理指纹信息,并用LCD12864显示屏呈现最终结果,单片机与它们进行串行数据传输.最主要的是要不断调试以提高识别的速度.主要实现以下功能:如果用户输入的指纹与之前预留的指纹信息一致,就会被识别成功,继电器产生动作,同时二极管点亮,显示屏显示“门已开”;当输入指纹错误时,显示屏会提示“未搜索到指纹”.有异常情况出现时,管理员也可以通过输入密码的方式手动开锁,实现双重保护功能,从而提高了门禁系统的安全性.本系统的优点在于系统硬件占用体积很小、对指纹的识别用时非常短,也便于在家庭中使用.该系统结构共分为5个模块:主控芯片(STM32单片机)、指纹模块(AS608)、显示模块(LCD12864)、按键部分以及存储模块(24C02存储器).系统总体结构框图如图1所示.(1) 主控芯片.根据控制需求,选择STM32F103单片机处理器作为控制芯片.该芯片具有串行调试(SWD)和JTAG接口2种调试模式,方便与该系统中的其他外围电路进行串行传输数据[6].51个多功能双向I/O口,且集成度高、易开发、函数库编程方式也相对简单,内部资源和外设资源也非常丰富,最关键的是该芯片处理数据的速度快,符合本指纹识别技术快速性的要求,而且低能耗,价格也相对较低.图1 系统总体框图Fig.1 Overall framework diagram of the system(2) 指纹模块.采用AS608指纹模块进行指纹的采集与处理,因为该模块内部的DSP 单元集成了指纹识别算法,提高了采集图像和识别指纹特征的效率,处理一个指纹图像只需要不到0.4 s的时间.且该模块的拒真率低于1%,认假率低于0.001%,识别率非常好,完全符合本设计的要求[7].另外,该模块内置一个手指检测电路,根据WAK 引脚的状态判断手指是否按下.(3) 显示模块.显示部分采用LCD12864,因为该模块界面灵活、操作指令简单,并且可以形成人机交互图形界面.通过改变V0引脚上滑动变阻器接入的阻值可以改变LCD12864液晶显示屏的亮度[8].且通过串口与单片机进行数据的传送以达到信息的实时显示.(4) 按键部分.因为本系统共有16个按键,采用矩阵式键盘设计.有按键按下时,与之相连的两根线的电平状态发生变化,所以就能判断被按下按键的具体位置,实现不同的功能.(5) 存储模块.本系统采用24C02存储器来存储管理员密码.其中WP引脚为写保护引脚,可以防止误改存储区域内部数据,即当该引脚为高时,整个寄存器区域受到保护,因此只能读取24C02.在接收到第一数据字节之后不发送应答信号,以避免存储区域被重写.2 程序设计2.1 主程序设计主程序主要包括指纹模块子程序、LCD子程序、内存子程序和键盘子程序.如图2所示的主程序流程主要有2个部分:一是通过指纹开锁,二是通过按键开锁.上电之后各模块先初始化,当指纹模块上有指纹出现时,其内部的DSP单元会开始处理数据,对比之前指纹库中已经录入的指纹,匹配的结果会传给单片机,然后由单片机发送指令给显示屏,将识别的结果显示出来;就是通过手动按按键产生的一些动作,首先单片机检测按键,如果有按键被按下再具体判断是哪一个按键,同时判断是否需要调用该按键需要的子程序[9].也可以输入6位数字格式的密码,进入管理员模式,然后可以采集新的指纹信息或删除已经录好的指纹,也可以修改管理员密码,为保证安全,在更改密码时需输入2次确认.图2 主程序流程图Fig.2 Flow chart of main program2.2 按键程序设计在键盘模块,当有按键按下时避免不了会有不同程度的抖动,这时就会先利用延时程序消除抖动再判断是否真正有按键按下.如果有按键按下再进行按键分析,由于采用矩阵式设计,按键较多,而且每个按键的功能又不同,所以按键分析要通过程序的编写来达到准确判断的结果.分析之后,将结果传给单片机,由单片机给出指令来控制其他外设电路产生一系列动作来完成操作.若判断出不是按键按下而只是有抖动产生,那么就继续等待,直到有真正的按键产生.工作过程如图3所示.图3 按键工作流程图Fig.3 Flow chart of key2.3 LCD程序设计显示模块就是按照需求将单片机指令执行完成的相关内容呈现在屏幕上.设计程序时,先写初始化和清屏的程序,接下来再完成接收命令和显示结果的程序.当系统开始工作,单片机给出显示屏命令时,它就会按照需求将显示的结果呈现到屏幕上以便于分析操作的结果[10].过程如图4所示.图4 LCD流程图Fig.4 Flow chart of LCD2.4 指纹程序设计指纹模块主要是采集指纹数据,再将识别结果发送出去,所以该部分的程序设计也就分为2个部分:数据接收和数据发送.指纹识别模块与单片机进行串口通信,串口方式下的数据接收需要观察RI的值,如果RI为0就读出SBUF的值.而数据发送主要依据TI值,如果TI不为0,那么返回继续进行串口发送.发送、接收数据的过程如图5. 图5 数据接收和发送流程图Fig.5 Flow chart of data receiving and transmitting3 系统实现单片机各引脚与指纹模块、显示电路模块、键盘模块以及其他外围电路按需求相互连接,在经过不断调试之后,设计出整体电路图如图6所示.在整个设计过程中,最难最耗时的就是调试,显示屏有几次不能及时准确地显示出结果,参照它的资料手册修改了几次程序得以解决.在采集完指纹图像存储时,本来是使用EEPROM进行存储,但是发现上传/下载图像过慢,经翻阅资料得知,指纹模块的RAM内设有一个72K bytes的图像缓冲区和两个512K bytes的特征文件区,可以通过指令读写任意一个区,使图像缓冲区上传/下载的速度更快一些.图6 电路原理图Fig.6 The diagram of circuit schematic在各电路互相连接好并能正常运行后验证指纹识别的成功率.AS608指纹模块的指纹存储量为300枚,在常温环境下,采集指纹30人×10手指×2样本=600枚,分2组进行,其中每个手指采集的2枚指纹分别为手指中间部分和边缘部分的指纹,以方便使用者触摸到指纹传感器模块就能识别成功.在确保这些手指没有潮湿、划破等异常情况时,以正确方式将第一组的300枚指纹预先录入到指纹模块中,然后再分别触摸解锁[11].测试完成删除全部指纹,以同样方式再录入第二组的300枚指纹.观察到的结果是,600枚指纹中有599枚指纹能识别成功,仅有一枚指纹识别失败,成功率达到了99.83%,失败率为0.17%,远低于AS608指纹模块的拒真率1%.指纹经过处理并识别成功之后,液晶显示屏会显示图7所示的字样.识别失败时显示屏如图8所示.指纹模块经过小于0.1 s的初始化后,处理图像只需要不超过0.4 s的时间,再经过STM32单片机处理反馈出结果,总时长在0.4 s左右.图7 指纹识别成功图Fig.7 The diagram of successful fingerprint identification图8 指纹识别失败图Fig.8 The diagram of unsuccessful fingerprint identification4 结论本系统通过AS608模块采集并处理指纹之后,通过STM32F103单片机将信息发送给LCD12864,然后呈现给用户.配合完成指纹识别功能的硬件还有按键、继电器及指示灯.按键可以操作管理员模式下的任何操作指示,通过继电器加之小灯的闪烁可以准确方便地观察到录入及识别指纹是否成功.为了起到双重保护的作用,管理员也可以手动输入密码开锁,在管理员模式下也能够删除、增加指纹信息,或者修改密码. 参考文献:【相关文献】[1]于霞,李铁鑫,于巧,等. 瞳孔轮廓的几何形变与胃病的相关性[J]. 沈阳大学学报(自然科学版), 2016,28(2):122-127.YU X,LI T X,YU Q, et al. Correlation between geometrical deformation of pupil and stomach disease[J]. Journal of Shenyang University (Natural Science), 2016, 28(2):122-127.[2]刘燕红,储晓华,陈佳佳, 等. 基于STM32的智能门禁系统设计[J]. 科技经济导刊, 2018,26(7):25-26.LIU Y H,CHU X H,CHEN J J,et al. Design of intelligent access control system based on STM32[J]. Technology Economic Guide, 2018,26(7):25-26.[3]白志帅,穆士留,张峰,等. 基于BLE技术的智能门禁系统[J]. 自动化与仪表, 2017,32(4):67-70. BAI Z S,MU S L,ZHANG F,et al. Intelligent access control system based on BLE technology[J]. Automation and Instrumentation, 2017,32(4):67-70.[4]张秀玲,齐晴,侯代标,等. 混合优化的RBF网络车牌字符识别[J]. 沈阳大学学报(自然科学版), 2017,29(2):113-117.ZHANG X L,QI Q,HOU D B,et al. Hybrid optimized RBF network license plate character recognition[J]. Journal of Shenyang University (Natural Science), 2017,29(2):113-117. [5]张燕红,王丽雪,童晨科,等. 基于单片机的指纹识别密码锁的设计[J]. 工业控制计算机,2016,29(12):128-129.ZHANG Y H,WANG L X,TONG C K,et al. Design of fingerprint identification password lock based on SCM[J]. Industrial Control Computer, 2016,29(12):128-129.[6]陈俊杰,廖一鹏. 基于STM32的远程智能门禁终端的设计[J]. 工业控制计算机, 2015,28(11):29-30.CHEN J J,LIAO Y P. Design of remote intelligent access control terminal based onSTM32[J]. Industrial Control Computers, 2015,28(11):29-30.[7]王莹,王晓丽. 基于物联网技术的智能门禁系统的设计与研究[J]. 吉林建筑大学学报,2017,34(1):83-86.WANG Y,WANG X L. Design and research of intelligent access control system based on Internet of things technology[J]. Journal of Jilin Jianzhu University, 2017,34(1):83-86. [8]王璐. 基于iBotton(R)的智能门禁安全管理系统[J]. 电气自动化, 2015,35(3):42-44.WANG L. Intelligent access control security management system based on iButton(R)[J]. Electrical Automation, 2015,35(3):42-44.[9]万福才,尹承祥,韩晓微,等. 城市道路交通异常事件自动检测方法[J]. 沈阳大学学报(自然科学版), 2015,27(1):30-33.WAN F C,YIN C X,HAN X W,et al. Automatic detection method of abnormal events in city road traffic[J]. Journal of Shenyang University (Natural Science), 2015,27(1):30-33. [10]陈赞,陈燕,李杨. 基于单片机的指纹识别系统设计与优化[J]. 电子世界, 2016(12):60-61. CHEN Z,CHEN Y,LI Y. Design and optimization of fingerprint identification system based on single chip microcomputer[J]. Electronic World, 2016(12):60-61.[11]毕雪芹,苏艳娟,王琪. 嵌入式指纹识别系统的设计及试验研究[J]. 国外电子测量技术,2015,34(2):50-53.BI X Q,SU Y J,WANG Q. Design and experimental study of embedded fingerprint identification system[J]. Foreign Electronic Measurement Technology, 2015,34(2):50-53.。

基于STM32的指纹密码识别装置

基于STM32的指纹密码识别装置

基于STM32的指纹密码识别装置
刘燕
【期刊名称】《现代计算机》
【年(卷),期】2022(28)15
【摘要】生物识别技术快速发展,指纹识别逐渐代替钥匙应用于门锁安防,传统的电容式指纹识别技术虽然技术相对成熟、成本低廉,但是穿透力较弱,手脏手湿的情况下会影响正确识别。

针对这种情况,本文设计了以STM32单片机最小系统作为主控器的指纹密码识别装置,采用ATK-AS608光学指纹识别模块,并通过红外接收头与遥控器进行通信,从而实现指纹识别和密码识别。

为了提高人机交互的友好性和实时性,还增加了语音播报模块和LCD液晶显示模块。

实验结果表明,两种识别方式互为补充,能够有效应对意外情况,提高正确识别率。

【总页数】4页(P117-120)
【作者】刘燕
【作者单位】山西工程科技职业大学
【正文语种】中文
【中图分类】TP3
【相关文献】
1.基于STM32的指纹密码锁设计
2.基于STM32和指纹识别的储物柜控制系统设计
3.基于STM32单片机的门禁指纹密码锁系统设计
4.基于STM32的指纹密码锁控制系统
5.基于STM32的超市指纹识别储物柜系统设计
因版权原因,仅展示原文概要,查看原文内容请购买。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
STM32F-103ZET6[1]作为主控制器,该芯片内部采用哈 佛 结 构 、 其 中 集 成 有 64 KB 的 RAM 和 512 KB 的 FLASH,运算速度快,并且具有体积小和低功耗的特
收稿日期:2011- 06- 10 作者简介:杨磊(1986-),男,陕西渭南人,主要从事新型电子器件设计与应用方面的研究. E- mail:bgfg1986@ 通信联系人:秦会斌,男,教授,博士生导师. E- mail:qhb@
·1532·
机电工程
第 28 卷
点,在嵌入式图像处理方面具有较高的应用前景。指 纹识别系统结构功能图如图 1 所示。
图 1 系统硬件框图
系统硬件主要包括:指纹采集模块、SPI 接口模 块 、指 纹 数 据 存 储 模 块(SRAM)、指 纹 程 序 存 储 模 块 (FLASH)、UART 模块、指纹图像算法处理模块、处理 结果显示模块等。
2
2
Σ Σ V(y x,y)=
2
2
(Ax(u,v)-Ay(u,v))
u=i-
w 2
u=j-
w 2
(2)
则有方向场的大小就是:
θ(x,y) =1/2tan-(1 V(x x,y)) V(y x,y)
(3)
2.2.2 指纹图像的分割 图像分割的目的是将指纹前景区域和背景区域
分割开来。因前景区域和背景区域在灰度和梯度上存 在差异,故均采用阈值分割方法处理。
Sobel 算子表示方式如下:
-1 0 1
101
x 方向为 -2 0 2 ;y 方向为 0 0 2 。
-1 0 1
-1 -2 -1
其次,根据方向场计算公式[5]可得:
i+
w 2
j+
w 2
Σ Σ V(x x,y)=
2A(x u,v)A(y u,v)
u=i- w u=j- w
2
2
(1)
i+ w j+ w
H(u x,y)
(4)
பைடு நூலகம்
式中:H(u x,y)—第 u 级灰度的像素个数,A0—图像面
积,Fmax—图像的最大灰度值,即为 255。
本研究接收到的指纹数据通过异步串口管脚 PA9 和 PA10 与 3.3 V 转换芯片 MAX3232 相连外接 串口线同 PC 机进行通信,接收和发送数据,STM32 作 为下位机通过 SPI 接口方式采集指纹数据,并将数据 保存在外扩的 SRAM 中,当采集完一幅指纹图像后, 把该指纹数据发送给上位机,PC 机接收数据,并通过 VC 编程把接收的指纹数据转换成 256 级灰度图像并 显示和保存该指纹图像。PC 机的 VC 通过串口发送命 令给 STM32,主控芯片接收命令判断有效,开始采集 指纹图像。限于篇幅,STM32 最小系统的硬件部分在 这里不做详述。
(2) 初 始 CTRLA, 这 里 可 以 选 择 GETROW、 GETIMG 和 GETSUB 这 3 种存取模式的 1 种作为存 取模式,本研究给 CTRLA 写入 0x02,即选择 GETIMG 模式来获取整幅图像。
(3)初始化 DTR、DCR 和 PGC,它们影响采集图 片的质量,DTR 是放电时间寄存器,影响着图像背景 亮暗程度;DCR 是电容放电寄存器,对图像的前景区 和背景区的亮暗程度有一定影响;PGC 是可编程增益 寄存器,对图片的前景和背景的影响较大。经实验选 择 DTR =0x38,DCR =0x01,PGC =0x0C 时 图 像 效 果 最 佳。 2.2 指纹算法设计
2 系统软件设计
2.1 指纹采集程序设计 程 序 设 计 关 键 是 编 程 实 现 SPI 通 信 模 式 下
STM32 和指纹传感器 FPS200 的通信操作,其采集程 序流程图如图 3 所示。
图 2 指纹采集系统原理图
图 3 指纹采集程序设计流程
第 12 期
杨 磊,等:基于 STM32 的指纹识别系统设计与实现
STM32 作为主控芯片,以提高系统的性价比,同时通 过编程对比目前存在的大多数指纹算法,考虑嵌入式 指纹识别系统对实时性和准确性的要求,对现有指纹 图像的增强和匹配算法进行改进和优化,以提高指纹 识别系统的性能。
1 系统硬件设计
1.1 结构组成及特点 本研究采用 ARM cortex-M3 内核的 32 位处理器
YANG Lei,ZHANG Wen-chao,QIN Hui-bin
(Institute of Electron Device & Application,Hangzhou Dianzi University,Hangzhou 310018,China)
Abstract:Aiming at the shortcomings of price,efficiency and accuracy of fingerprint algorithm in the embedded fingerprint identification system at present,an embedded fingerprint recognition design method based on STM32 and FPS200 fingerprint sensor was introduced. In the algorithm,Gabor filter enhancement and image recognition accuracy were improved by seeking the fingerprint orientation field information,and recognition efficiency was enhanced by initial match and global similarity method. The results indicate that the system identification has high accuracy,high efficiency,overall performance meet the requirements. Key words:fingerprint recognition;STM32;fingerprint sensor;recognition algorithm
度场值的运算,找到合适的阈值,就能很容易地实现
对指纹图像的分割。 2.2.3 指纹图像均衡化
指纹图像均衡化的目的是使图像在各种灰度场
强上均匀分布相等的点数,通过均衡化使得图像对比
度得到增强。
指纹图像为 F (x,y),由均衡化离散的转换公式
为:
F(x,y)
Σ Fgre(y x,y)=
Fmax A0
u=0
0引 言
指纹识别是根据每个人指纹的不变性和唯一性 进行身份识别的一门技术。随着社会的发展,嵌入式 的指纹识别技术越来越受到市场的青睐,成为近年研 发的重点,但目前的嵌入式指纹算法大多在实时性和 准确度上还存在不足,需要进一步优化算法,以实现 准确高效的指纹识别。
本研究设计、实现一种基于 STM32 芯片的指纹识 别系统,通过指纹传感器采集指纹数据,指纹算法处 理指纹数据实现指纹识别,同时结合 VC++平台建立 人机交互界面对指纹图像数据显示。该设计使用
要求。
关键词:指纹识别;STM32;指纹传感器;识别算法
中图分类号:TP273.5;TP216
文献标志码:A
文章编号:1001- 4551(2011)12- 1531- 05
Design and implementation of fingerprint verification system based on STM32
指纹识别算法是指纹识别过程中重要的部分,算 法的好坏直接决定指纹识别的精确性和可靠性。
该算法的 3 个重要部分是指纹图像预处理、特征 点提取和特征匹配。指纹预处理又包括图像场的计 算、分割、均衡化、平滑、增强、二值化、细化等部分。本 研究的指纹识别算法流程如图 4 所示,下面对算法各 部分作简要介绍。
第 28 卷第 12 期 2011 年 12 月
机电工程
Journal of Mechanical & Electrical Engineering
Vol. 28 No.12 Dec. 2011
基于 STM32 的指纹识别系统设计与实现
杨 磊 ,张 文 超 ,秦 会 斌
(杭州电子科技大学 新型电子器件与应用研究所,浙江 杭州 310018)
具体工作流程如下:系统通过 USB 供给 5 V 稳压 电源,通过内部电路转换成 3.3 V 稳压电源,系统上电 后,通过 STM32 给传感器的各个寄存器初始化,指纹传 感器 FPS200[2]采集指纹图像,通过 SPI 接口和 STM32 最小系统进行通信,将采集到的指纹数据发送到 STM32,进而保存指纹图像到 SRAM,通过各种算法实 现对指纹图像信号的预处理、提取特征点和图像匹 配,最后实现指纹识别功能。另外 STM32 和主机之间 通过异步串口通信把指纹图像数据传送到 PC 机,显 示图像,由于一幅图像的数据量就是 76.8 KB,主控芯 片内部 RAM 容量不能满足存储和处理图像数据的要 求,所以本设计外扩 SRAM 来存储指纹数据。系统设 计的程序放在 FLASH 中[3],指纹特征数据模板也放在 FLASH 中,以便在使用过程中删除和添加,并显示指 纹识别结果,主控制器采用 JTAG 接口,通过 J-link 进 行仿真调试,通过 IAR-for ARM 实现程序的设计。 1.2 指纹采集电路设计
分割阈值的确定:根据灰度直方图分析可知,指
纹图像前景和背景在灰度直方图中体现为两个峰值,
故取前景和背景两峰值间峰谷处的谷值灰度作为分
割阈值即可有效分割指纹图像。 梯度场计算的必要性:当前景和背景很难找到合
适的灰度值作为分割阈值来对指纹图像进行有效分
相关文档
最新文档