指纹,由于其具有终身不变性、唯一性和方便性,已几乎成为生物特征识别的代名词。在指纹识别应用市场上智能手机上的指纹识别占了很大的比例,如今这项技术正方便着我们的生活。而本文介绍的是一款使用FPGA的指纹识别系统电路。
本设计选用具有高集成度、低功耗、短开发周期的FPGA来完成此项设计,以实现系统的ASIC为研究背景,具有很强的现实意义和广阔的市场空间。 采用xilinx公司Spartan 3E系列FPGA作为核心控制器件,这款器件采用90ns的工艺,最大容量50万门,可支持32位的RISC处理器,具有128 Mbit 并行Flash,足以满足设计的要求。该项目利用嵌入式软核实现系统的管理,利用硬件实现识别算法,保证了系统功能的完整性与识别的正确性。
指纹采集模块
本设计中采用的是富士通的MBF200指纹传感器,MBF200硬件框图如图1所示,采用SPI模式,所以MBF200与FPGA只通MISO,MOSI,/S/C/S,SCLK四个端口相连接。 /S/C/S为MBF200的使能端,SCLK为MBF200的系统时钟,当需要采集指纹信号时,FPGA向/S/C/S发送低电平,则MBF200开始工作。FPGA通过MOSI向MBF200发送控制命令,控制MBF200的数据输出方式及传输模式。VDD[3:1]为数字电源输入,VDDA[2:1]为模拟电源输入,VSS[3:1]为数字地,VSSA[2:1]为模拟地,所以如图所接。而为了防止数字信号对模拟信号的干扰,用10欧电阻隔开。并且数字电源输入与相应的数字地之间均接有电容用来阁除非直流信号。为了防止数字地与信号地之间的干扰,本设计采用0欧电阻隔离。0欧电阻相当于很窄的电流通路,能够有效地限制环路电流,使噪声得到抑制。电阻在所有频带上都有衰减作用(0欧电阻也有阻抗),这点比磁珠强。
图1 MBF200硬件连接电路
MODE[1:0]引脚是用来设定MBF200所用接口模式的,在本设计中,置MODE[1:0]为01,选定SPI传输模式。 在SPI模式当中,AIN,ISET,FEST三个接口都不会用上,但根据MBF200内部电路结构,最好接电阻与地相接。
指纹数据处理模块
由于指纹数据处理涉及很多算法,运算量大,所以本系统在Spartan-3E开发板上嵌入一个Microblaze软核来进行数据处理,首先将SPI口传输进来的数据送人SDRAM进行存储,开发板上带有32M的SDRAM,完全可以存储很多张指纹数据。在创建指纹数据库时,系统从SDRAM中取出数据,放入Microblaze进行处理,再将处理后的指纹数据信息存入FLASH组建指纹数据库。在比对模式时,利用Microblaze进行数据处理后的数据扔存入SDRAM,然后从FLASH和SDRAM分别提取指纹图像特征数据进行比对,得出比对结果。
指纹数据存储模块
trataFlash与FPGA管脚连接图如图2所示。 CE[2:0]为strataFlash使能信号输入端口当只用一个片子时,CE[2:1]接地只用CE0控制。由于在本设计中,FPGA与FLASH之间的数据传输D[0]与FPGA对MBF200的控制线MISO复用,所以从FLASH里取数据与控制MBF200产生冲突,时序不好控制,所以本设计中将会给BYTE#置高关闭A0,将strataFlash置于X16模式。 D[7:0]在写模式下,传送控制命令在写CUI时,在缓冲器写和编程模式下。在读模式下,D[7:0]发送CFI、数据阵列和标志数据。状态寄存器的数据将不通过这8位传输。 VPEN是锁定使能输入,当VPEN《VPRNLK时,内存将不允许写入数据或者命令。
图2 FLASH输入存储模块硬件控制图
本系统采用xilinx公司Spartan 3E系列FPGA作为核心控制芯片,通过富士通公司的MBF200指纹传感器实现对指纹图象的采集,利用SPI接口传输到FPGA进行数据的存储,利用内嵌的MicroBlaze处理器对指纹图象进行灰度滤波、二值化、二值去噪、细化等预处理,得到清晰的指纹图象,再从清晰的指纹图象中提取指纹特征点并存入指纹数据库作为建档模版。指纹比对时,采用同样的方法,得到比对模版,然后将比对模版与建档模版利用指纹识别算法进行比对,得出比对结果。该项目利用嵌入式软核实现系统的管理,利用硬件实现识别算法,保证了系统功能的完整性与识别的正确性。该识别系统可用于门禁、考勤、证件管理等很多方面,具有很广泛的应用前景。
编者结语
本设计选用具有高集成度、低功耗、短开发周期的FPGA来完成此项设计,以实现系统的ASIC为研究背景,具有很强的现实意义和广阔的市场空间。该项目利用嵌入式软核实现系统的管理,利用硬件实现识别算法,保证了系统功能的完整性与识别的正确性。