![电子信息工程基于单片机的隐形指纹识别系统_第1页](http://file4.renrendoc.com/view/b6a3cefa71feeec166ae095b899ddc07/b6a3cefa71feeec166ae095b899ddc071.gif)
![电子信息工程基于单片机的隐形指纹识别系统_第2页](http://file4.renrendoc.com/view/b6a3cefa71feeec166ae095b899ddc07/b6a3cefa71feeec166ae095b899ddc072.gif)
![电子信息工程基于单片机的隐形指纹识别系统_第3页](http://file4.renrendoc.com/view/b6a3cefa71feeec166ae095b899ddc07/b6a3cefa71feeec166ae095b899ddc073.gif)
![电子信息工程基于单片机的隐形指纹识别系统_第4页](http://file4.renrendoc.com/view/b6a3cefa71feeec166ae095b899ddc07/b6a3cefa71feeec166ae095b899ddc074.gif)
![电子信息工程基于单片机的隐形指纹识别系统_第5页](http://file4.renrendoc.com/view/b6a3cefa71feeec166ae095b899ddc07/b6a3cefa71feeec166ae095b899ddc075.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
(基于单片机的隐形指纹识别系统)(Aninvisiblefingerprintidentificationsystembasedonsinglechipmicrocomputer)中文摘要随着科技的飞速发展,人们的安全意识也越来越强,在隐私、财产安全的问题上,提出了许许多多的解决方案。在众多方案中,人们运用的最多的就是指纹识别。因为指纹具有唯一性以及终生不变性,因此得到了大量关注而飞速发展。而随着发展,手机的屏幕也越来越大,势必影响着手机的体积,更影响着部分人的使用体验。因而如何使得在手机体积不变的情况下,屏幕可以达到最大值成为了困扰各大厂商的问题。在此基础上,厂商提出了全面屏的方案,给此问题带来了最好的解决方案。而实现全面屏其中一个问题就是如何避免在屏幕上开孔,屏幕下面去识别人们的指纹方法。当今社会,在市场上的屏幕之下的辨别指纹方式主要有这几种:电容发辨别指纹、光线辨别指纹还有就是用超声波来辨别指纹。而手机的屏占比例也因此会得到显著升高,从而将促进全面屏时代的到来。本文将对超声波指纹识别技术进行讨论与探究。本次将使用STM32单片机作为主控进行模拟,意在提高指纹识别精度以及识别时间,改善目前超声波指纹识别反应慢以及精度略有不足的情况。此系统中,将利用算法通过计算声波的反射时间形成指纹图像,从而达到指纹识别的目的。关键词:超声波屏下指纹识别技术AbstractWiththerapiddevelopmentofscienceandtechnology,people'ssafetyconsciousnessisbecomingmoreandmorestrong,ontheissueofprivacypropertysecurity,putforwardmanysolutionsinmanyscheme,peopleusemostisfingerprintidentificationforfingerprintuniquenessandinvarianceforlife,sogotalotofattentionandrapiddevelopmentandwiththedevelopmentofmobilephonescreenisbecomingmoreandmorebig,isboundtoaffectthevolumeofacellphone,moreinfluenceontheuseofsomeexperienceandhowtomakethephoneundertheconditionofconstantvolume,thescreencanachievemaximumhasbecomeaseriousproblemsinthemajormanufacturers.Manufacturersputforwardonthisbasis,thefullscreen,broughtthebestsolutiontothisproblemandachievefullscreenoneoftheproblemsishowtoavoidtheholeonthescreen,thevendorandputsforwardthescreenofthefingerprintidentificationschemeunderthescreenofthefingerprintrecognitiononmarketatpresenttherearethreemaintypes:opticalfingerprintcapacitivefingerprintrecognitionandfingerprintidentificationimprovedunderultrasonicfingerprintscreenscreenproportion,tofurtherpromotethedevelopmentofthefullscreenonrealsignificancethisarticlewilldiscusstheultrasonicfingerprintidentificationtechnologyandexplore.Thistime,STM32single-chipmicrocomputerwillbeusedasthemaincontrolforsimulation,inordertoimprovethefingerprintidentificationaccuracyandidentificationtime,improvethecurrentultrasonicfingerprintidentificationresponseslowandslightlyinsufficientaccuracyofthesituationinthissystem,willusethealgorithmbycalculatingthereflectiontimeofthesoundwavetoformafingerprintimage,soastoachievethepurposeoffingerprintidentification.Keywords:UltrasonicUnderglass目录TOC\o"1-6"\h\u9343第一章概述 概述1.1课题研究的背景与意义1.1.1超声波屏下指纹识别研究的背景与意义指纹识别作为最安全、成本最低的生物识别技术,目前依旧是无可取代的。而在如今手机全面屏大为火热的情况下,如何避免在屏幕上开孔成为了一个难题。以苹果为代表的部分曾以3D识别技术,通过结构光构建人脸模型进行识别的厂商,但是此方案对环境要求较高,方案提出初级受到了大量的质疑。因此有设计师提出了背部指纹识别的方案,但是背部指纹识别其本质也是在机体上开孔,无法避免受灰尘、污渍影响,并且有部分消费者认为背部指纹识别破坏了手机的整体美观。在此背景下,有设计师提出了屏下指纹识别作为解决方案。搭载了屏下指纹识别系统的手机一经推出,立刻受到了大量好评。屏下指纹识别技术既保证了屏幕的完整性,又符合绝大多数的用户使用习惯,因此可以得出屏下指纹识别技术才是全面屏迅速发展的新的增长点,并且将逐步成为全面屏的标准配置。本次研究主要是以第三代超声波指纹识别技术为主要研究对象,进行屏下指纹的探讨以及研究。在目前开放的技术基础上进行研究以及作方案设想。1.1.2超声波指纹识别技术从2015年起高通将超声波的指纹辨别技术SENSEID3D识别指纹的技术在世界上各大移动设备上普及,手机厂商们逐渐将屏幕下方的辨别指纹技术发展起来。有光学达到识别指纹的目的是用光线去“照射”人们指纹的纹理从而发生光线探测出来,用电容式的辨别指纹方式是运用指纹的传感器与手指的纹路产生的汗液或者电解液从而形成的指纹图像这两种都或多或少会受到材料、污渍的影响,而超声波则不会存在这样的问题。由于超声波指纹识别技术的特点就是具有较强的穿透性,能够穿透玻璃、铝、不锈钢等材质的阻碍物进行指纹识别,因此手机无需在屏幕上开孔,可以直接将指纹模块置于手机内部,减少屏幕占用。超声波可以准确的识别各种材料,并且可以透过屏幕进行精确度较高的扫描指纹。在此背景下,可见超声波指纹识别技术必定会成为移动端生物识别技术的主流,若超声波指纹识别技术完全成熟的情况下,其产品无论从美观、安全、解锁速度上都会比电容式以及光学指纹识别技术强大许多,也会使得其产品更受用户欢迎。用于身份识别的生物特征,必须具有唯--性和稳定性的性质。研究和经验表明,人的多个生物识别特征都与其他个体不同,如:声誉、指纹面部、瞳孔等,且一辈子都不会发生大的变化,所以就能为这种方式辨别出来人们的特征信息,身份。而可以以此为基础,人们逐渐发明了面部识别、人声识别以及包括目前研究的指纹识别等许许多多的身份识别的技术,随着社会的发展这些技术都已经非常的成熟了。还有一些日常市面上存在的身份识别技术和性能,以及各种识别准确率比较图如下表所示:图1-1不同生物特征识别技术比较本次将使用STM32单片机作为主控进行模拟,意在提高指纹识别精度以及识别时间,改善目前超声波指纹识别反应慢以及精度略有不足的情况。此系统中,将利用算法通过计算声波的反射时间形成指纹图像,从而达到指纹识别的目的。1.2国内外研究现状1.2.1指纹识别系统现状简述根据国际生物识别组织IBG(国际生物识别组织)发布的表格,该图表显示了2007-2012年生物识别产业的总收入(图1.1),可以看出生物识别市场非常庞大,并将在接下来的几年中存在年份。随着持续稳定的增长,到2012年产品销售额将达到74亿美元[3]。生物特征识别是最有效的对生物个体身份识别的途径,因此生物特征识别技术将在市场份额的占比中越来越大,并随着计算机及嵌入式技术的进步,在近代得到了迅猛的发展。特别是在“9.11”事件之后,美国与第一和解。由于提高了安全意识,一些欧洲国家已开始大力支持和开发该技术。超声波指纹识别技术名称为SnapdragonSenseID,这是一种通过超声波扫描指纹,形成3D指纹模型图,光学指纹识别则是通过光线反射探测指纹回路,电容式指纹识别则是通过利用指纹sensor与导电的皮下电解液形成电场而实现指纹图像的扫描,这两种都或多或少会受到材料、污渍的影响,而超声波则不会存在这样的问题。超声波可以准确的识别各种材料,并且可以透过屏幕进行精确度较高的扫描指纹,在全面屏越来越火热的现在,无疑是相当受各大厂商的欢迎的。但是超声波指纹识别的确具有高精度、高安全性的特点,由于超声波本身可以穿透大部分材料,因此用作屏下指纹识别的确有很大的优势。但是由于算法、硬件的不成熟,超声波指纹识别技术仍存在或多或少的问题。例如三星手机多款手机前段时间被中国银行禁用指纹支付。原因就是其超声波指纹方案存在重大缺陷,其可以在隔着一层TPU薄膜的情况下被未录入指纹的手指解锁。目前,超声波指纹识别算法的研究重点和难点可以概括为三个方面:各种噪声定位特征的比较和图像的失真。尽管指纹识别技术需要改进,但已在应用程序和市场中得到广泛认可。目前指纹识别技术进步为了非常成熟的辨别生物的识别技术,从设备上来讲,指纹识别系统可以分为网络系统和集成系统。信息技术使在线指纹识别系统的实施非常方便,同时还有大量的在线指纹识别产品,例如指纹锁。笔记本B,指纹鼠标和PC指纹的识别,就设备而言,指纹识别系统可以共享并集成到网络中。首先,信息技术的飞速发展使得实施方便的在线指纹识别系统。n大量的在线指纹识别产品,例如笔记本指纹,鼠标指纹和计算机指纹系统,为后者开发处理器技术集成的速度也很快,随着性能的提高,价格将继续下降,因此实施集成的指纹识别系统不仅更加方便/可靠,而且将实现整个系统。价格也可以越来越高地为大众所接受。随着公众对身份识别技术的需求增加,指纹识别正逐渐在各种场合中使用。嵌入式指纹识别系统体积小,安全稳定性高和可识别性小。效率也很高,受到越来越多的关注。1.2.2指纹传感器现状当前,由嵌入式开发的辨别指纹的系统比市面上联机的市场份额占比高,所包含的技术更加广泛,发展速度也非常的快速。此外,由于指纹的传感器极速的成熟度被科技发展的带动下不断提升,传感器开始有了准确的采集度以及功耗越来越低。而且有“刮擦式”的辨别指纹传感器也从根本的方式上改变了传统的指纹收集方式,在耗能,性价比不变的条件下,极大地提高了收集指纹的能力及速度。甚至某些厂商研究出全面优于前代指纹传感器的新型传感器,不止提高了质量,还有识别速度等。使得指纹识别算法中的预处理以及后续的匹配更加方便,处理效果更好,也值得整个识别过程更高效以及更准确。1.3超声波指纹识别技术的优势超声波指纹识别技术为指纹识别技术的第三代,超声波是一种频率超过20000赫兹的声波,其具有方向性好、穿透性强的特性,易获得较集中的声能,可以穿透大多数材料进行之吻的识别,例如:金属制品、蓝宝石、灰尘、水渍等,这是其他两种技术所无法实现的。,第一、二代分别是光学、电容式指纹识别,相较于这两种指纹识别技术,超声波的识别精度将会更高,这是超声波其本身的特性决定的。我们可以看一下三种指纹识别技术的背景:1.3.1光学屏下指纹识别技术这是目前最为成熟的屏下指纹识别技术,主要是通过光线的反射来进行对指纹的扫描,然后和已有的指纹图像进行比对,从而实现指纹的识别。其优势在于可以最大程度上避免光线对指纹识别的影响,但是缺点也比较明显,由于特定区域需要常亮,因此有可能会出现烧屏现象,影响使用寿命。1.3.2电容式屏下指纹识别技术当前,市面上的极大多数的手机用开孔的方式来满足的指纹识别方式都是属于电容式的指纹鉴别方式,原理是因为人们的皮肤表面上的凸起部分会使得指纹的各个位置到传感器之间的距离会有改变,从而会影响电容的值,最终通过一些技术手段将其翻译为能直接处理的电信号,所以就可以精准的识别出指纹。但是缺点就是信号会由于穿透性而受到干扰。因此要想通过此方式去满足屏下指纹很困难。1.3.3超声波屏下指纹识别技术用指纹识别技术采用超声波的原理是用传感器上的一种压电物质来生产出一中频率不变的超声波,因为超声波可以通过玻璃或者oled屏幕,碰到指纹的弧度或者凹凸状态会达到超声波的折射率发生改变。因此可以通过获取一定量改变的差异从而达到指纹识别的效果,构建出一个3D图像,而这就代表以后你拿着一个打印着机主指纹的纸片按上去也无法解锁。而超声波指纹识别技术还具有一个特性,那就是它具有穿透大多数材质的能力,准确找到你的指纹,就是说用3D打印出来的指纹也无法骗过它。从这两点来看,超声波指纹识别的安全性无疑提高了很多个等级。第二章系统设计2.1系统设计大多数嵌入式嵌入式指纹识别系统使用单个微处理器,该系统目前可以离线运行。由于在这种类型的系统中,微处理器必须执行复杂的图像处理并且还负责监视外围设备,因此系统的指纹处理效率很低,系统功能很简单,最重要的是,系统升级或功能扩展非常不利。系统升级或功能扩展非常不利。图2-1系统流程图在此用嵌入式达到指纹辨别的设计中,我们将其分为两部分:指纹识别模块和控制模块。其中,采用DSP处理器去解决算法的部分,主要完成匹配算法的指纹手机,预处理和在软件算法方面的实现;控制模块的处理器是运用单片机去完成,它主要完成对接用户的系统和系统接口的工作。所以,算法模块的DSP处理器可以充分的发挥出来它的处理数据的能力,主要目标是去实现识别指纹的算法当中单片机也可以使用它具有强大的控制能力,实现便捷的功能,并方便地完成外围监视。图2-2硬件框图软件部分主要是在STM32内部,通过对硬件资源的使用,实现程序的逻辑,本系统中软件是基于uC/OS-II系统进行开发的,主要包括USB的驱动程序,DSP通信模块,超声波识别模块的驱动,调度程序等,其框图如图所示。图2-3软件框图在系统中使用TI的TMS320VC5416的DSP改进的哈佛结构以及多处理器的单元,多线程还有特殊的指令(加与乘法指令等)使DSP具有强大的数据处理功能,而TMS320VC5416由于具有强大的数据处理功能而支持高达160MB的时钟频率。速度,因此它被用作系统算法的核心处理器。单片机从Philps公司选择P89C52。单片机具有系统控制能力强,结构简单,扩展方便的特点,适合作为系统的控制核心。 单片机的选型为P89C52,它有Philps公司开发的。它的优点是结构较为简单、系统的控制能力较为强大、外接扩展比较方便,很适合作为本次设计的核心。基于DSP和单片机,该设计有一下几个部分:首先是收集指纹的模块,其次为处理指纹的模块,接下来就是对接用户还有就是通信模块。2.1.1指纹采集模块本系统中采用AuthenTec公司的AES2510擦刮式指纹传感器,在DSP的控制下采集指纹至存储器,以等待下一步的处理。2.1.2指纹处理模块2.1.3用户交互模块MCU用户交互模块与键盘输入和LCD协作以在系统中形成用户交互模块。单片机通过该程序构建了嵌入式MIS系统。用户通过键盘和LCD输入与系统进行通信,以完成诸如指纹注册,登录和系统设置之类的功能。其功能结构如图2-4。图2-4MIS功能结构图2.2工作流程内置的指纹识别系统独立完成指纹输入,图像处理,提取和匹配,指纹特征模块的访问与备份,还可以用通信模块去重新修复指纹模块丢失的数据库。本设计是用组件化开发的思想,在调用功能还有使用方面有很强大的方便些。本设计还可以使用单独的一个嵌入式,并且当该系统在扩展还有小功能提升之后,就可以在各种场所或者设备上安装上指纹检查系统。而如果注册一个新的指纹时,可以先通过电脑或者输入设备去输入注册的ID,然后又系统控制指纹收集模块去采集用户的指纹的形状或数据。当系统收集到准确或可用的指纹数据之后,DSP会处理这些数据,并用单片机将数据存储在系统的数据库里面。若用户登入采用的是1:1的方式,用户在登入时还需要输入其在注册时的Id,根据系统处理的效率,DSP将用户的指纹图像收集处理,然后将数据与数据库里存储的数据进行比较,符合条件则返回成功的信息。特殊情况下,数据库里的数据信息还可以通过通信模块到计算机上备份,若数据发生丢失是还可以通过计算机备份回来。当新用户在注册的时候,用输入设备去输入一串注册的ID,然后系统会用DSP去收集注册用户的指纹,若收集到准确或可用的指纹数据时,DSP会将其转换为计算器可识别的数据。登入时,采用1:1的方式,用户需要输入注册时的ID,才能采集用户的指纹信息与数据库里的数据进行比对,流程图如下所示:图2-5用户注册、登录流程图2.3控制模块我们采用STM32芯片是STM32F103RBT6,它是一种32位数据处理器,由意法半导体集团依托Acorn公司研发的32位处理器内核的所研发。它具有128KB的FLASH、20KB的RAM、能够处理12位数据、具有16位的定时器以及异步通信接口这五个部分主要构成,其具体内部结构如图2-6所示。图2-6STM32内部结构图为了更好的使用该芯片需要对该芯片的各项参数有一个详细的了解,表2就是对芯片STM32F103RBT6参数的详解列举。表2-1STM32F103RBT6参数表参数范围(构成)封装LQFP64内核ARM32位Cortex-M3存储器128KB(固态)/20KB(静态)编辑器128KB时钟频率4-16兆赫的石英振荡器复位POR,PDR,PVD电源管理内置32kHzRC,为RTC专用的32kHz振荡器及校准数模转换器2x12-bit,1μs的16通道DMA控制器支持,定时器,数模转换器,SPI接口,i2c接口,USART接口DEBUG模式SWD和JTAG接口定时器三个有4个IC/OC/PWM/脉冲计数器(pulsecounter)的16位定时器;2个16位监视定时器;1个有24位递减计数器的SysTick定时器[8]通信接口2个支持SMBus/PMBus的IC接口;3个ISO7816接口;2个18Mbit/sSPI接口第三章指纹采集3.1传感器简介3.1.1传感器简介根据传感器的GB7665-87定义:它可以感测特定的测量并将其转换为可用于按特定规则输出信号的设备。传感器通常包含两部分,一个是敏感元件,另一个是转换元件。感测元件通常执行感测和响应测量的功能,并且转换元件主要完成将由感测元件感测到的量转换为适合于传输或处理的电信号的过程。传感器的组成可以用图3-1所示的框图来表示。图3-1传感器组成框图传感器的种类很多并且功能也各不相同,而且即使是同一个被测量也可以使用不同的传感器来实现测量。所以传感器具有不同的分类方法,根据所感知到的信号类型对传感器进行分类可以分为基于物理效应的物理传感器、基于化学反应的化学传感器、基于生物中分子识别功能的生物传感器。此外,还有按照工作原理进行分类,根据使用的敏感材料进行分类,按照被测量的不同的分类等多种分类方式,在本系统中使用的光电传感器是一种物理传感器。在本系统中是通过对传感器的参数进行拟合实现MATLAB中㡰传感器的建模的,这所以对传感的相关特性的了解具有重要作用。传感器的各种特性是基于其输入和输出的关系来进行描述的,当输入信号为静态信号的时候,此时是静态特性,当输入信号为周期性或者暂态等动态信号的时候,此时是动态特性,动态特性将在2.3节结合传感器的数学模型进一步详细介绍。静态特性的描述参数主要有以下几个:(a)灵敏度:主要用来描述输出对于输入的敏感程度,其实通过输入输出的变化值之比来定义的,可以用式1表示:K=其中,∆Y表示输出的变化,∆X表示输入的变化。(b)线性度:虽然人们总是希望能得到输入与输出处于完全线性的状态,但是在现实的情况中是不可能实现,所以需要对非线性测程度进行评价,线性度就是这样的一个评价参数,是根据输出与输入校准曲线与理想曲线之间的偏差与传感器满量程的比,可以用式2来表示。E=±其中,∆MAX表示输出与输入校准曲线与理想曲线之间的偏差的最大值,Y表示传感器满量程,线性度可以用图3-2表示:图3-2线性度(c)灵敏度阈值:通过式1不难发现输入发生变化的时候输出也将发生相应的变换,但是当输入变化到一定程度之后,输出的变化将收敛都爱某一个固定的值,这个时候的输入的变化值为灵敏度阈值。3.1.2传感器数学模型好的传感器必须具有良好的静态和动态特性,才能完成无失真的转换。(a)传感器的静态数学模型: y=其中:x是输入,y是输出,a0是零输出,al是传感器的线性灵敏度,a2,a3...an是非线性项的不确定常数。(b)传感器的动态数学模型:3.2指纹传感器Authentic制造了新一代的AES2510指纹识别技术制造的新一代刮擦指纹传感器。它的主要特征如下:“该传感器在9.75mmx0.81mm指纹捕获区域上最多可以接收192x16指纹图像阵列,分辨率为500ppi(像素/英寸),对物理摩擦具有非常强的抵抗力,传感器能经受几万次的摩擦或者刮痕,这也是选择此传感器的一个非常重要的原因。其高性价比,以及低耗能。还可以对每秒以15cm的速度滑行的手指,还可以以每秒240帧的速去去采集。他的突出特点是它使用的是对采集指纹图像进行系统的动态化优化,从而去避免手指皮肤或者手指上的污垢给指纹图像带来的至命影响。最后,它还有十分便捷的通信接口,主从模式下的同步串行接口、八位并行接口,同时也支持片上的DMA方式3.3指纹采集目前,由于指纹识别理论和技术的逐步成熟,指纹图像的采集已成为嵌入式指纹识别系统的关键。指纹图像的质量直接与识别系统的处理速度和准确性有关。指纹成像系统在很大程度上决定了指纹识别系统的优点。因此,所以,去发展指纹传感的技术还有指纹收集的技术已经是必不可少的部分了。而随着社会的发展,因为指纹识别技术在一些移动设备或者是一些便携设备上的需求量增加,以及厂家们对指纹传感器的成本进行降低的需求,刮擦式的指纹传感器已经逐渐站稳了脚步。刮擦式的传感器是对手指在表面上摩擦的时候采集许许多多的图像,然后对图像进行处理分析。拼接,最终形成一个整个手指指纹信息的图像。刮擦指纹传感器的工作原理很粗糙:当手指滑到传感器表面上时,从手指开始放置传感器的那一刻起,传感器在每个设置的时间段后读取指纹段的图像;从传感器表面移开。因此,采集过程中如何自动确定何时放置手指以及何时离开传感器表面非常重要。另外,必须缝制收集的图像以形成正常的指纹。为了缝制需要,指纹的两个相邻帧必须具有一定的相关性。然而,如果相关度太高,则收集的指纹图像之间的冗余度太高,并且整个收集和随后的针迹的效率不高。获取指纹段图像的时间间隔。基于对划痕传感器收集特性的上述分析,我们使用DSP作为处理器来编写自动指纹收集程序。AES2510具有63个芯片寄存器。通过设置这些芯片寄存器,可以实现对传感器工作的控制。总而言之,收集指纹的过程是通过处理器将命令发送到这些传感器芯片。高位寄存器允许传感器在适当的条件下检测到手指,然后将指纹图像临时存储在传感器芯片存储器中,并最终由处理器读取[42]。由于刮擦传感器固有的采集特性,给指纹采集过程带来了很多困难。如果要实现收集系统的稳定运行,则在收集过程中需要考虑到这一点。在该状态之后,首先格式化芯片寄存器,包括设置指纹检测的频率,设置检测和获取之间的时间,获取第一列和最后一列以及传感器的ADAD转换的低参考电压和增益。 为了更进一步优化指纹采集,我们需要根据指纹的状态来进行调整采集器的参数,可以采用自适应算法来自行修改。我们可以在一开始就设置一个寄存器,以便于在传感器只能收集一帧图像并寄出该图像帧来进行参数的参考调整,然后指纹传感器进入指纹识别模式,在检测到指纹信息之后,便会收集指纹,并根据原有设置的AD进行转换和量化,并且将其储存在传感器的内部存储器中,并且将其存储在传感器内部的存储器中,并且保证数据在数据总线上总是有效。处理器读取数据。指纹数据有效时,将对其进行读取。根据该帧图像做对比,我们采用自适应算法来进行调整传感器的AD变换的参数,并且一次一次的重复此操作,直到完成所有数据的对比。完成此操作之后,传感器采集参数的调整就素后,指纹的采集过程就可以正式开始了(如图3-3)。图3-3指纹采集流程图当系统进入收集的准备时,第一步是对寄存器进行初始化的处理,包括频率,识别到采集的时间段,收集时的采集列表,还有A/D转换器低电平的转换还有增益等内容。而且我们还需要从采集指纹的图像方面去着手处理,还需要去根据人们指纹发生的变化以及状况去设计相应的处理算法,目的是使图像的效果更佳完整准确。因此需要去对传感器进行设置,最好的效果是传感器之收集一张图像,精确到一帧。并且据此来做修改调节加参考。若传感器加入指纹检测的模块后,当识别出来指纹,将收集到的指纹按照开始设定的参数对这些指纹去量化,并由AD转换器去转换,最后在将其数据存入到传感器的内部存储器上。经过算法得到准确可用的数据后,再通过数据独处以及相应的算法,最后确定数据。这些都玩成以后,对传感器采集参数的所有调试就结束了,可以正式进入指纹采集功能。3.4指纹图像处理显然,最初收集的指纹段图像不是实际的指纹图像,因此无法在电子邮件中使用。如果继续进行指纹识别,并且指纹段图像中的两个相邻图像之间存在一定的相关性,则可以使用此相关性。将原始收集的图像进行性组合以形成原始指纹图像。图像缝合算法是原始指纹图像在图像处理过程中经历的第一个“过程”。主要目标是删除原始带图像中具有重叠部分的图像,并在删除过程中补偿左右偏移。不应丢失正确的指纹功能或引入错误的功能。基于上述思想,我们定义了拼接算法的基本原理:在下一张图像中使用与参考图像相同的部分,并在第一张图像的末尾用作参考,然后进行更新。该图像被附加到前一个图像的末尾。然后以合成图像的末端为参考,继续查找下一帧图像的相同部分,然后缝制等,然后返回到最后一帧的指纹图像。然后将整个指纹图像放在一起。在实际的实现中,我们使用大小为128*4像素的窗口,适合作为大小为192x16像素的帧图像的窗口。首先,在第一帧的最后4行的中间取128列,并将它们放在相应的窗口中。使用相同的大窗口在第二帧中滚动以查找位置窗口中最相似的部分。定位坐标,然后将第二帧的坐标之后的部分连接到第一帧的末尾。以相同的方式,更新嵌入部分的最后四行中间的128列以匹配窗口,扫描并匹配以下帧,然后合并。对于它们中的每一个,都有一个特定的计算实现,旨在找到最对应的窗口。其中,遍历寻找与匹配窗最相似的具体实现为,每次计算f;s为遍历匹配窗口中i行j列的像素值,w.j为匹配窗中第i行j列的像素值。然后得到的S的最小值处即是与匹配窗内图像最相似的部分。依据以上算法,对指纹采集初图像进行了拼接,得到处理后指纹图像如图3-4:图3-4拼接后图像(旋转放置后)第四章实时操作系统4.1开发环境简介目前最广泛的单片机开发工具uV2已经将由Keil公司研发的ARMCortex-M内核单片机STM32通过一定方式构成一个有机整体并适用于前者的开发环境之中,在这里需要指明的是这个有机整体构成的研发环境包括五个组成部分,即Compiler、Assembler、RTOS、Theprojectmanager、DeBugger。而目前最广泛的单片机开发工具uVision2可以充分发挥其开发作用,为这五个部分创造出一种不拘泥于固有模式的研发区域。[15]这个uVision2x相对其他开发环境的有两个功能特征:4.1.1项目管理功能一个项目由源文件、开发工具选项、编程说明构成。而uVision2项目工程能够产生相应的程序。程序产生的源文件形成组。开发工具选项可对应目标,组、文件。而作为最广泛的单片机开发工具uVision2,其内部存在一种器件数据库,这一数据库为了达到用户要求,会进行自动化调控,自主选定Assembler、Compiler、Locator、DeBugger五个方面进行调试和掌控。与此同时,作为最广泛的单片机开发工具uVision2的内部数据库特征明显,即用单片机存储器来存储计算机系统中除主机外的其他设备所有的数据信息,并对单片机上一个功能比较特殊的寄存器和一种使带电粒子增加速度的装置进行向外伸展。而作为最广泛的单片机开发工具uVision2能够通过明确具体的出发地址和规模大小来对单片存储器中的片外存储器起到相对应的连接和沟通作用。4.1.2集成功能作为最广泛的单片机开发工具uV2其最大的作用体现在保障使用者能够按计划完成相应的工作或工程。集成场效应管类型的浏览器可以通过按照数据结构来组织、存储和管理数据的符号仓库提高使用者查询用汇编语言或高级语言组成的文件,同时,这一浏览器会通过精确的符号数据来合理规划使用者的不停变化的现代信息技术中用于保存信息的记忆设备,其具体的设计功能如下:[16](1)文件的查询作用:通过指定的文件中进行全方位的查询和搜寻。(2)菜单工具栏:可以为使用者提供V2集成开发背景。(3)SVCS接口端:提供通道使得控制系统得以进入。(4)PC-LINT接口:为针对使用者的某种应用目的所撰写的软体代码提供较为深入的编译过程的一个逻辑阶段的具体分析。4.1.3编辑器作为最广泛的单片机开发工具uVision2能够为程序的调试确保稳定而可靠的依托,便于使用者迅速纠错和重写程序。同时,这一单片机开发工具非常了解使用者的特点,以彩色显像管进行相应的检查和辨别,对汇编语言和高级语言写出来的C代码加以合理运用和升级。4.1.4常用的调试命令对程序进行连接后,首先按Ctrl+F5键或菜单栏上的调试程序键->开始键/停止键/停止调式会话从而进入调试模式。而Keil这一计算机系统其内部存在一个模拟中央处理器进行整个程序的仿真操作,这个中央处理器是可以在毫无硬件系统和完全模拟的状态下进行运作,对于调试运行起着很大的功能性作用。[17]然后系统进入调试模式后,整个界面会变得不一样,这时调试菜单栏中的几乎所有命令均可操作,同时会出现一个新的工具框,这个工具框是专门针对系统和调试而进行指令操作的。所以调试菜单上绝大多数调试命令都可以正常使用。但是这里需要注意的是进入调试模式后的运行仅仅是一个模拟测试,对于真实的系统环境是存在调试误差,如果系统环境运行稳定且高速,调试运行速度也会较快,反之亦然。4.1.5常用的调试方式常用的程序调试方式包括复位、暂停、工作、单步或过程单步、执行目前的子程序、运行到目前程序行、断点设置、在线汇编、代码作用范围分析、性能分析等诸多类别。而本次设计中涉及到的常用调试方式主要是:单步执行:即在将程序分开来运行,运行完成后即刻停止,随后进行下一个程序的运行。这一调试方式的优点在于能对每一次程序的执行后对问题进行迅速反馈,及时找到错误所在,从而尽可能让所得程序运算结果和设计相符,而缺点就是耗时长,运行较缓慢。过程单步:即主要通过每一程序运行结束后立马进入下一程序运行中。这一调试的优点在于高速且比较全面的看到程序设计成果,缺点在于无法纠正错误和发现错误出现位置。断点设置:由于在系统设计过程中,进行程序调试必须要在某一个位置进行调试,因此断点设置也是本程序调试的重要手段,毕竟单步执行和过程单步都无法将其优缺点综合,因此通过设置一个断点来进行程序中止,从而实现调试功能,是非常有必要的操作。一般在设计运行中,会于程序的某一个可能出现运行状况的位置设置断点,如果程序工作到该处时即刻停止。这样程序员即可观察整个系统运行的变化值,从而更精准的掌握相关数据和变值。一般在操作上会选取程序行设置断点,然后通过按菜单上的调试>插入/删除断点键对断点进行设置或取消。其中调试->启用/Disable断点有开始或中止断点,而调试->启用/Disable断点则是停止所有断点,调试->禁用所有端点是消除所有断点。[18]4.2操作系统移植μC/OS-II是开放源码的实时嵌入式操作系统[13],最多支持64个任务,但设计者建议用户保留8个,留给用户的应用程序有56个不同优先级的任务,是完全可剥夺型的实时内核(即执行就绪态中优先级最高的任务),并支持信号量(Semaphore)、邮箱(MailBox)和消息队列(MessageQueue)等多种进程间的通讯;并且用户需要根据自身的需求对某一些内核的模块或者说是功能区进行一些删减,主要去保留一些程序系统需要的内容,它还是一个动态的操作系统内核,它有一下这么几种的功能4.2.1任务调度:需要根据任务系统去对任务调度进行某些特殊需求的设计,因此它需要在待机的状态下去以最快速的优先级去执行某一些指定的任务4.2.2任务管理:它最多可以去处理六十四个进程或者任务,而这些任务在一般情况下都是执行一些无限循环的功能,它也运行将一些工作去分为几种单独的进程,并根据这些进程去调整他们的优先度,每个任务都会去执行一些可用,简单,准确的功能,它们都会拥有属于自己的堆栈。并且会为一。还有一些任务的调度,以及添加任务,调整他们的优先级,去优先度优先度最高的任务以此去执行。发布以及移除。 4.2.3时间管理:它需要去用户去提高一个定时的中断,一秒钟可以发生几十次甚至上百次。这些频率都需要用户自己去设定。4.2.4任务间的通信与同步:μC/OS-II提供了四种同步对象,分别是信号量、邮箱、消息队列和事件;4.2.5内存管理:μC/OS-II动态管理分区上连续的大块内存,可以有效解决内存碎片问题。当前,51系列及其扩展的单片机构成嵌入式系统的很大一部分,因此将μC/OS-II转变的嵌入式软件不仅能达到动态系统的能力,而且可以提高方便性和实用性的系统。使调试程序容易。因为μC/OS-II不是为专门为了硬件而去进行策划的,所以uC/OS-II将内核系统划分为了3中,如图4-1所示:属于处理器的代码和与是应用程序的大妈。因此,为了使μC/OS-II在基于C51单片机的嵌入式系统中可以准确无误的完整执行,必须将属于处理器的源代码写入到μC/OS-II内核中。图4-1说明了μC/OS-II他的设备上结硬件以及结构上存在的关系。而许多的应用位于该设计的最上框,需要去引用API的功能去达到调度与切换的过程,在存储和通信的过程中,每一个进程都有专属的CPU,因此可以将其设计为无限循环。与所有操作系统一样,μC/OS-II也具有两种类型的源代码,其中大多数与CPU硬件相关,并且是用配置语言编写的,而其他大多数则是使用C语言编写的。一旦系统启动并运行,请尝试最小化配置语言的组件,以便可以将μC/OS-II轻松移植到多个CPU端口以进行驱动。图4-1系统软件和硬件体系结构4.3操作系统移植中用C语言改写的文件在考虑到各种代码易读性,维护性以及兼容等方面的条件下,u/COS的代码大多数是用c语言去实现的,也考虑到一些可用性还有实际情况下的各种单片机以及处理器在读写时都是用汇编语言去完成的,因此在完成与单片机有关的部分代码依旧还是要用汇编语言去达到要求,由前所述在移植μC/OS-II过程中,汇编代码的编写工作主要集中在OS__CPU.AASM文件中。Os_CPU_AASM包括四个用汇编语言去实现的功能ts,46,sJlosstartHighRdyO、OSCtxSw0、osIntCtxSw0、OSTickISRO,这些功能都是采用了public去声明,因此外部的模块可以随时去引用他们,还可以调用全局变量。OSTCBCur,OSTCBHighRdy,OSRunning,OSPrioCur,OSPrioHighRdy,以及外部一些子程序,包括和外部可重入子程序:OSTaskSwHook0,OSIntEnterO,OSIntExit(),OSTimeTickO.在修改任务的过程中,目前正在执行的程序和外部的RAM需要高频率的用到指针以及安全寄存器的值,因此,批处理结构和批处理操作宏定义,批处理宏PUSHALL和批处理宏POPALL批处理堆栈结构如图4-2所示。下面将详细描述上述四个配置功能。下面将详细描述上述四个组装功能。操作系统:在多层开始函数osstart0中将会引用starthighrdy0功能。他的任务是先做好自己的事情。在调用OSInitO之前。最好再创建一个任务。全局指针OSStartHighRdy指示完成的每一个任务的最高优先度。OSStartHighRdy)OSTCBStkPtr指向任务堆栈的顶部。该功能的主要任务如下:1、使用操作任务函数2、得到目前ostcbcur,目前在执行程序的任务的指针控制模块3、得到在堆载里任务的指针,ostc,并去得到在堆载里任务的指针4、把任务去替换到系统的堆栈里5、去执行标志位6、出栈,并且中断并返回出来图4-3宏定义堆栈结构示意图4.4超声波屏下指纹识别超声波是一种频率高于20000赫兹的声波,超声波指纹识别技术原理由sensor上的压电材料产生一定频率的超声波,超声波透过盖板玻璃或者OLED显示屏后,因手指的脊和谷区域对超声波反射率不同,故反射波在压电材料不同区域产生的逆压电效应不同,通过一定的处理抓取该差异值,从而实现指纹的扫描,构建出一个3D图像,而这就代表以后你拿着一个打印着机主指纹的纸片按上去也无法解锁。而超声波指纹识别技术还具有一个特性,那就是它具有穿透大多数材质的能力,准确找到你的指纹,就是说用3D打印出来的指纹也无法骗过它。 其原理图为:图4-4超声波反射图从图中可以看出,超声波检测的主要类型使用超声波的透射波和回波的两个部分。指纹传感器发射超声波并接收手指反射的信号,以在指纹中绘制“大和小的变化”。原理是超声波具有穿透材料的能力,并且不同材料会产生不同大小的回声(超声波以不同程度的吸收,透射和反射到达不同的表面)。因此,利用皮肤和空气的阻抗差异,可以区分指纹刷和Yu的位置。超声技术使用的超声频率为104Hz-109Hz,并且将能量调节到不损害人体的程度(与医学诊断的强相同)。图4-5超声波指纹检测μC/OS-II操作系统按照一定的频率定期对STM32的各个引脚进扫描,超声波识别模块通过STM32的引脚在硬件上接入系统。当超声波屏下指纹识别系统检测到有指纹信息需要处理的时候,就会通过STM32的链接引脚进行数据传到,这些数据表将传递到有关的寄存器里面让操作系统通过对寄存器内部数据的读取,并以此为判断依据,随后进行判断相关的操作:(a)指纹的录入需要录入新的指纹时,操作系统将会调动登录程序要求进行相关信息的录入,然后将这些信息与信息库里面的信息进行配对,并且关联指纹信息,下一次有着同样的指纹数据出现的时候,就可以直接进行相应的判断了;(b)指纹的判断需要判断指纹时,则需要操作系统将储存器中读取已有的指纹数据,虽会再对所接收的数据进行比对,判断指纹背后所代表的的信息,并按照相应的要求给出信息以及操作。在进行判断并执行操作后,对系统中的内容进行更新。第五章总结经过这次的系统设计,我觉得自己学到了不少东西。归纳起来,主要有以下几点:(1)这次毕业设计是对过去几年学习的检验,系统的将之前学习的各方面知识与本项目的相关工作进行结合,对自己之前的一些想法进行了实现,在其中遇到了一些问题,在寻找解决办法的过程中,自己也学到了很多,更加扩宽自己的眼界和认识,当然也发现自己所存在的很多不足比如控制理论的理解不够深入、光照环境建模的能力考虑不够完整、程序的编写和调试能力有待进一步加强,提高了自己对于理论学习的自觉性和主动
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- Mumeose-K-生命科学试剂-MCE-2774
- 5-Fluoro-THJ-生命科学试剂-MCE-6389
- 2025年度环保型空调拆卸作业安全协议书
- 2025年度文化创意产业居间代理协议
- 二零二五年度父母出资购房子女房产份额分配协议
- 2025年度无房产证房屋买卖风险评估合同
- 二零二五年度砍树承包合同及林业资源管理实施协议
- 二零二五年度企业食堂档口租赁合同与员工餐饮补贴协议
- 高标准实验环境下的安全防护措施探讨
- 临时用电安全合同协议
- 设计单位-质量管理体系
- 2024版《供电营业规则》学习考试题库500题(含答案)
- 福建省医院大全
- GB/T 16659-2024煤中汞的测定方法
- 闪蒸罐计算完整版本
- (高清版)DZT 0073-2016 电阻率剖面法技术规程
- 完整2024年开工第一课课件
- 货运车辆驾驶员安全培训内容资料完整
- 高一学期述职报告
- 风神汽车4S店安全生产培训课件
- ICU患者的体位转换与床旁运动训练
评论
0/150
提交评论