基于单片机的指纹识别系统设计说明.doc
《基于单片机的指纹识别系统设计说明.doc》由会员分享,可在线阅读,更多相关《基于单片机的指纹识别系统设计说明.doc(29页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 摘要随着科学技术的开展,人们的安全意识也越来越强,因为指纹具有唯一性和终生不变性,所以指纹识别成为代替传统身份识别最安全、可靠的方法之一。本设计基于飞思卡尔Kinetis K60N512系列单片机,指纹识别模块选择的是城章科技的R305F模块,该模块带有高性能的DSP芯片,该DSP芯片嵌完整的指纹识别算法和协议,具有指纹采集,指纹比对,指纹搜索和存储等功能。模块与单片机通过串口进展通讯。指纹识别系统通过CH340G芯片实现TTL电平向RS-232电平的转换,进而实现与PC机的交互,PC机端经上位机显示指纹识别的结果。论文中介绍了根本算法的实现流程,同时介绍了K60N512芯片看门狗模块的根本
2、原理以与启动流程等。结果说明,该套指纹识别系统算法性能可靠,指纹识别率高,可以实现预先制定的目标,完成指纹识别的功能。关键词:指纹识别;飞思卡尔单片机;串口AbstractWith the development of science and technology, peoples safety consciousness is becoming more and more strong, the fingerprint has the uniqueness and invariance for life, so the fingerprint identification is instea
3、d of the traditional identification is one of the most safe and reliable methods.This design is based on Freescale Kinetis K60N512 series microcontroller, fingerprint identification module is the product of Growup company, the module with high performance DSP chip, and the DSP chip with complete fin
4、gerprint identification algorithm and protocol, fingerprints acquisition, fingerprints search and storage, and other functions.Module and microcontroller communicationthrough the serial port.Fingerprint identification system use CH340G chip change TTL level to RS-232level, and then realize the inter
5、action with a PC, the PC shows the result of fingerprint identification.The thesis introduces the basic algorithm implementation process, at the same time, this article introduces the basic principle of the watchdog module inside K60N512 chip and the start process.Results show that the algorithm of
6、fingerprint identification system is reliable, fingerprint recognition rate is high, and can achieve target of fingerprint identification.Key Words:Fingerprint identification,Freescale Kinetis,UART目 录摘要IAbstractII1 绪论11.1 选题背景和研究意义11.2 国外研究现状12 指纹识别的根本原理12.1 指纹图像的采集12.2 指纹图像预处理22.3 指纹图像特征点的提取42.4 指纹
7、图像伪细节点的处理42.5 指纹特征匹配52.6 评价指纹识别系统算法性能的指标53 课题的容和目标63.1 指纹识别系统的硬件设计63.2 本设计所使用单片机简介63.3 本设计所使用的指纹模块简介74 主程序分析74.1 Cotex-M4核存放器简介84.2 Cotex-M4中断机制84.3 K60N512启动代码分析94.4 K60N512看门狗程序分析114.5 Flash软件构件简介114.6 Kinetis 的FlexBus模块简介114.7 K60N512异步接收器/发送器(UART)简介114.8 指纹模块指令介绍124.8.1 指纹图像获取124.8.2 生成特征154.8.
8、3 生成模板154.8.4 储存模板164.8.5 高速搜索164.9 补充说明17结论18致19参考文献2026 / 291 绪论1.1 选题背景和研究意义随着我国经济的迅速开展,人民的生活水平得到了显著的提高,人们对于自己的隐私也愈发重视。传统的电子密码锁等设备在高速开展的科学技术的冲击下显得力不从心,用户隐私很大程度上存在泄露的风险。由于每个人的遗传基因不同,指纹也不一样,指纹识别技术的作用也因此越来越受到人们的重视。指纹是人身体上的一局部,是人所固有的生理特征,不用记忆,也不存在忘带的风险,而且每个人的指纹形状终身不变。所以指纹作为个人身份的标记是再适宜不过的了。1.2 国外研究现状早
9、期的指纹识别是以人工的方式进展的,由于指纹结构的复杂性以与对指纹识别要求的严格性,导致人工识别指纹工作难度大、速度慢和识别准确率受到制约,远远不能适应实际工作的需要。计算机技术的诞生与开展,为复杂的科学计算和指纹自动识别提供了可能,20世纪70年代,美、日等兴旺国家开始先后研究指纹识别系统。我国自动指纹识别系统的研究开发始于20世纪80年代,大学信息中心、清华大学自动化系、邮电大学、中科院以与光机所等都在此领域做了一定的工作,且取得了一定的成果,其中较为突出的是清华大学自动化系和大学信息中心两家1。当然,与国外兴旺国家相比,我国在自动指纹识别技术的研究上还与之存在很大的差距。指纹录入设备的质量
10、不够高,自动指纹识别算法的性能还不够好。加强这方面的研究还是很有必要的。2 指纹识别的根本原理2.1 指纹图像的采集人的皮肤由表皮、真皮和皮下组织三局部组成。指纹指的是表皮上突起的纹线,有斗型、弓型和箕型三种根本类型。获得良好的指纹图像是进展指纹识别的前提,目前光获取指纹图像的方法主要有光学技术、硅技术(CMOS技术)和超声波技术。本设计中使用的指纹传感器基于硅技术,硅技术的优点是可以在较小的面积上获得较好的指纹图像相对于光学技术,缺点是容易受到外部条件的干扰,可靠性相对较差。2.2 指纹图像预处理图像预处理阶段是指纹识别的第一个阶段,图像预处理阶段比拟典型的过程主要有图像质量评估、分割、增强
11、、二值化和细化。指纹图像预处理的流程图如图2.1所示。图2.1 指纹图像预处理的流程图图像质量评估的目的主要是完成对传感器采集到的指纹图像的总体质量评价,对于低质量的指纹图像直接拒绝。对于质量达到要求的指纹图像才送给之后的处理环节,从而防止了不必要的运算。分割的目的是将前景与背景分割开来。分割操作中应该尽可能去除无效区域,保存有效区域。有了分割操作,指纹图像预处理的时间可以大大缩短。增强的目的主要是为了消除噪声的干扰,提高指纹图像纹线结构的清晰度。Gabor滤波的方法是一种比拟理想的指纹图像增强算法,Gabor滤波器可以同时在空间域和频率域上获得最正确的分辨率,具有良好的方向选择性和带通性。二
12、值化是将原来的灰度图变换为黑白两种灰阶的图像,二值化阶段阈值的选择相当重要,阈值的选择有双峰法、P参数法、大津法(Otsu法或最大类间方差法)、最大熵阈值法和迭代法最正确阈值法等。细化阶段主要是将二值化之后指纹图像的脊线宽度降低为单个像素宽度,从而得到细化了的指纹图像。细化算法按迭代方式的不同可以分为串行算法和并行算法。预处理阶段的每个环节是严密相关的,各个环节相互配合才可能获得高质量的指纹图像,从而方便之后特征点的提取,为之后指纹匹配奠定良好的根底。正常的指纹图像如图2.2所示,二值化之后的指纹图像如图2.3所示,细化之后的指纹图像如图2.4所示。图2.2 正常的指纹图像 图2.3 二值化之
13、后的指纹图像图2.4 细化之后的指纹图像2.3 指纹图像特征点的提取特征点提取的目的在于通过预先制定的算法检测指纹图像中奇异点和细节点这两类特征点的数量以与每个特征点的类型、位置和所在区域的纹线方向。奇异点指的是指纹图像的中心点和三角点。细节点指的是端点(Endpoint)、叉点(Bifurcation)、孤点(Dot)、环点(Loop)、短纹(short Ridge)等。一般的指纹图像提取的特征在10-100个之间,多数文献认为至少应该有12个特征点才可以进展匹配。8邻域编码纹线跟踪算法是一种常用的特征点提取算法。2.4 指纹图像伪细节点的处理伪细节点的处理一般分为两类:一种在特征点提取之前
14、,对预处理之后的指纹图像进展平滑、去除毛刺连接断纹等操作,之后提取特征作为真正的特征;另一种是特征提取之后,根据特征之间的相互关系,尽可能的识别伪特征点并滤除它们。应用以下两条真伪细节点的量化判断准那么判断真伪细节点:(1) 端点不应该与其它细节点相连;(2) 分叉点不应该与其他的端点和分叉点相连。2.5 指纹特征匹配目前,指纹匹配的相关方法主要有图像相关匹配、纹理特征匹配、纹线匹配以与细节点匹配等。前两者匹配速度快,但由于忽略了指纹的细节特征,匹配准确性不高。细节点匹配算法的难点在于:(1) 细节点提取过程会产生虚假特征点和丢失真实细节点;(2) 指纹图像普遍存在平移和旋转;(3) 指纹图像
15、之间重合区域小,一样手指指纹的细节点集之间对应关系难以确 定;(4) 图像采集过程中,由于非线性映射、手指按压力度不均造成了扭转。2.6 评价指纹识别系统算法性能的指标评价指纹识别系统算法的性能指标有3个,分别为拒识率(FRR)、误识率(FAR)和正确识别率(CR)。误识率(FAR)是指在已提取的特征点的指纹样本库中,不同指纹匹配分数大于给定阈值判断为匹配的比率。其计算如下式: (2.1)拒识率(FRR)是指在已提取的特征点的指纹样本库中,一样指纹匹配分数小于给定阈值误判为不匹配的比率。其计算如下式: (2.2)正确识别率(CR)计算如下式:(2.3)式中 :从式2.1到2.3可以看出,FRR
16、与FAR呈现反比例关系,随着匹配阈值的降低,拒识率(FRR)相应降低,误识率(FAR)升高,反之亦然。所以应该充分考虑系统的需要,在拒识率(FRR)与误识率(FAR)之间找到一个最正确平衡点。3 课题的容和目标3.1 指纹识别系统的硬件设计系统的结构框图如图3.1所示,该系统主要完成指纹的采集、处理和匹配等操。主要有以下几个模块,指纹采集模块,K60N512单片机模块以与显示模块等。图3.1 系统的结构框图3.2 本设计所使用单片机简介在嵌入式设备处理器的市场争夺中,ARM系列处理器凭借其小体积、低功耗、低本钱和高性能,几乎垄断了该市场。本设计所使用的飞思卡尔K60N512单片机便是基于ARM
17、 Cotex-M4核,Cotex-M4核面向数字信号控制市场,具有高效并且易于使用的控制和信号处理能力。Cote-M4属于ARMv7架构,该架构采用了Thumb-2技术,该项技术比纯32位代码少使用31%的存,减少了系统开销。同时,Cotex-M4核具有一个单时钟周期乘法累加(MAC)单元、优化的单指令多数据(SIMD)指令、饱和运算指令和一个可选的单精度浮点运算单元(FPU)。此外,该核提供最正确的代码密度和一个嵌套向量中断控制器,可以出色的完成中断处理。Cotex-M4核框图如图3.2所示。图3.2 Cotex-M4核框图3.3 本设计所使用的指纹模块简介指纹模块选择了城章科技的R305F
18、模块,该产品是该公司2011年推出的最新产品。指纹模块采用了瑞典FingerPrint Card公司的FPC1011F3型指纹传感器,这款传感器利用了反射式探测技术,成像质量高,对干湿手指都具有良好的适应性。FPC1011F3是一款电容式传感器,传感器分辨率为363dpi,置8位数模转换器,它通过SPI接口与模块上面的高性能DSP芯片相连。高性能的DSP芯片嵌完整的指纹识别算法和协议,具有指纹采集,指纹比对,指纹搜索和存储等功能。模块通过串口与单片机进展通讯,数据发送端接上位机的数据接收端,数据接收端接上位机的数据发送端。本系统通过单片机与指纹模块的通信实现了自动指纹识别的功能。首先将个人指纹
19、信息录入指纹模块,之后指纹传感器采集指纹信息且与存储在指纹模块里面的指纹模板进展比对,假设找到指纹,返回该指纹所对应的信息,送LCD显示,假设未找到,提示未找到信息。4 主程序分析4.1 Cotex-M4核存放器简介Cotex-M4的存放器有:R0R15。其中R0R12是32位通用存放器,其中R0R7又被称为低组存放器,R8R12被称为高组存放器。32位的Thumb-2指令可以访问所有通用存放器。R13:堆栈指针存放器(SP Stack Pointer),它分为两局部,一个叫做进程堆栈指针PSP(Process Stack Pointer),一个叫做主堆栈指针MSP(Master Stack
20、Pointe),但在同一时刻只用到了其中的一个,配置控制存放器(CONTROL)的CONTROL1位来选择是使用PSP还是MSP。R14:存放器(Link Register),子程序调用、函数调用以与异常处理时,由R14存储返回地址,复位时R14里面的值为0xffffffff。R15:程序计数存放器(Program Counter),指向当前程序的地址,修改它的值,就可以改变程序的执行流。同时Cotex-M4还在核水平上搭载了假设干特殊功能存放器,包括程序状态字存放器组(PSRs或xPSR)、中断屏蔽存放器组(PRIMASK、FAULTMASK和BASEPRI)和控制存放器(CONTROL),
21、且只能用MSR和MRS指令访问它们。4.2 Cotex-M4中断机制Cotex-M4在核水平上搭载了一个异常响应系统NVIC,支持为数众多的系统异常和外部中断。NVIC位于核部,通过私有外设总线访问。编号为015的对应系统异常,编号16与以上为外部中断。与经典的ARM7TDMI,ARM926EJ-S相比拟,在核层次实现了向量中断控制器。当发生了异常并且要响应时,Cotex-M4需要定位其服务例程的入口地址,这些入口地址存储在异常向量表中。通常中断程序的处理流程为:关闭系统总中断、开启外设模块并使能该外设模块中断、配置NVIC模块中的中断存放器以与开总中断等几个过程。NVIC会根据优先级的设置来
22、控制抢占与嵌套行为。因此,在某个异常正在响应时,所有优先级不高于它的异常都不能抢占之,而且它也不能自己抢占自己。如果一个已经被挂起的中断被使能,NVIC会根据优先级来决定是否服务这个中断。当然,一个被禁止的中断被触发挂起,无论怎样的优先级,NVIC都不会服务它。高优先级中断可以抢占并挂起低优先级中断,同时将低优先级中断上下文保存于系统中断栈中,以便下次系统恢复时继续执行。当一个高优先级中断执行完以后,系统会在挂起的中断中选择一个优先级最高的中断继续执行,这个过程由Cotex-M4的NVIC自动完成,由于中断只使用中断栈,每嵌套一级中断,至少需要保存32个字节核存放器的容于堆栈空间,加之中断服程
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 指纹识别 系统 设计 说明
限制150内