




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于FPGA勺指纹识别系统设计第一章绪论i.i设计背景生物识别技术是利用人的胜物特征进行身份认证的技术,人的指纹就是生 物特征之一。此外,生物特征还包括虹膜、视网膜、声音和脸部热谱图等。指纹 识别是生物识别技术中最为成熟的,具唯一性、稳定性,一直都被视为身份鉴别 的可靠手段之一。由于最早的指纹识别技术仅仅依靠人工对比,工作效率低下、比对正确率低、对比对人员的要求高,从而使得指纹识别技术无法得到广泛应用。 但随着计 算机的出现及其运算速度的迅速提高,使指纹对比鉴定的应用发生了革命性的变 化。使用计算机管理指纹数据库,极大提高了指纹对比的速度,同时由于计算机比 对算法的不断改进提高,使指纹比对误识
2、率已降到了 10 - 6 以下,不仅可以满足 刑侦方面的需要,而且迅速进入了更多的应用领域。随着光学技术和光学仪器加工工艺的进步,各种采集指纹图案进行身份认 证的系统和设备中需要配备的高清晰、无畸变光学采集仪也达到了很高水平,确保可以生成高质量的指纹图像。计算机运算速度的提高和计算机小型化的进展,使采用微机甚至单片机也可以进行指纹对比运算成为可能。 现代电子集成制造技 术使得我们可以生产出相当小的指纹图像读取设备和指纹识别模块。具成本下降得也很快,大大加快了指纹识别技术的推广速度。同时人们对消费类产品的要求越来越趋向于小型化,并且对可携带设备的 安全性要求也与日俱增。传统的PG MCU或者DS
3、P勺处理平台移动性比较差,体 积比较大,无法满足人们日益增长的需求。所以,设计一套体积比较小、速度更 快的嵌入式指纹识别系统是非常有意义的。藏锋者专业网络安全免费论文:.cangfengzhe./lunwen/而本设计正是为了这一目的,选用具有高集成度、低功耗、短开发周期的 FPG廉完成此项设计,以实现系统的ASIC为研究背景,具有很强的现实意义和广 阔的市场空间。本系统采用xilinx公司Spartan 3E系歹FPG将为核心控制器件,这款器件 采用90ns的先进工艺,最大容量50万门,可支持32位的RISCt理器,具有128 Mbit 并行Flash,足以满足设计的要求。该项目利用嵌入式软
4、核实现系统的管理,利 用硬件实现识别算法,保证了系统功能的完整性与识别的正确性。而识别算法我们采用美国FBI推荐的特征点匹配算法来实现指纹的识别, 更保证了系统的实现。 1.2课题目标和研究容课题目标:以FPGA乍为核心控制器件,实现指纹图像的采集、存储、处理和比对等, 完成对指纹图像的有效识别。研究容:本系统采用xilinx公司Spartan 3E系列J FPG将为核心控制芯片,通过富士 通公司的MBF2001纹传感器实现对指纹图象的采集,利用 SPI接口传输到FPGA! 行数据的存储,利用嵌的MicroBlaze处理器对指纹图象进行灰度滤波、二值化、 二值去噪、细化等预处理,得到清晰的指纹
5、图象,再从清晰的指纹图象中提取指 纹特征点并存入指纹数据库作为建档模版。指纹比对时,采用同样的方法,得到比对模版,然后将比对模版与建档模版利用指纹识别算法进行比对,得出比对结 果。该项目利用嵌入式软核实现系统的管理, 利用硬件实现识别算法,保证了系 统功能的完整性与识别的正确性。该识别系统可用于门禁、考勤、证件管理等很 多方面,具有很广泛的应用前景。藏锋者专业网络安全免费论文:.cangfengzhe./lunwen/1.3研究意义生物识别技术越来越多地被应用于身份验证领域。指纹因其惟一性、终生 不变性和较低的识别成本而成为目前使用最广泛的生物识别技术,在罪犯识别、 社会保险、电子商务、信息安
6、全等领域得到广泛的应用。便携式的指纹识别技术对我们的生活也具有深远的意义。例如,今后警察可在一个犯罪高发区截住一名嫌疑人,要求其提供指纹而不是或汽车驾照。此人则将其右手的第一、二或第三个手指置于一个与无线PD仰目连的传感器上,可以迅速将嫌疑人与以前的犯罪记录进行对比确认。这种识别技术对于被盗的手机用户也有好处。手机开机时要求用户通过一个快速的认证过程,用户将其手指划过传感器,如果通过认证则授权使用手机 的各项功能。如果不是授权用户,手机便继续保持锁住。如果连续几次认证无 法通过,则手机会删除存储器中的关键信息然后关机。在语音的应用中,当拨出一个语音后,用户只需将手指划过传感器便可令 系统识别。
7、有了指纹识别后,便无需使用密码或个人识别。在今后的汽车应用中,用户可输入家庭成员指纹样本,经鉴权才能驾驶。 注册过程十分简单:每个授权驾驶的成员将其手指置于传感器上,并将汽车的 各种参数按个人爱好进行设置,然后将这些设置存入车载的电脑存储器中。当驾驶者进入汽车时,他/她将手指置于传感器上,启动识别过程。不到一秒钟,电脑将检测到的指纹模板与存储的模板进行比较,藏锋者专业网络安全免费论文:.cangfengzhe./lunwen/并建立一个与驾驶者相符的相关设置。指纹模板和匹配软件保存在汽车的一个嵌入式模块中。当指纹匹配成功时,汽车便按已编程设定的部参数来控制后视镜、汽车座椅、无线基站以及车空气环
8、 境。止匕外,还可控制驾驶速度,如果驾驶者仅为十来岁的孩子,则将速度限制 在每小时55公里。这些功能的实现具有非常多的用处。可见,指纹识别技术的应用可以使我们的生活更加方便快捷,更加安全。同时本项目重点研究基于 FPGA勺指纹识别系统,利用 FPG*集成度化,低功 耗,短开发周期等优点,实现系统的ASIC,具有更加深远的意义和广阔的市场商机。第二章系统总体设计硬件框图及各模块介绍:系统采用xilinx 公司Spartan - 3E系列FPGA乍为核心的控制和运算芯片, 数据采集模块由富士通公司的 MBF20(ft容式指纹传感器来完成,MBF200旨纹传 感器可以完成指纹图像的采集并用其自带的A
9、/D转换器将指纹图像转换成数字信号,利用SPI接口传送至FPGA3行存储。由FPGA#理采集来的数据,由于 FPGA部存储空间太小,无法存储一完整的指纹图像,所以将指纹数据暂时存储 在SDRAMK当处理图像数据时,FPGAffi过t取SDRAMW旨纹数据,并在其逻 辑单元中进行滤波、灰度归一化、二值化、细化和特征值提取等操作,从而获得 重要的指纹图像信息。系统操作时首先利用键盘选择指纹存储模式,将获得的指纹图像信息存储到FLASHY作为指纹数据库,然后切换到指纹识别模式,再利用上述方法获得指 纹图像信息。通过FPGAM用指纹数据库中的数据,寻找与之匹配的指纹信息, 最后将比对结果在LCD中显示
10、。本系统还可利用RS232与计算机进行通讯,可以 方便扩展,使得系统可以应用到更多的领域。系统框图如下图1。LCDSDRAM ;:KEYBORDMBF200;FPGAFLASHRS232图1系统框图项目关键技术及创新性:传感器的选择目前,市面上存在很多种类的指纹传感器,应用最广泛的有光学、电容、电磁波、压力、微电机和热学指纹传感器。而本系统采用美国富士通公司的 MBF200 电容指纹采集传感器来实现对指纹图像的采集,该款指纹传感器采用标准的CMOS 技术,含有8位A/D转换器,工作在3.3V5Vl勺宽电压围,能自动检测是否有指纹 到达传感器,并实现在线采集,它的最大优点是在保证指纹图像高分辨率
11、(500dpi) 的同时大大减少了传感器的尺寸。利用此传感器可以完全满足系统的设计任务。指纹图像的预处理图像预处理的主要步骤包括:灰度值归一化、图像分割、滤波、图像增强、二值化、细化等。预处理的目的是改善输入指纹图像的质量, 以提高特征提取的 准确性。原始指纹图像一般存在噪声污染、脊线断裂或脊线模糊等问题,需要进行图像增强(使用滤波技术)以改善质量。由于指纹特征仅包含在脊线的形状结 构中,所以,通过归一化、二值化和细化把深浅不一、宽度不同的脊线变成灰度相同、单像素宽的细脊线,以便于特征提取。(1)图像归一化归一化处理是对原始指纹灰度图像上每一象素点的一种操作,人为改变它Mi和方差Vi o子的灰
12、度值,消除指纹录入传感器表面的残留噪音以及手指按压力差异对指纹图像 的影响,把图像分为w w的子块,对于每一子块求其灰度均值块灰度均值和方差的计算按如下公式: TOC o 1-5 h z 1wwMi I ( x , y )(1)ww x 1 y 1w wVi I ( x, y ) Mi 2w w x 1 y 1其中I (x, y)为子块中象素(x, y)的灰度值,子块归一化的目的是调整均值和方差到一个期望的围,如果用 G(i , j)表示(x, y)点的归一化后的值,那么第I个子块归一化后灰度值为:G (i, j)I (i,I( i,Var0(I(i,j) Mi)2Var0(I(i, j) M
13、i)2如果:Mo4一V; M,则把灰度值为 Mo d-V;- 全部归0作为背景处理,这样可以有效地去除传感器表面残留纹印引入的噪声。其中M。,Var。均为期望的均值和方差,M为实验后得到的门槛值,I(i,j) Mi为像素点的灰度幅度,经比率调制后,加到期望的均值上。使得原来方差大的点归一化后幅度更大,反之相反;而灰度值大或者小于均值的点,归一化后继续大或 小于期望均值,而且归一化为点操作,不会改变指纹的纹理结构(2)图像分割在采集到指纹图像后,首先要进行指纹图像分割,即把图像分割为指纹区 与非指纹区,目的是割除白背景区和背景区,保留前景区,尽可能保留模糊区中 能恢复的部分,以便后续处理能够集中
14、于有效区域, 这不仅能提高特征提取的精 确度,还能大大减少指纹预处理的时间。目前常用的指纹图像分割的一般方法是: 一种是基于图像灰度特性的灰度均值分割, 这种分割容易把有效部分割除掉,而 把用力重的模糊不清的区域保留;另一种是基于灰度方差的阈值分割,这种单一 分割方法不适合低对比度的图像;第三种是基于指纹纹理的方向性,利用方向图 对指纹图像进行分割。这种方法的分割效果依赖于所求点方向图及块方向图的可 靠性,对图像灰度的对比度的高低并不敏感。 但是对于指纹不连续、单一灰度等 难以正确估计的区域及中心、三角附近,方向变化剧烈的区域,方向图分割则难 以取得令人满意的效果。我们将指纹图像分为前景区、背
15、景区、模糊区和白背景区,其中白背景区 是指指纹图像中不含指纹纹线的边界区域,这类区域也是应该包括在割除的区 域,所以为了能正确划分这4类区域,更准确地割去白背景区和背景区,并保留 前景区和模糊区中可恢复的区域,把整个分割过程分为 3级,分割的基本单元为 8 8大小不相交叠的块。第一级分割为白背景区分割,第二级分割为模糊区分割, 第三级分割为背景区分割,白背景区灰度均值很低,而且由于没有纹线峰和谷的 变化,方差也很小,因此白背景区的判断采用:(1)块灰度均值:1515I (i m 8, j n 8)mean(2)块灰度方差15152(I (i m 8, j n 8) mean)i j 0var
16、iance 8 8第一级分割的判决为:当meanj、于预定义的阈值T1且variance也小于预定 义的阈值T2即同时满足上述两个条件时,该块为白背景块,删除掉。第二级分割的判决区域为1级分割后保留下来的非白背景区域,其目的是找出模糊区,其判决方法为:设定特征量:Z C0nt上,其中contrast 8 &meann1 n2n1:表示块中灰度值大于或等于块灰度均值的点数;1:表示块中灰度小于块灰度均值的点数;G:块中灰度值大于或等于块灰度均值的所有点灰度之和;t2 :块中灰度值小于块灰度均值的所有点灰度值之和。当Z、于预定义的阈值T3时说明该块为墨迹很浓,峰和谷被墨迹粘连混淆的 区域应去除。第
17、三级分割设定特征量contrast1 mean ,当对比度contrast1的值小于 variance预定义的阈值T时,将其设定为背景区域;否则,作为前景区域,保留其灰度值, 以作后续处理。(3)指纹图像二值化二值化,就是把灰度图像转变为黑白相间的二值图像,通过设定一个全局 阈值对增强后的指纹图像转变为用0、1两种灰度表示,0代表脊线,为黑象素, 作为前景。1代表谷线,作为白象素。处理方式如下:1; f (i, j) T 脊线1 1 J 0; f (i, j) T 谷线由于采集到的指纹图像不同区域深浅不一,如对整幅图像使用同一阈值进行二值分割,会造成大量有用信息的丢失。这里我们使用自适应局部阈
18、值二佰 化的思想,既将图像分割成多个小块,对每个小块进行分别计算,局部阈值的选取参考局部块的各个像素,而且选取的阈值应尽量使该块图像大于该阈值的像素点数等于小于该阈值的像素点数,这样可以使阈值具有自适应性,不会使大量有用信息丢失。自适应局部阈值二值化的流程图如图2:图2自适应局部阈值二值化流程图图2中T为该块指纹图像的平均灰度值 Nh Nl分别为第(k, l )块指纹图 像中灰度值大于等于T和小于T的像素点数,6= w w X1(% , w是分块尺寸(像木)o图像的细化细化是把清晰但纹线粗细不均的二值指纹图像转化成线宽为一个象素的条纹中心点线图像的过程,以便后续的特征提取过程能精确定位。细化算
19、法中的 OPTAJ法满足收敛性、连续性、拓扑性和保持性,有较好的细化效果。但该算 法在三叉点处不能完全细化,且细化后的图像不够平滑,毛刺较多,扭曲较大。0X10110X11X01101X000X011X1X针对其算法的不足进行改进,重新构造模板,采用统一 4 4模板,左上角3 3区 域为消除模板区域。000X1X111111X1X000X00110X1XX1X01100XX1X110X00图3:指纹图像消除模板X1X00110X1X0XXXXXX000110XX1XXXXXXX1X0110XX00XXXXX0XX111XX1XX000XX0XXX1XX110XX00XX0XXX1XX011X0
20、0XX图4指纹图像细化保留模块保留模板和消除模板如图3、4所示,1表示前景区,0表示背景区。细化 时,对每个像素抽取其临域所需的像素点。 先依次与消除模板比较,如果与任意 一个都不匹配则保留,否则删除。整个改进算法克服了原算法的不足,有效清除 了毛刺,对指纹图像能进行充分细化。指纹图像特征提取本设计结合细化图像的特点,提出了一种基于非彻底细化图像的指纹细节提取算法。在不对纹线做任何修复处理的情况下, 在细化指纹图像上直接提取原 始细节特征点集,得到初步的特征提取结果;然后分析图像中存在的各类噪声及 其特点,结合指纹细节特征点固有的分布规律和局部纹线方向信息,针对不同的噪声采用针对性算法,并利用
21、伪特征点在数学形态学上的分布规律,将各类噪声引起的伪特征点分别予以删除,而将最终保留的特征点集作为真正特征点的集 合。改进的细节特征提取算法的具体思想如下:(1)原始细节特征点集的提取首先在细化指纹图像上直接进行细节特征提取,得到原始的细节特征点集P1和P2,其中P1为纹线端点集合,P劝分叉点集合。这些点集中可能含有大量 的伪特征点需进一步处理。(2)短线与纹线间断的删除对细节特征点集P中任意两个纹线端点i1 CP1, i2 P1 ,如果它们之间 的距离(像素点数)小于D1,且A 9 -0,则认为该两点为伪特征点,予以删除。 (3)小孔的删除对细节特征点集P中任意两个纹线分叉点j 1 P1 ,
22、 j2 e P2,如果它们之间的距离(像素点数)小于D2,则认为该两点为伪特征点,予以删除(4)小毛刺的删除对细节特征点集P中任一纹线端点i P1和任一分叉点j e P2 ,如果它们 之间的距离小于D3 ,且有纹线连接该两点, 则认为该两点为伪特征点,予以删 除。(5)较长毛刺的删除对细节特征点集P中任一纹线端点i P1和任一分叉点j P2,如果它们 之间的距离小于D4,且有纹线连接该两点, 并且A 8 九/4,则认为该两点为伪 特征点,予以删除。(6)纹线叉连的删除对细节特征点集P中任意两个纹线分叉点j 1 e pi, j2 e P2,如果它们之 间的距离大致等于D5,且有纹线连接该两点,并
23、且A8Q九/2,则认为该两点 为伪特征点,予以删除。其中Ang ( i , j )为两特征点i、j的连线与水平坐标轴方向的夹角(弧度),0 ( i , j )为特征点i、j所在的局部邻域的纹线方向(弧度),A 8为Ang (i , j) 与8(i , j)之差的绝对值。D1、D2、D3、D4为距离门槛值(像素点数),本设计中经多次实验,分别取7、3、4、8。D5为指纹图像平均 纹线宽度,可通过计算得到。指纹图像匹配指纹图像的匹配就是对两个输入指纹的特征集合 (模板指纹集和输入指纹 集)进行判断,看是否属于同一指纹。指纹图像匹配算法很多,主要包括基于图 像的匹配、脊模式匹配、点模式匹配以及基于图
24、形的匹配。而基于特征点的(细 节点)的匹配算法具有简单、快速、鲁棒性等优点。目前最常用的是 FBI提出的细节点坐标模式来做细节匹配。它利用脊末梢和脊线分叉点来鉴定指纹通过将细节点表示为点模式,一个自动指纹认证问题可以转化为一个点模 式匹配问题。如 Sanjay Ranande and AzrielRosenfeld3 利用松弛法进行点匹配,Shih2hsu Chang4 等人利用二维聚类进行匹配。本设计采用了一种矢量 三角法来确定参照点的点模式匹配算法。 该算法利用矢量三角形法快速确定指纹 的参考点和旋转参数,然后将直角坐标系中的细节点转换到极坐标系中进行点匹 配,避免了在一般的点模式匹配算法
25、中选取参照点进行的逐点反复搜索而消耗大 量时间的弊病,所用的方法不依赖指纹图像的中心区域,有较强的抵抗噪声与非线性变形的能力。两幅指纹图的匹配,主要是解决旋转、平移和形变等问题。在对两幅图像进 行匹配之前就先估计它们之间的形变参数,并以此对这两幅图像进行校准。正如 Anil Jain7 等指出,在极坐标中进行细节匹配有很多的优点:指纹图像的非线 性形变往往表现为放射状,即这种形变呈非线性地向外扩。因而,使用极坐标比直 角坐标能更好地描述这种非线性形变。在极坐标中 ,我们不需要考虑输入图像与 模板图像参照点之间的平移,因为输入图像与模板图像间的平移是固定的,也就 是说对应点的坐标在参照点转换为极
26、坐标时,平移就被抵消掉了。由于两幅指纹 图像是用同一个仪器采集的,可以假定它们间的尺度变化参数为1 ,也就是说可以不考虑尺度形变的因素。因此,本设计选择在极坐标系中做细节匹配,而且只需 考虑输入图像与模板图像间的旋转形变参数。为了把细节点转换到极坐标系中去 需要在模板细节点集和输入细节点集中各选一个参照点作为相应的极坐标系中 的原点,并计算出其它细节点相对于参照点的极坐标。在本设计中采用矢量三角 形法来确定参照点。1.选取参照点的矢量三角形法定义两个点集P和Q ,其中一个点集Q表示从输入的指纹图中提取出来的 N个细节点,另一个点集P表示从模板图像中提取出来的 M个细节点。我们把这 两个点集分别
27、表示为:P = ( xP1 , yP1 ,9 P1 ) ,.,( xPM, yPM, 9 PM) Q = ( xQ1, yQ1, 9 Q1) , . . . , ( xQN, yQN, 9 QN) 其中(xPi , yPi , 9 Pi )记录了点集P中第i个特征点的三条信息:X坐 标,Y标与方向,同样(xQj, yQj, 0 Qj)记录了点集Q中第j个特征点的三条 信息:X 坐标,Y 坐标与方向。定义1若直角坐标系下的不在同一条直线上的三个有向点按逆时针次序排列,称这三个点按标准向系排列,所构成的三角形为标准系下矢量三角形。定义2如果两个同为标准系下的矢量三角形满足如下条件,则称两个矢量三角
28、形全等。(1)三对对应边长分别相等。(2)三对对应顶点间的方向角相等。(3)三对对应点的类型相同。(4)三对对应边所穿过的脊线数目相同。对模板集中的每一点A ,在指纹图上寻找与其最近的两个特征点,其一记 为R,另一个记为S ,按逆时针方向把它们连接起来组成一个三角形。把点A、点R与点S的类型(末梢点或分支点)分别记为nType1 , nType2 与nType3; 其方向角分别记为nBeta1 , nBeta2 与nBeta3。把连接点A与点R、点A与 点S、点R点S的三条虚拟的线段长度分别记为 nDist1、nDist2和nDist3;其 所跨越的脊线数分别记为nCrossNuml nCro
29、ssNum2和nCrossNum3通常情况下, 纹线数目比距离、相对角更具有鲁棒性,因此,这里我们在判断两个矢量三角形是 否全等时,增加了这个条件。我们把点类型、方向角、边长信息与跨越脊线数记入点A的对象中。如果A属于点集Q , B属于点集P ,并且下面式子均成立:(abs ( A. nDistl - B . nDistl) Td and abs ( A. nDist2 -B . nDist2) Td and abs ( A. nDist3 - B . nDist3) Td) (abs ( A. nBeta1 - B . nBeta1) T a and abs ( A. nBeta2 -B .
30、 nBeta2) Taand abs ( A. nBeta3 - B . nBeta3) Ta)(2)(A. nType1 = = B . nType1 and A. nType2 = = B . nType2and A. nType3 =B . nType3)(3)(Abs ( A. nCrossNum1- B . nCrossNum1)+abs ( A. nCrossNum2- B . nCrossNum2)+ abs ( A. nCrossNum3 -B . nCrossNum3) Tc) (4)则认为两个矢量三角形全等,且点A和点B分别是模板图像和输入图像的参照点。这里在判断两点的对应
31、跨越脊线数、方向角、边长是否相等时,都留下了一定的松弛量(Tc、Ta和Td)。由于最后要将细节点都转换到极坐标系下, 我们仅仅计算了输入图像与模板图像间的旋转角度,而不考虑两幅图像间的平移,只需将输入细节点与模板细节点都分别相对于参照点 A和B转换到极坐标 系中,然后在所有输入细节点的极角上加一个角度。 也就是说,将输入细节点与模板细节点都分别相对于参照点 A和B用下式转换到极坐标系中:.(Xi xr)2 (yi yr)2 TOC o 1-5 h z r1r,i y、geiarctan()(5)X xir其中(xi , yi ,9 i ) T 是待转换细节点的坐标,(xr , yr ,9 r)
32、 T 是参照细节点的坐标,(ri , ei ,0 i) T 是细节点在极坐标中的表示(ri表示极半径,ei表示极角,0 i表示细节点相对于参照点的方向)。A 8表示旋转 角度,满足:T0 arctan(y-yr)2x x即:0 x 0, y 0 x 0, y 0(6)2x 0, y 0式中, x xi xr, y y 寸。然后将极坐标中的模板细节点和输入细节点按极角递增的方向排序,并连接成串,并进行相似匹配,并将匹配的细节点数进行统计,若对应点的数量大于 设定的阈值则可以认为输入指纹图像和模板指纹图像是匹配的,否则,不匹配。第三章开发工具及器件简介3.1传感器介绍本设计中采用的MBF200富士
33、通公司推出的一款先进的固态指纹传感器芯 片,它除可自动检测指纹外,还带有 SPI, MCU US繇多种接口模式。MBF20英有高性能、低功耗和低成本等特点,属于电容性传感器。其电容 性传感器阵列由二维金属电极组成, 所有金属电极充当一个电容板,接触的手指 充当第二个电容板,器件表面的钝化层作为两板的绝缘层。 当手指触摸传感器表 面时,指纹的高低不平就会在传感器阵列上产生变化的电容,从而引起二维阵列上电压的变化,并形成指纹传感图像。MBF200B具有A/D转换模块,在控制寄存器的控制下,进行 A/D转换,将采 集到的电容信号变成数字信号,便于数据的传输。而且,MBF20的图像采集还支 持子图获取
34、,可以根据控制寄存器相映的配置,获取大小符合需要子图。通过配置MBF20部控制寄存器,可以选择芯片将要用到的时钟。MBF20那集成了多频振荡器,可以为芯片提供部时钟,也可以采用外部输入的时钟作为芯 片工作时钟。MBF20蚱为一款可编程的传感器芯片,具部设置了 19个控制寄存器,以完成多种功能。其具体结构框图如图5所示P0 一P1 r寄存器地址索引寄存器256X300传感阵列A0 /R/D/W/R台匕 目匕/W/A/I/T -/C/S/0 .CS1 -MOSI -控制电路MISO .SPI采样及保持DPUSBA/D转换AINEXTINT/I/N/T/R .模拟电路ISETTEST多谐振荡器-FS
35、ETMODE1MODE0晶体振荡器XTAL1-XTAL2图5 MBF20璐B结构其中256x 300点传感阵列用于产生感应电压,功能寄存器用于对芯片进行 操作控制,控制电路用于传感器与外部接口电路的控制,主要负责数据的读出与写人,地址索引寄存器与数据寄存器分别用于对功能寄存器的地址选择及数据的 读写,采样保持及AD专换电路用于对传感阵列所产生的电压进行采样。本设计采用的是SPI接口模式传输只用到MOS I MISO5个接口进行数据的读 取。MBF20的256X300专感器阵列每一列有两个采样保持电路, 每次捕获一行指 纹图像数据。行捕获分为两个阶段,第一阶段,将电容板的被选行充电到3.3V或5
36、V,在充电的同时,一个部信号使能一个采样保持电路以采样被选行的电容单 元电压;第二阶段是传感器板放电阶段,放电快慢由放电电流寄存器决定。放电 阶段结束后,可由一个部信号使能另一个采样保持电路去采样电容单元的最后电 压,充电电压与放电电压之差就是所要测量的有用传感信号电压。行捕获结束之后,接着对该信号进行数字化,从而完成一次采样。实际上,该芯片的灵敏度是 由放电电流和放电时间寄存器来调节的。在实际应用当中,可以通过给MBF200 部控制寄存器赋值,来调整指纹图像的清晰程度。3.2 Spartan-3E开发板介绍Spartan-3E开发板的主要特征如下:1)多达232个用户I/O 口,320个FP
37、GA装管月却超过1000办逻辑单元。4Mbit 的 Flash 配置 PROM64 个宏单元的 XC2C64A CoolRunner CPLD64 M Byte (512 Mbit) of DDR SDRAM, 乂 16 数据接口,100+ MHz。16 MByte (128 Mbit) of 并行NORFlash (Intel StrataFlash) : FPGA 配置存储,MicroBlaze代码存储/映射。16 Mbits of SPI serial Flash (STMicro) : FPGA已置存储,MicroBlaze 代码存储/映射。16字符2线式LCD示屏。PS/2鼠标或键盘
38、接口,VG“示接口。10/100以太PHY(要求FPGAB具有以太MAC。2个9 管脚的RS-232端口( DT序口DCI种类型)。FPGA/CPLDF 载/调试 USB1 口。50Hz时钟晶振。1线式的SHA-佗流复制保护串行EEPROMHirose FX2 扩展连接口。3个管脚扩展连接器。16)4个SPI-DAC专换器输出管脚。2个SPI带可编程增益ADCJ入管脚。ChipScope?软件调试接口。19)带按钮的旋转编码器。8个单独的LED俞出。4个滑动开关,4个按钮开关。SMAM钟输入。8管脚插槽辅助品振。3.3开发环境介绍本设计采用的开发环境有 Xilinx的集成软件环境ISE和32位
39、嵌入式处理 器集成开发环境EDK两者配合适用,本设计中我们用 EDKft FPGAB嵌入一个 32位处理器,然后将此处理器作为一个子模块,在 ISE中引用此子模块,来完 成整个设计。在这里简要介绍ISE和EDKFF发环境。ISE是Xilinx 公司CPLD FPGA勺集成开发软件,它提供给用户从设计输 入到综合、布线、仿真、下载的全套解决方案,方便与其他EDAX具借口。通过新的局部时钟布线功能,支持再200Mhz以上的高速存储器接口。同时还提供Red Hat Linux的支持、高速设计能力、易于使用的布局规划和引脚管理增强特性。这些特性结合起来极大的缩短了客户的总体设计周期和设计成本与Foun
40、dation相比,ISE除了增强新器件支持和优化性能外,有如下一些方面的改进:藏锋者专业网络安全免费论文:.cangfengzhe./lunwen/(1)XST和Synplify流程均可以支持语言的混合输入。在Process窗口可以直接选择添加或创建新的设计文件。(3)便捷的库元件信息查询。使用原理图编辑器时,在Symbols栏中选中一个库元件,单击Symbol Info按钮,系统就会从在线文档中找到并显示该元件的详细 信息(4)把波形编辑器 Testbencher 集成到 Project Navigator 中。(5)支持第三方的文本编辑器(如 UltraEdit、CodeWright等)。
41、其中,原理图输入可使第三方软件 ECS HD珠合可使Xilinx开发的XST,Synopsys 的 FPGAExpress 和 Synplicity 的 Synplify/Synplify Pro,测试台输 入可使用图形化的HDLBencher,状态图输入可使用StateCAD,前、后仿真则可 使用 Modesim XE (Xilinx Edition )或 Modelsim SE。一般在 Synplify 中建立 工程、输入文件和综合,在 Modelsim中新建工程并作仿真,用ISE的DesignManager,再运行JTAG编程器下载第四章硬件设计4.1指纹采集模块本设计中采用的是富士通的
42、 MBF200f旨纹传感器,MBF20狈件框图如图6 所示,采用 SPI 模式,所以 MBF20OW FPGAR通 MISQ MOS( /S/C/S , SCLK0 个端口相连接。/S/C/S为MBF200勺使能端,SCL MBF200勺系统时钟,当需要采集指纹 信号时,FPGAJ/S/C/S发送低电平,贝UMBF200T始工作。FPG/过MOS向MBF200 发送控制命令,控制MBF200勺数据输出方式及传输模式。VDD3:1为数字电源输入,VDDA2:1为模拟电源输入,VSS3:1为数字地,VSSA2:1为模拟地,所以如图所接。而为了防止数字信号对模拟信号的干扰, 用10欧电阻隔开。并且数
43、字电源输入与相应的数字地之间均接有电容用来阁除 非直流信号。为了防止数字地与信号地之间的干扰,本设计采用0欧电阻隔离。0欧电阻相当于很窄的电流通路,能够有效地限制环路电流,使噪声得到抑制。电阻在所有频带上都有衰减作用(0欧电阻也有阻抗),这点比磁珠强。U1 C1VSS3VDD3 DP DMMODE1 MODE0MISOMOSI/S/C/SSCLK EXTINT /W/A/I/T /I/N/T/R XTAL2 XTAL2VDD2VSS2 /W/R /R/DA0 D0 D1 D2 D3VDD1VSS1D4 D5 D6 D7 -P1mbf200P0TESTVDDA2VSSA2FSET AIN ISE
44、TVSSA1VDDA1400.1uF393837363534MSIS33MOS327S7C/31SCLK3029282/ 26125C2-0.1uF242322 ,21Il20191817J二 C30.1uF16151413Il121110,ll987二 C40.1uF65R4 56K4r51100K3r300Kr r2-1C C(6uFMBF2005.R110C50.1uFJP1 Header 6/S/C/SMOSIMISOSCLK GNDVDD1 R6 20图6 MBF200硬件连接电路MODE1:0引脚是用来设定MBF200所用接口模式的,在本设计中,置MODE1:0为01,选定SPI传
45、输模式。在SPI模式当中,AIN, ISET, FEST三个接口都不会用上,但根据 MBF200部电路结构,最好接电阻与地相接。指纹数据处理模块由于指纹数据处理涉及很多算法,运算量大,所以本系统在Spartan -3E开发板上嵌入一个Microblaze软核来进行数据处理,首先将SPI 口传输进来的 数据送人SDRAMS行存储,开发板上带有32M的SDRAM完全可以存储很多指纹数据。在创建指纹数据库时,系统从 SDRA附取出数据,放入Microblaze进行处理,再将处理后的指纹数据信息存入 FLASFfi建指纹数据库。在比对模式时,利用Microblaze进行数据处理后的数据扔存入 SDRA
46、M然后从FLASHffi SDRAM分别提取指纹图像特征数据进行比对,得出比对结果。指纹数据存储模块Intel StrataFlashSF_WEHDC SF_BYTELDC2 SF_STSUser I/O Z一CE2CE1CE0CE#WE#BYTE#STSSF DUser I/O D15:12SF_DUser I/O w -D11:8SF_DD7:1-=*D7:1SPI_MISOD0-D0SF_AUser I/O = A24:20SF_AA19:0 A19:0A23:20 -X图7 FLASH输入存储模块硬件连接图strataFlash 与FPGAt脚连接图如图7所示。CE2:0为strata
47、Flash 使能信号输入端口当只用一个片子时,CE2:1接地只用CE0控制。由于在本设计中,FPGAf FLASHY间的数据传输 D0与FPGA寸MBF200勺 控制线MISO复用,所以从FLASH1取数据与控制MBF20产生冲突,时序不好控制,所以本设计中将会给 BYTE揖高关闭A0,将strataFlash 置于X16模式。D7:0在写模式下,传送控制命令在写CUI时,在缓冲器写和编程模式下。在读模式下,D7:0发送CFI、数据阵列和标志数据。状态寄存器的数据将不通 过这8位传输。VPEN锁定使能输入,当VPENVPRNLK,存将不允许写入数据或者命令。Addies A1!阻向口曲DUQW
48、E#W) -JJ图8 FPGA从FLASH中读取数据信息的时序图单字读时序图如图8所示,FPG徽能读FLASHY,发送所要读取数据的地 址,OE蚪低使能FLASH俞出,经过输出延时R4,由DATAD/Qt出数据。要向控制寄存器CUI中写入控制命令时,置 WE的低使能,下降沿有效。一个写控制可以用CEXgc者WE也中的任何一个控制它的开始和终止。RS232通信和键盘操作模块藏株者专业网络安全免费论文:.cangfengzhe./lunwen/RS232S信和键盘操作均可从EDK 9.1i开发软件同样可以获得MicroBlaze 控制器的IP核,然后直接将PCWSpartan-3E通过串口连接,键
49、盘可 以连接至 Spartan-3E PS2 口。第五章软件设计5.1 MBF200初始化MBF200具有19个控制寄存器,这些控制寄存器的地址、标识、及功能简 介如下表。地址标识功能0 x00RAH行地址高位0 x01RAL行地址低位0 x02CAL列地址低位0 x03REH行末地址高位0 x04REL行末地址低位0 x05CEL列末地址低位0 x06DTR放电时间寄存器0 x07DCR放电电流寄存器0 x08CTRLA控制寄存器A0 x09CTRLB控制寄存器B0 x0ACTRLC控制寄存器C0 x0BSRA状态寄存器0 x0CPGC可编程增益控制寄存器0 x0DICR中断控制寄存器0 x
50、0EISR中断状态寄存器0 x0FTHR门限寄存器0 x10CIDH芯片标识图0 x11CIDL芯片标识低0 x12TST测试模式寄存器表1MBF200勺初始化主要是对这些控制寄存器赋初值,CTRL心须在程序的最开 始对它的位0和位2置“1”,以使能MBF200 CTRLB勺位1也应置为“ 1”。使 能MBF20傍B震荡时钟。对PGC DTR DCRS初值需要调试,这三个寄存器决定了 MBF2001到的指 纹图像的清晰程度,图像细节。可以采用多次赋值,试验得出PGC DTR DCR的初值。本设计经过初步调试得出初值 PGC 00000110 : DTR 00111111,DCR 0000000
51、1。对于门限寄存器THR赋初值“0010110。,ISR赋”00000011”清空中断,ICR赋”01011001”使能自动检测。指纹数据采集软件实现MBF200t SPI接口模式下,工作流程如下:(1)上电,初始化MBF200具体寄存器数值如上节所述。(2)拉低/S/C/S使能,FPGA由MISO发送0 x02信号,使能MBF200S入写 状态。FPGA发送要写入寄存器的地址,发送完毕后发送需要写入的数据。拉高/S/C/S停止MBF20戢受或输出数据。等待FPGA勺下一个使能MBF200获取指纹图像分为两个步骤,写 CTRLA传感器获取指纹图像 并A/D转换,存至存储器中。读 CTRLA存储
52、器中的数字信号锁存在 MOSI管脚 上,等待时钟到来传送数据。写0 x02至CTRLAJ存器,获取整幅指纹图像数据,如果需要获取子图像, 按上步骤置RAH RAL CAL REH REL CEL FPGAF一个使能时。(3)在本设计中,写入0 x03至CTRLA拉高/S/C/S ,等待传感器获取图像 并进行图像转换。大约延迟 A/D转换一行图像数据的时间,FPGAti低/S/C/S , 发送 0 x03。MBF200S入读模式,发送 CTRLA1址,做读 CTRL/#, MBF200FF 始通过MOSI发送一行指纹数据。(4)可以通过判断接收到数据的数量判断一行数据是否接受完毕。如果没 有完毕
53、,继续接收,完毕则进行下一行接收。同样最后通过接收到数据的数量判 断一幅图像是否成功发送。在MBF200K FPGAS相数据传卒领!过一个SPI控制模块完成,在本设计中, 采用Verilog编程实现,定义了三组状态机,完成状态跳变的。/状态机parameter idle=5b00001,write_cmd=5b00010,write_adr=5b00100,write_data=5b01000,read_data=5b10000,Shift7=3b111,shift6=3b110,shift5=3b101,shift4=3b100,Shift3=3b011,shift2=3b010,shift
54、1=3b001,shift0=3b000,Shift07=3b111,shift06=3b110,shift05=3b101,shift04=3b100, shift03=3b011,shift02=3b010,shift01=3b001,shift00=3b000;MBF200的读写两个状态分成 WRITE READ其中又分写命令,写地址,读 数据几种状态。所以定义了write_data , write_cmd , write_adr , read_data四个状态机。传输数据的难点在于SPI模式输入要将并行数据转换为串行模式,输入又要 将申行数据转换为并行。在本设计中,用两组状态机,和两个
55、移位 task来分别 实现。具体程序见附录1。指纹数据存储软件实现本设计中,数据采集入FPGAf,由于FPGA!BRAMfc小,所以必须临时存 储至开发板自带的512MbDDR SDRAM当SDRAM片开始上电的时候,时钟信号也要相应给出,SDRAMJ第一个命 令必须在时钟稳定后的100us才能给出,在此期间所有控制信号处于无效状态。 一般在上电过程中需设置MR主要包括突发长度、突发类型、CAS延迟等信息在 M*储信息,当中,CAS弋表的时间事当列地址给出后,SDRAM!要多少个时钟周 期才能在数据线上给出数据。突发读写长度是指在行地址、列地址分别给出后, SDRAMT以在不连续提供地址的情况
56、下,最多可以读多少数据。SDRAMt电后使用前必须要经过一段初始化操作才可以使用。这个操作过程是标准的过程。这个过程如下A:预充电B:自动刷新C:装载寄存器D:读写之后就是要设置SDRA的模式寄存器,这个寄存器里一般设置了 burst长度, CAS burst类型,操作模式,还有是设置SDRA睡工作在单个读 写操作还是burst 操作下。而这个寄存器的设置也是通过地址线来设置的,所以在发出Load ModeRegister命令后要做一个操作可是使得在 SDRAM勺地址线上出线的值就是你要 设置的值。指纹图像预处理软件实现指纹图像的规一化图9指纹图像归一化流程图指纹图像的分割将其灰度值设为255设定此块灰度值为 255设定此块灰度值为 2555.4.3指纹图像的二值化5.4.4指纹图像的细化图10图像分割软件流程图图11指纹图像二值化软件流程图图12指纹图像的细化软件流程图5.4.5 MicroBlaze 处理核的嵌入由于本系统涉及大量的算法和运算,利用基本的加减乘除很难实现,而且 会花费很多的时间。而Spartan-3E系列FPG邵能嵌入一个32位的RISC处理器, 此处理器完全可以实现这些运算,提高系统的执行效率,降低系统的开发难度。藏锋者专业网络安全免费论文:.cangfengzhe./lunwen/首先在E
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 软件开发技术交流题目
- 工程经济实际应用考题试题及答案
- 国际贸易实务案例分析测试卷及解析
- 经济学与统计方法试题及答案
- 水利水电工程投资风险识别试题及答案
- 乡村旅游+农业特色产业融合协议
- 2025年经济法概论新趋势试题及答案
- 行政管理团队精英试题及答案
- 2025年中级经济师学习资源试题及答案
- 文职基本知识考试试题及答案
- 乳品评鉴师技能竞赛理论考试题库500题(含答案)
- 四年级语文下册第六单元【集体备课】(教材解读+教学设计)
- 医院医疗质量管理考评制度和管理制度
- 2024年新版科普版三年级英语上册英语单词带音标
- 装修施工项目投标书模板
- 抗凝剂皮下注射护理共识
- GB/Z 44314-2024生物技术生物样本保藏动物生物样本保藏要求
- 法务停息挂账协议书模板
- 2022年四川省南充市中考数学真题(解析版)
- 人工智能赋能语文教育的创新发展研究
- 百融云创风险决策引擎V5产品操作手册
评论
0/150
提交评论