导言
跟着科学技能的开展,指纹辨认已经成为现在最为有用、运用最为广泛的生物辨认技能,尤其在民用生物辨认技能中。指纹辨认技能已经在金融、医疗、公安、门禁体系等范畴得到了广泛的运用。
传统的指纹辨认体系都是依据PC机的,这种体系具有辨认速度快、样本存储量大、软件规划技能老练等长处。可是,依据PC机的指纹辨认体系因为价格昂贵、移动功用差、功耗高级缺陷约束了其运用的进一步扩展。自二十世纪末以来,半导体技能和嵌入式技能的快速开展,为人们规划廉价的便携式指纹辨认体系供给了一个技能上的完成渠道。 本文介绍了一种依据ALTERA公司推出的SOPC(System on a Programmable Chip,片上可编程体系)技能的指纹辨认体系的规划计划。该体系以ALTERA公司的Cyclone II系列FPGA和NIOSII软核处理器为中心,并选用富士通公司的MBF200指纹收集芯片规划,是一种简略有用的嵌入式指纹辨认体系。
1、指纹辨认体系原理
指纹辨认体系一般由指纹图画收集、指纹图画预处理、指纹特征提取、指纹特征匹配、特征数据库等几部分组成。指纹辨认体系的原理框图如图 1所示。该体系首要由指纹收集设备收集到指纹图画并将其转化为数字图画;然后对指纹数字图画进行预处理,再经过图画增强、切割、滑润、细化等处理进程得到便于指纹特征提取的数字图画:接着提取细化后的图画细节特征点;最终将提取到的特征与特征数据库中的特征数据进行匹配,并输出辨认成果。
2、体系硬件规划
2.1 SOPC技能与NIOS II软核处理器
SOPC (System on a Programmable Chip,片上可编程体系)是ALTERA公司提出来的一种灵敏、高效的SOC处理渠道。它将处理器、存储器、I/O口、LVDS、CDR等体系规划所需求的功用模块集成到一个PLD器材上,然后构建成一个可编程的片上体系。依据SOPC技能的体系规划非常灵敏,用户能够依据自己的实践要求,并运用IPCore资源组合构建出不同的运用体系,然后完成软硬件协同规划。
NIOS II软核处理器是ALTERA公司于2004年推出的通用32位RISC CPU,它能满意任何运用32位嵌入式微处理器的需求.用户能够获得超越200 DMIPS的功用。NIOS II软核处理器具有32位处理器的根本结构单元(32位指令巨细,32位数据和地址途径,32位通用寄存器和32个外部中止源),规划者能够依据体系需求的改变来调整嵌入式体系的特性,以挑选满意功用和本钱的最佳计划。
Nios II系列可支撑用户自定义指令,而NIOS II ALU则直接与用户自定义的指令逻辑相连。因为规划者能为体系中运用的每个Nios II处理器创立多达256个专用指令,因而,规划者能够调整体系硬件以增强对实时软件算法的处理才能。ALTERA公司一起还推出了Nios II集成开发环境(IDE)和一些常用的免费IP核,以便利规划者的软件开发。别的,规划者运用Altera公司Quartus II开发软件中的SOPC Builder体系开发东西还能够很简单地创立专用的处理器体系,并能够依据体系的需求增加Nios II处理器核的数量。
2.2 体系硬件结构
一般的指纹辨认体系首要由指纹收集模块、体系中心模块、数据存储模块和输出显现模块等几部分组成。其体系硬件结构框图如图2所示。
本体系中的收集模块选用富士通公司的MBF200指纹传感器芯片,该芯片的分辩率高达500dpi(dots per inch),并带有8bit数据接口,能够收集300×256巨细的指纹数字图画。MBF200芯片供给有三种接口(SPI、USB和MCU)办法,本体系中选用MCU办法,其内置的规范8位微处理器总线使其功用大大加强。MBF200的作业流程分为两部分:首要是初始化参数的设置,即便MBF200设置相应的参数,然后挑选其作业办法;其次是选用查询等候办法收集指纹数据。
因为体系每次收集的指纹图画数据量达几十KB,故在体系中心模块中集成了一个硬逻辑协处理器。这个协处理器担任查询指纹芯片的状况和指纹图画数据收集存储使命。该协处理器是用硬件描绘言语规划的一个有限状况机,其状况机模型如图3所示。
体系复位后,协处理器将进入闲暇状况并等候主处理器的复位信号;当正确接收到主处理器的复位信号后,协处理器进入查询状况;查询状况首要查询指纹芯片的中止状况位,当查询到有用中止状况位后,体系将进人数据收集存储状况;在数据收集存储状况,协处理器从指纹芯片读出数据并保存在体系的存储区SRAM中,读完整个指纹图画后即向NIOS II处理器宣布中止信号偏重新进入闲暇状况,以等候主处理器复位。
本体系的中心模块是在ALTERA公司的Cy-clone II 2C35上完成的,相应的软件开发套件包含Quartus II 5.0和NIOS II 5.0集成开发环境(IDE)。Cyclone II系列FPGA是ALTERA公司最新推出的低本钱、高性价比的通刚FPGA,CycloneII 2C35具有32,216个LE单元、105个M4K RAM块、35个嵌入式乘法器,完全能够满意体系的功用要求。
经过QuartusII中的软件东西SOPC Builder可完成NIOS II处理器的创立和各种IP模块的办理和装备,以构建体系的中心模块。图2中,依据体系的实践要求由SOPC Builder装备的处理器中心包含NIOS II处理器、指纹卡PIO、协处理器PIO、Avalon Tri-Atate Bridge、UART模块和LCD PIO等模块。装备好这些模块后,便可进行体系生成。SOPC Builder在体系生成进程中可生成HDL源文件和BDF文件。SOPC Builder为定制的NIOS II中心模块创立的一个符号(Symbol)就寄存在BDF文件中,用户能够在Quartus软件中运用该符号。本体系中心模块是运用Quartus的符号表文件编译生成的。
数据存储模块包含512 KB的SRAM和4 MB的FLASH。SRAM用来寄存收集到的指纹图象数据和程序运行时的暂时数据。4 MB的FLASH则用于寄存体系运用程序和特征数据库。体系的辨认成果能够经过LCD输出。
3、体系软件的规划
体系软件可运用C言语在NIOS II集成开发境下开发。Nios II集成开发环境(IDE)是Nios II软核处理器的首要开发东西,包含修改、编译和程序调试。Nios II IDE为软件开发供给了一个集成的规划开发环境。它有一个包含工程办理、源代码开发和依据JTAG调试功用的图形界面(GUI),故可大大简化杂乱的 Nios II处理器规划。
指纹辨认算法流程首要包含布景切割、方向图核算及方向滤波、二值化、细化、特征提取和特征匹配等。收集的指纹图画简单遭到各种因素的影响而使图画质量变差,比方手指按压的方向和力度、皮肤的干湿程度、传感器的特征差异等。因而,指纹辨认算法首要要对指纹图象进行处理,以把有用的远景信息和布景区分隔。本体系算法选用方差法进行图画切割。
然后选用依据块方向图核算的方向滤波。接着运用动态阀值法进行二值化处理,以把指纹灰度图画转化为仅用0、1表明的二值图画。对二值化后的二值图画进行细化可得到骨架图象。接下来的特征提取阶段是用模板匹配的办法获取细节特征点(端点、分叉点)的方位、方向和类型信息。最终和特征匹配则选用依据细节特征点匹配的算法。
4、结束语
本文给出了一种依据SOPC的指纹辨认体系的规划计划。运用SOPC技能进行体系规划具有开发周期短、规划灵敏、可把若干外部模块归纳规划到一片高密度FPGA中等长处,一起规划更细巧、本钱更低、更便于体系升级。尽管现在SOPC技能还处于推行阶段,但国内外已经有许多高校和公司进行了实践运用方面的研讨。因而,咱们有理由信任,SOPC技能在不久的将来必定会有更宽广的运用空间!
责任修改:gt