![[硕士论文精品]基于dsp和fpga的自动指纹识别系统硬件设计与实现_第1页](http://file.renrendoc.com/FileRoot1/2017-12/8/9af7ae91-f4dc-426c-b72d-45236e554477/9af7ae91-f4dc-426c-b72d-45236e5544771.gif)
![[硕士论文精品]基于dsp和fpga的自动指纹识别系统硬件设计与实现_第2页](http://file.renrendoc.com/FileRoot1/2017-12/8/9af7ae91-f4dc-426c-b72d-45236e554477/9af7ae91-f4dc-426c-b72d-45236e5544772.gif)
![[硕士论文精品]基于dsp和fpga的自动指纹识别系统硬件设计与实现_第3页](http://file.renrendoc.com/FileRoot1/2017-12/8/9af7ae91-f4dc-426c-b72d-45236e554477/9af7ae91-f4dc-426c-b72d-45236e5544773.gif)
![[硕士论文精品]基于dsp和fpga的自动指纹识别系统硬件设计与实现_第4页](http://file.renrendoc.com/FileRoot1/2017-12/8/9af7ae91-f4dc-426c-b72d-45236e554477/9af7ae91-f4dc-426c-b72d-45236e5544774.gif)
![[硕士论文精品]基于dsp和fpga的自动指纹识别系统硬件设计与实现_第5页](http://file.renrendoc.com/FileRoot1/2017-12/8/9af7ae91-f4dc-426c-b72d-45236e554477/9af7ae91-f4dc-426c-b72d-45236e5544775.gif)
已阅读5页,还剩74页未读, 继续免费阅读
[硕士论文精品]基于dsp和fpga的自动指纹识别系统硬件设计与实现.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要摘要随着计算机与信息技术的发展,生物特征识别技术受到了广泛的关注。指纹识别是生物特征识别中的一项重要内容,一直以来是国内外的研究热点。嵌入式自动指纹识别是指指纹识别技术在嵌入式系统上的应用。传统的嵌入式自动指纹识别系统多采用单片DSP或MIPS处理器来完成算法,由于DSP或MIPS处理器只能根据程序顺序执行,在指纹匹配过程中只能和整个库中的指纹进行一一匹配,因此这类系统在处理较大指纹库时下匹配时间相当长。为了克服这个缺点,本文构建了浮点DSP和FPGA协同处理构架的硬件平台,充分利用DSP在计算上的精确度和FPGA并行处理的特点,由DSP和FPGA共同处理匹配算法。本文的主要工作如下1设计了一个硬件系统,包括DSP处理器、FPGA、指纹传感器、人机交互接口和USBL1接口。同时,还设计了各硬件模块的驱动程序,为应用程序提供控制接口。由于系统中DSPT作频率为300MHZ,其中某些器件的工作频率达到了100MHZ,因此本文还给出了一些信号完整性分析和PCB设计经验。2编写了VEFILOG程序,在FPGA中实现了9路指纹的并行匹配。由于FPGA本身的局限性,实现原有匹配算法有很大困难。在简化原有匹配算法的基础上本文提出了便于FPGA实现“粗匹配”算法。此外,还设计了用于和DSP通信的接口模块设计。3完成了系统应用程序设计。在使用UCOSII实时操作系统的基础上设计了各系统任务,通过调用驱动程序控制和协调各硬件模块,实现了自动指纹识别功能。为了便于存放指纹特征信息,设计了指纹库数据结构,实现了指纹库添加、删除、编辑的功能。最终,本系统实现了高效、快速的进行指纹识别,各模块工作稳定。同时,模块化的软硬件设计使本系统便于进行二次开发,快速应用于各种场合。关键词自动指纹识别系统,CYCLONEFPGA,TMS320C6713B,UCOSII实时操作系统ABSLAACTABSTRACTWITHTHEDEVELOPMENTOFELECTRONICCOMPUTERANDINFORMATIONTECHNOLOGY,THEBIOMETRICIDENTIFICATIONTECHNOLOGYHASDRAWNMOREATTENTIONSFINGERPRINTIDENTIFICATIONTECHNOLOGY鲴APARTOFBIOMETRICTECHNOLOGYISDEVELOPINGVERYFASTANDUSEDINMANYFIELDSEMBEDDEDFINGERPRINTIDENTIFICATIONSYSTEMISTHEONEOFTHEFINGERPRINTIDENTIFICATIONAPPLICATIONSINTRANDITIONALEMBEDDEDFINGERPRINTIDENTIFICATIONSYSTEMS,ASINGLEDSPORMIPSPROCESSORISMOSTLYUSEDTODOTHEARITHMETICBECAUSETHOSEPROCESSORSWORKSEQUENTLY,THEYCOULDONLYMATCHFINGERSONEBYONEWHENCOMINGACROSSALARGEFINGERLIB,THISPROCESSINGWOULDSPENDALOTOFTIMETOSOLVETHISPROBLEM,AFPGAISADDEDTOASSOCIATEDSPTODOTHEMATCHINGARITHMETICASTHEFPGANDOMATCHINGPROCESSINGINPARALLELANDDSPHASMOREACCURACY,THISNEWCONSTRUCTIONHASHIGHEFFICIENCY,THEWORKABOUTTHISTHESISISDESCRIBEDBELOWWEDESIGNEDAHARDWARESYSTEMINCLUDINGDSPS,FPGA,FINGERPRINTSENSOR,HUMANMACHINEINTERFACEANDUSBL1PORTANDWEALSOWROTETHERELATEDDRIVERSTOSUPPORTAPPLICATIONSBECAUSETHEDSPWORKAT300MHZANDSOMEOTHERCHIPSWORKAL100MHZ,INTHISTHESISWEDISCUSSEDSOMESIGNALINTEGRITYTHEORIESANDGLVEDSOMEEXPERIENCESABOUTPCBDESIGNWENLADEAFPGADESIGNTHAT9LINESOFFINGERMATCHPROCESSINGCANBEDONEATTHESALLLETIMETOAVOIDFPGASDISADVAUTAGES,WESIMPLIZEDFINGERMATCHTHEORYANDWEALSODESIGNEDANIOMODULETOCOMMUNICATEWIMDSEWEDESIGNEDANAPPLICATIONPROGRAMTOIDENTIFYFINGERPRINTAUTOMATICLYANDWEALSODESIGNEDASTRUCTURETOMANAGEFINGERPRINTDATABASEFIILALLY,THISSYSTEMISRELIABLE,ANDITNIDENTIFYFINGERPRINT谢MBIGHEFFICIENCYANDTHEMODULARIZEDHARDWAREANDSOFTWAREALEFITABLEINMANYDIFFERENTSITUATIONSKEYWORDSAUTOMATICFINGERPRINTIDENTIFICATIONSYSTEM,CYCLONEFPOA,TMS320C6713BUCOSREALTIMEKERNEL独创性声明本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究成果。据我所知,除了文中特IIII以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢意。签名型IIII如,7年F月午日关于论文使用授权的说明本学位论文作者完全了解电子科技大学有关保留、使用学位论文的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。保密的学位论文在解密后应遵守此规定签名药均毳签名们瑚幻导师签日期第一章绪论11引言第一章绪论随着现代社会的数字化、信息化和网络化进程不断加快,人们之间的信息交流愈加方便快捷,身份的数字化和隐性化趋势日趋明显。但是,随之而来的利用身份欺骗而造成公司、个人的机密数据泄漏和利益受损的问题也日益严重,这对个人身份鉴别技术提出了重大的挑战。如何自动、快速、准确地鉴别个人身份,保护信息安全是当今信息化时代必须解决的关键性社会问题。现代身份鉴别技术不但要求具有极高的安全性准确性,鉴别过程自动化、易于管理和以人为本也是它应该具备的关键性特征。传统的自动身份鉴别技术可以分成两大类基于标识的鉴别技术和基于知识的鉴别技术。基于标识的方法是指用于特定的标志来获得个人认证,例如护照、身份证、驾驶证和钥匙等。而基于知识的方法使用“所知”鉴别个人身份,即待鉴别者通过私有的知识和信息来证明自己的身份,如密码、个人识别码PIN、口令等。基于标识和基于知识的鉴别技术已经被人们使用了千百年,其主要优点是简单和成本较低。然而,这些传统的个人识别方法并不是根据待鉴别者的“内在”特征进行身份识别,实际使用时常常会遇到许多不利因素如护照、身份证等可能会被盗取、替换、丢失、或者忘记携带,密码或PIN则容易遗忘或被熟悉的人猜中,而这些传统的身份鉴别方法是无法区分授权人和冒名顶替者的。特别是在计算机技术飞速发展的今天,利用高速计算机对密码和PIN进行自动攻击也正变得越来越容易。综上所述,传统的身份鉴别技术在当今高度数字信息化的社会中已经日渐显得力不从心,人们迫切需要新的个人身份鉴定技术来保护自身的利益不受侵犯。事实上,由于人体本身的生物特征具有唯一性和不可复制等特点,因而理所当然的成为了传统身份识别技术的替代品。12生物识别技术生物识别技术BIOMETRICIDENTIFICATIONTECHNOLOGY,是指通过计算机利用人电子科技大学硕士学位论文体所固有的生理特征指纹、虹膜、面相、DNA等或行为特征步态、击键习惯等来进行个人身份鉴定的技术。由于它所识别的对象具有稳定性长期不变、唯一性不同的个体互不相同,普遍性人人都有和与识别的个体有本质的联系等特征,不易伪造和假冒,因此成为目前最为安全的识别技术。从核心算法来说,随着新的数学工具比如小波理论的发展与应用,生物识别技术的核心理论与算法在原有基础上进一步提升。与此同时,与生物识别技术大规模实际应用密切相关的其他技术的发展与普及,使得生物识别技术具备了在实际社会活动中大规模应用的可能性。IC卡技术的成熟,使得大信息量的人体生物特征与传统的认证卡认证方式找到了较好的结合点,生物识别技术可以从改进、增强传统身份确认方式的功能作为切入点,在海量数据库上使用。另外与之相匹配的外围硬件、应用系统的不断发展,高性能计算的成熟与成本下降使得生物特征识别技术在1N技术领域得以大规模实现。目前,用于生物识别的生理特征有手型、指纹、脸型、虹膜、视网膜、脉搏和耳廓等,行为特征有签字和声音等。基于这些特征,人们已经发展了多种生物识别技术。在生物识别技术民用化过程中首选指纹识别技术。指纹作为授权手段拥有安全授权手段的三大特性安全性指纹纹路在人出生时即已定型,并终生不变。活体指纹采集技术保证了“随身携带”指纹的安全性。便捷性无论是联机还是嵌入式的指纹处理系统,目前其处理速度均已达到理想水平。可靠性指纹识别技术是典型的“认人不认物”的授权手段。在授权当时就可以确保使用者是“合法“授权者。图12早期的指纹应用2第一章绪论13指纹识别技术指纹是手指皮肤表面隆起的脊和凹下的谷构成的特定纹路,其纹理在婴儿胚胎时期就己经确定。相对于人体其它的生物特征而言,指纹在唯一性、永久性方面有着明显得优势;科学研究发现,两枚指纹完全相同的概率极小,可以认为世界上没有两个人会有完全相同的指纹;而且每个人的指纹会保持终生不变,指纹由皮肤表面死亡的角质细胞堆积而成,即使磨损,只要不伤及真皮,也能重新长出。另外,指纹的应用是非常方便、可靠的,并且不会对人体构成侵犯,用户接受程度也比较高。基于以上特点,指纹识别技术在社会安全、信息安全、金融安全、个人安全以及防伪领域得到了广泛的应用,几乎成为生物特征识别的代名词。,指纹作为身份鉴别的方法早在古代就己经在中国和古叙利亚有所应用,如留有陶艺匠人指纹的粘土陶器,印有起草者拇指指纹的文件等。早期对指纹的应用如图12所示传统的指纹识别运用局限在法律用途,而且是以人工肉眼比对,十分费时。从八十年代开始,各国政府己将指纹卡输入大型电脑代替人工比对,且全球已累积到一亿张以上的数量。然而这些资料是先以油墨沾印到指纹卡,再扫描进电脑。指纹品质多半不够好,有时甚至在犯罪现场上采到清晰的指纹,也会因建档的指纹资料模糊,而无法找出嫌犯。目前的技术发展,已有足够能力取得高品质的活体指纹影像,且在建档及传输上完全电脑化,足以解决上述的窘境。14指纹识别技术的现状与前景目前在世界上许多公司和研究机构都在指纹识别技术的研究中取得一些突破性发展,从而推出了许多新产品,这些产品已经开始在许多领域得以运用。TREK2000INTERNATIONAL的子公司TREKSTOR提供了一种指纹识别技术的存储解决方案,TREKTHUMBDRIVETOUCH是移动储存设备业界的革命性的创新。它是世界上第一款指纹识别USB闪盘,提出了一种新的产品范畴定义。THUMBDRIVETOUCH用生物指纹识别技术代替了传统的用户密码识别。它用自带的USB端121插入USB接口后。用户可通过硅传感器鉴别自己的指纹。在国内,指纹识别技术主要应用于考勤系统和门禁系统中,例如用于准考证管理系统中,可以保证报名者与考生身份完全一致,能够从根本上杜绝替考现象的发生。2003年1月,澳门特别行政区的居民已开始拥有指纹等生物特征的智能身份证卡。北京也在2004年开始换发第二代身电子科技大学硕学位论文份证,其中的IC芯片记录了指纹信息和虹膜特征等生物特征信息。随着指纹识别技术的不断发展,其应用几乎囊括了所有需要进行安全性防范的场合,在金融证券、IT、安防、公安、医疗和福利等行业的许多应用系统中具有广阔的发展前景。15课题来源、目标及意义本项目来源于国家信息产业部的专项课题指纹识别系统的研制。课题立项主要基于以下几点首先,据IBG国际生物集团的统计表明全球生物特征技术市场每年将以超过80的速度增长。生物特征识别正成为一个令许多大公司和投资者们朝思暮想的庞大市场。目前,生物特征认证技术在国外经过30多年的发展,软硬件已经相对比较成熟,产生了一批比较有规模、技术成熟、有实力的厂商,生物识别技术的产品开始进入大规模的应用。反观国内,虽然北京大学、中科院自动化所等单位也掌握了一些核心算法,但应用上总体还处于发展初期,主要集中在比较分散、自发性的企业级应用上大多数企业的硬件设备源于国外厂商;缺乏技术标准和行业规范,缺少专业性的独立评测机构技术和产业环境与国外存在差距,资源、信息缺乏共享,公用数据库偏少。这些都将使中国在这个即将到来的大市场中处于不利位置。其次,人类进入新世纪以来,世界安全形势并没有如乐观人士预想的那样变得更好,“9,11”事件再次向人们敲响了警钟。今年初,美国开始对入境外国人提取指纹,反映了美当局对安全问题的忧虑。中国的安全问题虽不至于像美国那样严重,但依然很严峻。特别是2008年奥运会、2010年世博会对中国来说都是很大的考验。有报道称,日本一家著名公司来到北京,全力推销其生物特征识别技术。希望能用于北京奥运会。随着生物科学的发展,指纹作为个人身份识别标志已得到公认。它与生俱来,不易丢失,不易受损,易于识别,是高安全级别应用中进行身份认证的理想手段。指纹识别系统在网络、银行、证券、医疗和保险等行业得到了广泛应用。它充分利用了指纹这种具有唯一性的生物特征取代了传统的密码识别方式,不仅将在一定程度上保证国家经济信息的安全,还将真正给消费者的网上购物,商家和企业的网上销售等活动营造一个安全、便捷的有利环境,同时带来不可估量的经济效益和社会效益。因此,大力推进我们自己的生物特征识别技术、尤其是指纹识别技术的研究水平并促其产业化,不仅可以提高我们的安全防范水平,也可以产生4第一章绪论很大的经济效益、社会效益。同时可以带动计算机、电子、光学、图像处理、模式识别等相关学科的发展,具有很大的理论与现实意义。本课题目标是开发出快速高效的自动指纹识别系统。主要分为两个部分,指纹识别算法设计和实现、嵌入式硬件系统及相关软件系统。本文所描述的属于后一部分的研究。16论文工作简介及章节安排全文共分为六章,后面每章的主要内容如下第二章嵌入式自动指纹识别系统简要介绍了指纹处理预处理算法,由于需要在FPGA中实现指纹匹配,详细介绍了匹配算法的实现过程。另外还详细介绍了本系统的硬件构架和数据处理流程。第三章系统硬件及驱动设计主要介绍系统各个组成模块的硬件设计,从芯片选型到具体的硬件连接。由于驱动和硬件设计息息相关,因此在介绍硬件的同时也给出了驱动的设计。在本章最后给出了本系统硬件设计相关的一些信号完整性分析和PCB设计心得体会。第四章FPGA设计作为实现本课题目标的一个关键部分,本章详细介绍了FPGA作为指纹匹配协处理器的特点和优势,在简化原有算法的基础上提出了一个便于在FPGA上实现的粗匹配算法,并介绍了算法在FPGA上的实现过程。另外还介绍了FPGA中的的外部接口设计。第五章系统应用程序设计应用程序将所有的硬件协调起来,在硬件平台实现了自动指纹识别功能。本章首先简单介绍UCOSII实时操作系统及其在TMS320C6713上的移植的一些注意事项,然后详细介绍了作为整个系统控制和管理的应用程序各个功能模块设计。最后介绍了系统引导设计和一个新的自动程序更新方案。第六章总结通过测试表明本系统可以进行快速、高效的指纹匹配。同时本章也指出了且前工作的不足之处,指出了未来工作的方向。电子科技大学硕士学位论文第二章嵌入式自动指纹识别系统本文所描述的嵌入式自动指纹识别系统是指脱机的自动识别系统,整个采集识别过程都在嵌入式系统上完成。本章主要讲述指纹识别技术的基本原理、硬件系统的构架和指纹数据处理流程。21指纹识别的基本原理指纹识别技术是指使用取像设备读取指纹图像,通过识别软件提取出指纹图象中的特征数据,然后根据匹配算法得出的结果鉴别指纹所有人身份的生物识别技术。指纹识别系统主要有两种方法,连接到PC的桌面应用系统和嵌入式系统实现。连接PC桌面应用系统具有灵活的系统结构,多个系统可以共享指纹识别设备,实现建立大型的数据库应用。但由于需要连接计算机才能完成指纹识别的功能,因此限制了这种系统在许多方面的应用。嵌入式系统是一个相对独立的完整系统,它不需要连接其他设备或计算机就可以独立完成其设计的功能。例如指纹门禁系统和指纹考勤机就是嵌入式系统。这种系统具有速度快、体积小、接口多、价格低、保密性强等优点被应用在各种领域。指纹处理识别主要涉及指纹图像采集、指纹图像处理【”、特征提取、特征匹配口噜过程。首先,通过指纹取像设备读取得到指纹的数字图像,并对原始图像进行初步处理,使之更清晰。然后,指纹识别算法将建立指纹图像的特征数据,这些数据的集合通常称为模版。进行指纹识别时,由计算机对预存的模版与当前获得的特征数据进行比较,计算出它们的相似程度,从而得到两幅指纹图像的匹配结果。可见,指纹识别过程实质上是一个图像识别过程。211指纹处理算法在本系统中所采用的指纹处理流程主要有以下几个步骤1原始指纹图像数据来源于MBF200指纹传感器,采集象素尺寸为300X256。21滤波由于指纹头采集到的数据受到传输线路和物理器件的干扰,不可避6第二章嵌入式自动指纹识别系统免的存在噪声。比较明显的是椒盐噪声,所以对采集到数据象素值小于17进行了中值滤波。实践表明该滤波器能有效除掉椒盐噪声3图像分割区分指纹和背景区域。在300X256模式下,指纹区域只是占整个采集图像的一部分,并且在指纹区域,有些地方的纹线比较模糊比如污迹,必须将其视作背景,以免产生伪特征。4在指纹的局部区域,纹线保持相同的方向。求出指纹在每个区域的方向信息,此信息对后面的求纹线宽度和增强有着重要的作用。算法中将指纹分割成77的块,然后求得每一块的方向信息。对所得方向信息进行量化,得到8个方向值。在某些位置,由于噪声的干扰或图像质量本身的问题,初次求得的方向信息不准确,需要根据周围的方向信息对其进行修正。5脊线宽度沿着指纹脊线垂直的方向,根据灰度变化特性,求出每一块的指纹脊线宽度。国根据指纹的方向信息和纹线宽度信息,将象素值为0255的灰度图像变换成象素值为0和255的二值图像。其中,象素值为0的地方表示指纹的脊线,象素值为255的地方表示指纹的谷线。N细化二值图像中,指纹的脊线宽度每条脊线上,垂直与脊线方向的象素个数不为L,因此,将宽度变为一个象素的过程就是细化。81后处理由于细化算法的不完备或者二值化图像不是很精确,所得到的细化图像不可避免的存在一些毛刺和空洞。后处理就是消除毛刺和空洞。9特征提取指纹的主要信息是端点和分叉点。LO指纹分类指纹的特征分为全局特征和局部特征,全局特征指描述指纹总体结构的一些特征,如纹线的整体走向,奇异点相对位置等。这些特征最终表现为不同的分类,包括拱、尖拱、左旋、右旋、螺旋五类。11匹配将提取的信息与指纹库中的指纹特征信息进行比对,检查是否存在相同的指纹。212指纹匹配算法由于系统中的FPGA主要用于实现指纹匹配算法,下面详细介绍指纹匹配算法的原理。同一指纹传感器在不同时刻采集同一个手指的指纹,所得到图像不可避免的存在平移和旋转,为了匹配算法的简单化和精确度,本系统的匹配算法以极坐标电子科技大学硕十学位论文为参考坐标系极坐标系的原点选取将在下文说明。在下面的阐述中,将指纹库中的指纹信息称为模板图像P,输入待匹配的图像称为输入图像Q。以P和MP分别表示一幅模板指纹和该指纹的特征点信息,Q和MQ分别表示输入指纹和该指纹的特征点信息。为了将直角坐标中的指纹信息转换到极坐标,需要在P和Q中分别找出一个特征点MPF和MQ_,作为参考点,并以M_的特征点的位置为坐标系的极点,Q中的OX轴作为极坐标系的极轴方向从特征点到最后采样点。确定极坐标系后,在后续的特征点的匹配过程中,需要将MQ,变换到极坐标系中。由于一开始对MP和MQ中点的对应关系一无所知,所以从MPM1MSMP和MQM1MMA找出一对参考点。2121寻找参考点分别选取MP和MQ的任一相同类型,并且追踪步长相等的特征点盯PF和吖QO,求取两者的差异DIFFDISTI,和DIFFANGI,JFDIFFDISTI,_,陬P一DQJKL0F521彤一ANGI,DTI陋P。口Q止L【LLGS22如果DFFDISTI,力豫并且够一ANGI,TA,那么可以“暂时”的认为这两个点是同一指纹的同一特征点。MP1和肘Q歹就是选取的一对参考点。上面的砌和财是算法定义的两个阀值。同时,根据,叫和X,J,与O轴夹角的差异来得出两幅指纹图像相对旋转的角度ROTATE0。ROTATE360。2122比较并寻找匹配点这里算法定义一全局变量嬲阳0,并在找到参考点后赋值川SCO陀L找到参考点凹即F和肘Q,后,需要将JP的特征信息肘户转换到极坐标系中。在寻找匹配点的过程中,主要用到3个特征信息,IFP。,瓦7。瓜J孑I丽238第二章嵌入式自动指纹识别系统口P。曰P。一ROTATE凡;TAN一1姓一ROTATEXTX_2425瓦表示特征点,蹦神到特征点肘JPO的距离,吼户。表示特征点与第一个追踪点的连线与极轴的夹角,瓦表示特征点肘PM在极坐标系中的极角。同理,材9功也要做部分转换,只是此时的ROTATE为0而已判断MP删肌F和MQXN0J是否是匹配点时,算法定义三个自适应阀值、皖和尼。当且仅当满足下列条件时,认为MPMMI和MQXNOD是匹配点际一矗LRB26PP。一口Q。L见27并且MSEOREMSCORE1。阪一瓦I属X28图21MPXM肌F和MQ行以,匹配图2123指纹匹配算法步骤1对于肘P中的每个特征点肘PF1F2M户和MQ中的每个特征点MQ,1_,审埘Q,判断他们是否是一对参考点。如果不是,继续寻找改变F或J的值,直到找到一对参考点,并转入2;若所有的点被判断过9电子科技大学硕士学位论文但仍然没有找到参考点,则认为两个指纹不匹配,跳出。软件实现中,以,为外循环,F为内循环,一个一个点的对比查找2以M尸F和MQ_,为参考点,判断其它所有点肘P脚肼F和“Q功,是否为匹配点。若为匹配点,则使标记符表明这两个特征点已经匹配,无需再将这两个特征点与其它特征点对比。程序中,使JZB2【M儿2J2M,JZBL【N儿纠21,程序初始化时这两个值都为一13检查全局变量I岱COPE的值,看是否满足两幅指纹匹配的条件,若满足,则认为两幅指纹匹配,否则转入1。22嵌入式自动指纹识别系统嵌入式自动指纹识别系统主要包括嵌入式硬件、指纹算法的实现、应用管理程序。本文所描述的系统是在原有系统基础上的改进和增强,原有系统在匹配速度方面不够理想。分析后发现,由于原系统是单DSP处理系统,整个算法流程都是顺序执行。特别是匹配处理时,待匹配的指纹要和指纹库的指纹进行一一比对,匹配时间近似于线性增加,当指纹库很大时,匹配时间就相当长。为了克服这个椒盐女波图像分割求方向场图像值化图像细化特征提取粗匹配型掣指纹传感器数据发送获取结果精确匹配结果输出DSP处理器FPOA协处理图22指纹数据处理流程缺点,新的系统中增加了FPGA来做指纹匹配算法。FPGA的资源可以根据程序配置,可以在单片FPGA实现几个完全相同的匹配算法,即同时完成几对指纹的匹配。最终FPGA中设计了9路匹配算法,可以同时对9对指纹同时进行匹配运算,这样就大大提高了系统的匹配速度。由于图像预处理过程的包含大量的浮点运算,在FPGA实现上比较困难,因LO第二章嵌入式自动指纹识别系统此将所有的预处理操作放到DSP中执行而指纹匹配算法中也有浮点运算,为了便于FPGA实现,本文将匹配算法的浮点运算简化,用定点运算代替,同时去掉一些不易实现的阀值判断。由于计算的粗略性,简化的匹配算法并不能实现指纹的精确匹配,因此将其称为粗匹配。在FPGA粗匹配成功的指纹再在DSP中进行精确匹配,得到最后的结果。整个数据处理流程如图22所示23本章小节本章简要介绍了指纹算法处理流程,详细描述了匹配算法,为了克服原有系统匹配速度慢的不足而提出了一个新的处理指纹匹配算法的系统构架,最后给出了算法在本系统中的处理流程。电子科技大学硕士学位论文第三章系统硬件及其驱动设计本章将分别描述系统的各个主要模块的芯片选型、在硬件上的实现和驱动程序设计。最后一节还介绍了信号完整性分析和硬件设计的一些心得体会。整个系统硬件框图如图31所示。从图中可以看到整个系统包括电源模块、DSP处理器、FPGA、存储器、人机界面、UART接口、USBL1接口。31系统电源设计图31自动指纹识别系统硬件框图由于市电为220V交流电源,而嵌入式系统通常为直流供电,因此需要一个电源转换电路将交流变为所需要的直流。本系统中首先采用一个外置的开关交流电源适配器将220V的交流电转化成固定5V输出的直流电源。由于各芯片工作电压不完全相同,除了5V直流电源,本系统中还有需要多种电源,如33V14、15V。因此,电路上还需要一组稳压器将直流5V电压转换成所需的三种电压。市面上常用的电源转换芯片一般有两种LDOLOWDROPOUTREGULATOR和DCDC开关式降压器。LDO为低压差线性稳压芯片,是传统的线性稳压器的改进型产品。LDO的特点有外围电路简单、使用方便、成本低、输出纹波小、无电磁干扰、效率低。DCDC是实现电源转换的另一种方法,效率比线性稳压器高,但设计比线性第三章系统硬件及其驱动设计稳压器复杂很多,外围电路也比线性稳压器复杂,而且还带有一定的电磁干扰。考虑到设计的简单实用性,本系统采用了两款LDO芯片分别对DSP芯片和FPGA芯片供电。11公司的TPS70302LDO3电压调节器同时为DSP提供两路122V5,5V可调电源输出。该芯片的电压输入范围为27V6V,两个通道额定电路分别为LA和2A。另一款LDO芯片TPS767D301T4对FPGA提供电源,该芯片有两路电压输出固定33V和15V55V可调输出。两路输出的额定电流为LA。32DSP处理器321数字信号处理芯片DSPDIGITALSIGNALPROCESSORS芯片【5】,即数字信号处理芯片,是一种进行数字信号处理运算的微处理器,其特有的稳定性、可重复性、可大规模集成,特别是可编程性高和易于实现自适应处理等特点,给数字信号处理的发展带来了巨大机遇,并使信号处理手段更灵活,功能更复杂,其应用领域也拓展到国民经济生活的各个方面。DSP芯片一般具有如下主要特点在一个指令周期内可完成一次乘法和一次加法;程序和数据空间分开,可以同时访问指令和数据;片内具有快速,通常可通过独立的数据总线在两块中同时访问;具有低开销或无开销循环及跳转的硬件支持;快速的中断处理和硬件IO支持;具有在单周期内操作的多个硬件地址产生器;可以并行执行多个操作;支持流水线操作,使取指、译码和执行等操作可以并行执行。322DSP芯片的分类DSP芯片可以按照下列三种方式进行分类1按基础特性分这是根据DSP芯片的工作周期和指令类型来分类,如果有两种或两种以上的电子科技大学硕士学位论文DSP芯片,它们的指令集和相应的及其代码机管脚结构相互兼容,则这类DSP芯片称为一致性DSP芯片。2按数据格式分这是根据DSP芯片工作的数据格式来分类。数据以定点格式工作的DSP芯片称为定点DSP芯片。而浮点DSP芯片所采用的浮点格式不完全一样,有的DSP芯片采用白定义的浮点格式,有的DSP芯片则采用IEEE的标准浮点格式。3按用途分按照DSP的用途来分,可分为通用型DSP芯片和专用型DSP芯片。通用型DSP芯片适合普遍的DSP应用。专用DSP芯片是为特定的DSP运算设计的,更适合特殊的运算,如数字滤波、卷积和FFL323耶VI320C6000系列DSP美国德克萨斯仪器公司TI是全世界领先德高性能信号处理集成电路制造图32TMS320C6000系统框图14第三章系统硬件及其驱动设计商,是全球主要的可编程DSP芯片供应商之一。TMS320C600061系列具有非常强的高速处理能力,广泛用于通信、图象、医疗仪器等领域。该系列包括定点系列1MS320C62】【】【、TMS320C64XX和浮点系列TMS320C67XX。图32所示为TMS320C6713的内部系统框图,主要包括以下几个部分程序读入及指令译码、分配机构。包括指令取指单元、指令分配单元和指令译码单元。程序取指单元由程序总线与片内程序存储器相连;程序执行机构。包括2个对称数据通路A和B、2个对称的通用寄存器组、2组对称的功能单元每组4个、控制寄存器和控制逻辑以及中断逻辑等。每组数据通路有读入及存储写入数据总下及片内数据存储器连接;芯片测试和仿真端口及其控制逻辑。3231TMS320C6713B32位浮点DSP由于指纹处理算法大多数为浮点运算,为了方便实现本系统选用了11公司C6000系列中的高性能32位浮点DSPTMS320C6713作为整个系统的核心处理器。该芯片的主要特征如下300、225、200MHZGDP系统时钟频率;最高可达24001800MIPSMFLOPS;增强型甚长指令字结构;内部含有4KBYTEL1P第一级程序缓存PROGRAMCACHE、4KBYTELID第一级两路数据缓存2WAYDATACACHE、64KBYTEL2第二级缓存、192KBYTEL2映射存储器;32位外部存储器接EIEMIF,可以和SRAM、EPROM、FLASH、SBSRAM、SDRAM无缝连接;16个独立的增强型直接存储访问控制EDMA;16位主机接口HPI两个多通道缓冲串口。电子科技大学硕士学位论文33FPGA模块FPGA现场可编程门阵列主要作协处理和简单的地址译码。协处理器是指FPGA用于完成指纹的粗匹配过程,地址译码是由于TMS320C6713的外部空间的CE控制脚个数有限,所有外设无法通过和DSP直接连接来映射到DSP的外部寻址空间,因此需要一个地址译码器将外设映射到DSP合适的外部地址空间上。而其他诸如RD和WR等控制逻辑则可以由DSP直接给出不需要再做逻辑转换。由于地址译码涉及到各外设的驱动设计,这里仅说明地址译码的功能,其他内容在第四章中详细说明。根据软件仿真结果和实际需要,本系统选用了ALTERA公司的CYCLONE系列FPGAEPLCL2Q240C8【J。作为地址译码器,FPGA外部提供了两个片选引脚EXTCE0、EXTCEL。此外,FPGA内部还有四个匹配寄存器,对于FPGA内部的每个指纹特征数据存储器块都有两个存储器地址和数据寄存器。FPGA由DSP的CE3来寻址,两个扩展的片选和所有寄存器都映射到DSP的外部CE3空间。FPGA低三位地址线FPGA与的地址线连接,高5位1_ADDR20DSPDSPADDR42FPGAADDR73与DSP的GPIO连接。当所有的FPGA位都为零时寻址匹配寄ADDR73FPGA存器,任意一个不为零时寻址FPGA内部存储器块寄存器。匹配寄存器用于对预匹配过程进行控制和获取匹配结果,存储器块寄存器用于控制存储块读写。表31FPGA寄存器地址映射表CE3ADDR70】对应FPGA的操作映射到DSP的地址O0000,0000EXTCE00,EXT_CEL10XB000,0000O0000。0001EXTCE0I,EXTCEI00XB000,0004O0000,0011寻址预匹配结束标志寄存器0XB000,000CO0000,0100寻址预匹配结果标志寄存器一0XB000,001000000。0101寻址预匹配开始控制寄存器0XB000,0014O00000110寻址FPGAGPIO寄存器0XB000,0018OREINN,N000FPGA内部存储器块控制寄存器0XB000,0000ONNNN,N001FPGA存储块数据寄存器0XB000,00041XXXFPGA不被选中FPGA中每个寄存器为32位,将DSP中EMIF的CE3外部空间配置为32位16第三章系统硬件及其驱动设计异步存储器模式。外部片选信号EXT_CE0用于选通指纹采集头MBF200,EXT_CM用于选通USB设备芯片PIDUSBDL2。地址映射如表31所示。表中用NRMN,N来表示任一位不为零的地址线数据。34UART接口UART接口是对键盘和液晶构成的人机界面的补充。通过UART接口输入命令符可以完全控制系统的运行并且比键盘拥有更高的优先级和更多的控制方式,同时系统程序的更新和指纹图像上传也通过UART接口通信来完成。由于在TMS320C6713芯片内并不带有硬件UART设备,因此只能通过外扩UART芯片和软件模拟时序的方法【8】来实现此接口。本文采用后者,通过DSP内部的MCBSP设备来模拟实现UART通信。为了充分利用DSP的内部资源,提高运行效率,本系统还利用了DSP内部的EDMA设备,实现了在不需要CPU干预的情况下UART接口数据的自动收发。341UART简介UART标准是比较成熟的串行数据交换协议,因为它是异步的,所以通信链路不需要发送是中信号。UART传输协议中含有用来帮助同步接收器接受数据的起始位和停止位。数据序列中一个高点平到低电平的转变标志着传送的开始。在开始为后,数据位首先从LSB串行发送。奇偶效验位是可选的,这取决于UART的格式。每帧数据都以停止位结束通常为逻辑高电平。342MCBSP简介MCBSP9】为多通道缓冲串口MULTICHANNELBUFFEREDSERIALPORT的简称,TMS320C6713的MCBSP是在TI的前几个系列的DSP的基础上发展而来的,其结构如图33所示。MCBSP的基本功能包括图33MCBSP结构框图电子科技大学硕士学位论文全双工串行通信;双缓冲数据寄存器,允许连续的数据流;收发独立的帧同步和时钟信号;可以与工业标准的编解码器、AICS模拟接口芯片以及其他串行AD、DA接口;数据传输可以利用外部时钟或片内的可编程时钟;当利用DMA为MCBSP服务时,串口数据读写具有自动缓冲能力。343EDMA简介扩展的直接存储器访问101ENHANCEDDIRECTMEMORYACCESSCHANNELCONTROLLER是C621XC671XC64X特有的访问方式。EDMA控制器负责片内L2存储器与其他外设之间的数据传输。EDMA控制器结构如图34所示,由以下几个部分组成事件和中断处理寄存器事件编码器参数RAM硬件地址产生图34EDMA结构框图181L器。一0EX。TE“J的辫第三章系统硬件及其驱动设计其中,事件寄存器控制对EDMA事件进行捕获。一个事件相当于一个同步信号,由它触发一个EDMA通道开始数据传输。如果有多个事件同时发生,则由事件编码器对他进行分辨。EDMA的参数RAM中存放了有关的传输参数,这些参数会被送入地址发生器硬件,进而产生读写操作所需要的地址。344使用MCBSP模拟UART时序3441硬件连接根据UART协议,在不需要硬件流控的条件下只需要三根线用于硬件连接一一发送TX、接受RX和信号地。硬件连接如图35所示,这里省去了电平转换芯片MAX3232和信号地。UART的发送脚TX接到MCBSP接口的DR脚和FSR脚,接收脚RX连接到MCBSP接口的DX脚。FSR脚和DR脚短接是用于判断UART发送过来的每一帧的起始位。UARTMCBSPTXDRLL_FSRRX馘图35UART信号线和MCBSP引脚连接示意图3442模拟UART时序UART发送接收数据的波特率固定,本系统中的波特率为115200BITS。使用MCBSP来模拟UART时序有两种方法,第一种是MCBSP工作在正常的串口模式,通过配置寄存器用标准串口时序来模拟UART时序,第二种是将MCBSP配置为GPIO,通过直接操作三个引脚来模拟时序。通常操作GPIO需要占用大量CPU资源且无法通过DMA来传送,在编程上也较直接串口模式复杂,本文选用将MCBSP配置为标准串口模式来模拟UART时序。并使用EDMA来自动发送接收数据。将MCBSP的时钟源配置为内部时钟,在C671X系列DSP中MCBSP的内部时钟源为CPU时钟的12。MCBSP的发送时钟和接收时钟又称为采样时钟由MCBSP内部时钟源分频而来,通过采样率发生寄存器SRGR中的CLKGDV段来设置。采样时钟频率公式为19电子科技大学硕士学位论文采样时钟MCBSP内部时钟CLKGDVI;31CLKGDV的最大值为255,MCBSP的时钟源为CPUCU2,因此在CPU时钟频率为300MHZ的情况下采样时钟频率最小为585937KHZ,这个时钟大于UART传输的波特率115200BITS。很明显,MCBSP接收数据的N位数据才表示UART传输的一位数据。为了便于编程,本系统中MCBSP的采样时钟为UART波特率的16倍。这样UART的LBIT对应于MCBSP的15BIT,而驱动程序必须将发送的8BIT数据中的每一位扩展成16BIT发送,接收到的数据也反向操作成LBIT。每个UART字都以一个下降沿开始,这个下降沿可作为MCBSP的帧同步信号。为了以8N18个数据位,没有奇偶效验位,1位停止位的格式给UART发送数据,发送器应该分为两个部分。第一个部分包含9个16BIT的字来表示开始位和8个数据位。第二个部分包含2个8BIT字,这样编码是为了便于调整为15位停止位,来适应可能需要的其他UART格式设置。时序如图36所示。理论上,当需要发送的UART数据位为1时对应MCBSP的发送数据寄存器中数据应为OXFFFF,当需要发送的UART数据位为0时对应的MCBSP发送数据寄存器中的数据应为0X0000。实际上由于MCBSP内部时钟不可能刚好为UART图36UART时序图波特率的16倍,因此当UART发送过来的数据位为1时收到的数据可能不为0XFFFF,而为0X7FFF或OXFFFE等等。这个时候就需要额外的处理来判别是受到1还是受到0。根据实际的调试经验,最终判断方法是检测收到的16位数据的中间4位第六位到第九位,若这段数据值为0到LO,则认为收到数据位值为0,否则为1。3443MCBSP寄存器配置通过上面的分析,如何模拟UART时序已经非常清晰,下面描述MCBSP几个主要寄存器的配置。第三章系统硬件及其驱动设计O154132“10O00O10117654321OOO0O100图37MCBSP引脚控制寄存器。FS讧L和FSXP1,由MCBSP内部产生发送帧信号且低电平表示帧开始;FSITMO和FSRP1,由外部产生接收帧信号且低电平表示帧开始;CUTMCIKXM1,串口时钟由内部采样时钟发生器产生。3AOZ32201817B1100010115148750O1口叩010Q图38MCBSP接收控制寄存器313024232201口1871611DOT001001S148754001000010O图39MCBSP发送控制寄存器RXPHASE1。由于每个UART帧分成两个部分传送接收,因此发送和接收的帧包含两个相位;RXFRLENL8。UART发送接收的第一部分包含1个起始位和8个数据位,因此MCBSP第一个相位包含9个单元;。RXFRLEN21。U舢玎发送接收的第二部分包含1个停止位,由两个8BIT数据表示,因此MCBSP第二个相位包含2个单元;RXWDLENI2。第一个相位为16BIT字;RXWDLEN20。第二个相位为8BIT字;RXFIG1。当接收数据时,由FSR引脚的下降沿来触发一帧的接收,开始接收后FSR引脚上的下降沿信号被忽略。21电子科技大学硕学位论文图3LO采样率产生寄存器FSM0。发送帧同步信号FSX在每次从DXR到XSR复制时产生;CLKSML。采样时钟由内部CPU时钟分频产生CLKGDV51。当UART波特率为115200时对应的MCBSP内部时钟分频值。3444EMDA寄存器配置为了减少UART收发对CPU的占用,UART的收发使用EDMA来控制。由于发送和接收过程独立,因此需要两个EDMA通道,一个用于控制发送数据,另一个控制接收数据。EDMA的寄存器数目较少,设置比较简单。配置每次EDMA的传输长度为11个单元,即1个开始位、8个数据位和2两个停止位。对于发送通道,源地址为发送缓冲区首址,并配置为自动加一模式,目的地址为MCBSP发送寄存器地址,配置为每次传输后目的地址不变。每次发送数据前只需要将要发送的数据拷贝到发送缓冲区,启动EDMA后就自动发出。对于接收通道,目的地址为接收缓冲区首址,并配置为自动加一模式,源地址为MCBSP接收寄存器,配置为每次传输后目的地址不变。每次接收到UART接口上的下降沿也就是开始位就会触发MCBSP接收一帧数据,接收完UART的每位后MCBSP又触发EDMA将接收到的数据拷贝至接收缓冲区。345I,ART驱动设计通过上面对硬件连接和时序模拟分析得出,UART驱动主要包括三个部分,MCBSP设备初始化、EDMA设备初始化和UART数据解析。UART数据解析是指按照3442节描述,对需要发送的数据扩展为16位数据,对接收到的数据进行判别。驱动程序除了初始化所用到的硬件设备,为了便于系统程序开发和升级,还需要提供方便的函数接口供应用程序调用。对于硬件设备的初始化,按照上面的第三章系统硬件及其驱动设计说明,作为系统硬件初始化的一部分在系统初始化的时候运行,这里不再赘述。本节主要描述UART驱动程序对数据流的处理。在本系统中UART接口主要用于命令符输入、系统运行状态显示和程序、图象上传下载。当输入命令符和运行状态显示时UART为少量数据传输模式,当数据上传下载时为批量数据传输模式。对于两种不同的用途,UART驱动提供了不同的函数接口以提高批量传输的效率。3451UART少量数据传输模式当UART需要传输少量数据,函数SERIAL_READ_BYTE0和SERIAL_WRITE_BYTE0用于控制UART数据接收和发送。在这种模式下,同时配置两个EDMA设备,分别由MCBSP的每一次发送和接收事件触发,控制发送和接收的EDMA通道一次数据搬移的长度设为11,也就是说当收到11个MCBS
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论