指纹识别系统2.docx
- 文档编号:9956945
- 上传时间:2023-02-07
- 格式:DOCX
- 页数:19
- 大小:233.65KB
指纹识别系统2.docx
《指纹识别系统2.docx》由会员分享,可在线阅读,更多相关《指纹识别系统2.docx(19页珍藏版)》请在冰豆网上搜索。
指纹识别系统2
一、指纹识别的概述
1.1指纹识别的历史与发展前景
19世纪初,科学研究发现了至今仍然承认的指纹的两个重要特征,一是两个不同手指的指纹纹脊的式样(radgepattern)不同,另外一个是指纹纹脊的式样终生不改变。
这个研究成果使得指纹在犯罪鉴别中得以正式应用。
主要代表性的事件有:
1896年阿根廷首次应用,然后是1901年的苏格兰,20世纪初其他国家也相继应用到犯罪鉴别中。
20世纪60年代,由于计算机可以有效的处理图形,人们开始着手研究利用计算机来处理指纹。
从那时起,自动指纹识别系统AFIS
(AutomatedFingerprintIdentificationSystem)在法律实施方面的研究和应用在世界许多国家展开。
20世纪80年代,个人电脑、光学扫描这两项技术的革新,使得它们作为指纹取像的工具成为现实,从而使指纹识别可以在其他领域中得以应用,比如代替IC卡。
现在(90年代后期),低价位取像设备的引入及其飞速发展,可靠的比对算法的发现为个人身份识别应用的增长提供了舞台。
相对于其他身份鉴定技术,指纹识别技术之所以优于其他身份鉴定技术而被广泛采用的原因:
(1).指纹是独一无二的,两人之间不存在着相同的指纹:
(2).指纹是相当固定的,不会随年龄、健康状况的变化而改变;
(3).指纹样本易于采集,难以伪造,便于开发,实用性强;
(4).每个人十指的指纹皆不相同,可以利用多个指纹构成多重口令,提高系统的安全性;
(5).指纹识别中使用的模板并非最初的指纹图像,而是由图像提取的关键特征,使所需存储的信息量减小,而且在实现异地确认时,可以大大减少网络传输负担,支持网络功能。
可以看出,指纹识别技术相对于其他识别方法有许多独到之处,具有很高的实用性和可行性。
因此,指纹识别成为最流行、最方便、最可靠的身份认证方式,己经在社会生活的诸多方面得到广泛应用。
1.2指纹识别中的基本概念
指纹图像其实是比较复杂的,它有着许多不同于其他图像的特征。
与人工处理不同,现代的生物识别技术并不直接存储指纹的图像(一是考虑到隐私权,二是由于储存空间),而是记录从指纹源图像中提取到的特征,指纹识别算法最终都归结为在指纹图像上找到并比对指纹的特征。
我们定义了指纹的两类特征来进行指纹的验证:
总体特征和局部特征。
总体特征是指那些用人眼直接就可以观察到的特征,包括:
基本纹路图案:
环型(loop),拱型(arch),漩涡型(whorl)。
其他的指纹图案都基于这三种基本图案。
仅仅依靠图案类型来分辨指纹是远远不够的,这只是一个粗略的分类,但通过分类使得在大数据库中搜寻指纹更为方的,这只是一个粗略的分类,但通过分类使得在大数据库中搜寻指纹更为方便。
指纹图像类别比例是这样的:
漩涡型(包括whorldoublewhorl)占27.9%,环型(包括rightloop,leftloop)占65.5%,拱型(包括arch,tentedarch)占6.60I0。
二、单片机MCS-51系统
2.1MCS-51存储器结构
2.1.1程序存储器
MCS-51具有64kB程序存储器寻址空间,它是用于存放用户程序、数据和表格等信息。
对于内部有ROM的8051等单片机,正常运行时,
则需接高电平,使CPU先从内部的程序存储中读取程序,当PC值超过内部ROM的容量时,才会转向外部的程序存储器读取程序。
8051片内有4kB的程序存储单元,其地址为0000H—0FFFH,单片机启动复位后,程序计数器的内容为0000H,所以系统将从0000H单元开始执行程序。
但在程序存储中有些特殊的单元,这在使用中应加以注意:
其中一组特殊是0000H—0002H单元,系统复位后,PC为0000H,单片机从0000H单元开始执行程序,如果程序不是从0000H单元开始,则应在这三个单元中存放一条无条件转移指令,让CPU直接去执行用户指定的程序。
另一组特殊单元是0003H—002AH,这40个单元各有用途,它们被均匀地分为五段,它们的定义如表所示:
0003H—002AH特殊单元
范围
功能用途
0003H—000AH
外部中断0中断地址区
000BH—0012H
定时/计数器0中断地址区。
0013H—001AH
外部中断1中断地址区
001BH—0022H
定时/计数器1中断地址区。
0023H—002AH
串行中断地址区。
2.1.2数据存储器
数据存储器也称为随机存取数据存储器。
MCS-51单片机的数据存储器在物理上和逻辑上都分为两个地址空间,一个是内部数据存储区和一个外部数据存储区。
MCS-51内部RAM有128或256个字节的用户数据存储(不同的型号有分别),它们是用于存放执行的中间结果和过程数据的。
MCS-51的数据存储器均可读写,部分单元还可以位寻址。
8051内部RAM共有256个单元,这256个单元共分为两部分。
其一是地址从00H—7FH单元(共128个字节)为用户数据RAM。
从80H—FFH地址单元(也是128个字节)为特殊寄存器(SFR)单元。
片外RAM一般由静态RAM芯片组成。
用户可以根据需要确定扩展存储器的容量,MCS-51单片机访问片外RAM可用1个特殊功能寄存器——数据指针寄存器DPTR寻址。
由于DPTR为16位,可寻址的范围为0KB~64KB,因此,扩展片外RAM的最大容量是64KB。
片外RAM的地址范围为0000H-0FFFFH,其中在0000H-00FFH区间与片内数据存储器空间是重叠的。
CPU使用MOV指令和MOVX指令加以区分。
2.1.3特殊功能寄存器
特殊功能寄存器(SFR)也称为专用寄存器,特殊功能寄存器反映了MCS-51单片机的运行状态。
很多功能也通过特殊功能寄存器来定义和控制程序的执行。
MCS-51有21个特殊功能寄存器,它们被离散地分布在内部RAM的80H—FFH地址中,这些寄存的功能已作了专门的规定,用户不能修改其结构。
特殊功能寄存器分布一览表,
特殊功能寄存器
特殊功能寄存器
标识符号
地址
寄存器名称
ACC
0E0H
累加器
B
0F0H
B寄存器
PSW
0D0H
程序状态字
SP
81H
堆栈指针
DPTR
82H、83H
数据指针(16位)含DPL和DPH
IE
0A8H
中断允许控制寄存器
IP
0B8H
中断优先控制寄存器
P0
80H
I/O口0寄存器
P1
90H
I/O口1寄存器
P2
0A0H
I/O口2寄存器
P3
0B0H
I/O口3寄存器
PCON
87H
电源控制及波特率选择寄存器
SCON
98H
串行口控制寄存器
SBUF
99H
串行数据缓冲寄存器
TCON
88H
定时控制寄存器
TMOD
89H
定时器方式选择寄存器
TL0
8AH
定时器0低8位
TH0
8CH
定时器0高8位
TL1
8BH
定时器1低8位
TH1
8DH
定时器1高8位
2.2MCS-51单片机的引脚功能
HMOS制造工艺的MCS-51单片机都采用40引脚的直插封装(DIP方式),制造工艺为CHMOS的80C51/80C31芯片除采用DIP封装方式外,还采用方型封装工艺,引脚排列如图
2.2.1主电源引脚VCC和VSS
VCC——为+5V电源端;VSS——为电压接地端。
2.2.2外接晶体引脚XTAL1和XTAL2
XTAL1(19脚)接外部晶体的一个引脚。
在单片机内部,它是一个反相放大器的输入端,这个放大器构成了片内振荡器。
当采用外部振荡器时,对HMOS单片机,此引脚应接地;对CHMOS单片机,此引脚作为驱动端。
XTAL2(18脚)接外晶体的另一端。
在单片机内部,接至上述振荡器的反相放大器的输出端。
采用外部振荡器时,对HMOS单片机,该引脚接外部振荡器的信号,即把外部振荡器的信号直接接到内部时钟发生器的输入端;对XHMOS,此引脚应悬浮。
2.2.3控制或与其它电源复用引脚RST/VPD、ALE/PROG、PSEN和EA/VPP
①RST/VPD(9脚)当振荡器运行时,在此脚上出现两个机器周期的高电平将使单片机复位。
推荐在此引脚与VSS引脚之间连接一个约8.2k的下拉电阻,与VCC引脚之间连接一个约10μF的电容,以保证可靠地复位。
VCC掉电期间,此引脚可接上备用电源,以保证内部RAM的数据不丢失。
当VCC主电源下掉到低于规定的电平,而VPD在其规定的电压范围(5±0.5V)内,VPD就向内部RAM提供备用电源。
②ALE/PROG(30脚):
当访问外部存贮器时,ALE(允许地址锁存)的输出用于锁存地址的低位字节。
即使不访问外部存储器,ALE端仍以不变的频率周期性地出现正脉冲信号,此频率为振荡器频率的1/6。
因此,它可用作对外输出的时钟,或用于定时目的。
然而要注意的是,每当访问外部数据存储器时,将跳过一个ALE脉冲。
ALE端可以驱动(吸收或输出电流)8个LS型的TTL输入电路。
对于EPROM单片机(如8751),在EPROM编程期间,此引脚用于输入编程脉冲(PROG)。
③PSEN(29脚):
此脚的输出是外部程序存储器的读选通信号。
在从外部程序存储器取指令(或常数)期间,每个机器周期两次PSEN有效。
但在此期间,每当访问外部数据存储器时,这两次有效的PSEN信号将不出现。
PSEN同样可以驱动(吸收或输出)8个LS型的TTL输入。
④EA/VPP(引脚):
当EA端保持高电平时,访问内部程序存储器,但在PC(程序计数器)值超过0FFFH(对851/8751/80C51)或1FFFH(对8052)时,将自动转向执行外部程序存储器内的程序。
当EA保持低电平时,则只访问外部程序存储器,不管是否有内部程序存储器。
对于常用的8031来说,无内部程序存储器,所以EA脚必须常接地,这样才能只选择外部程序存储器。
对于EPROM型的单片机(如8751),在EPROM编程期间,此引脚也用于施加21V的编程电源(VPP)。
2.2.4输入/输出(I/O)引脚P0、P1、P2、P3(共32根)
①P0口(39脚至32脚):
是双向8位三态I/O口,在外接存储器时,与地址总线的低8位及数据总线复用,能以吸收电流的方式驱动8个LS型的TTL负载。
②P1口(1脚至8脚):
是准双向8位I/O口。
由于这种接口输出没有高阻状态,输入也不能锁存,故不是真正的双向I/O口。
P1口能驱动(吸收或输出电流)4个LS型的TTL负载。
对8052、8032,P1.0引脚的第二功能为T2定时/计数器的外部输入,P1.1引脚的第二功能为T2EX捕捉、重装触发,即T2的外部控制端。
对EPROM编程和程序验证时,它接收低8位地址。
③P2口(21脚至28脚):
是准双向8位I/O口。
在访问外部存储器时,它可以作为扩展电路高8位地址总线送出高8位地址。
在对EPROM编程和程序验证期间,它接收高8位地址。
P2可以驱动(吸收或输出电流)4个LS型的TTL负载。
④P3口(10脚至17脚):
是准双向8位I/O口,在MCS-51中,这8个引脚还用于专门功能,是复用双功能口。
P3能驱动(吸收或输出电流)4个LS型的TTL负载。
作为第一功能使用时,就作为普通I/O口用,功能和操作方法与P1口相同。
作为第二功能使用时,各引脚的定义如表所示。
表2-7各口线的第二功能定义
表P3各口线的第二功能定义
口线
引脚
第二功能
P3.0
10
RXD(串行输入口)
P3.1
11
TXD(串行输出口)
P3.2
12
INT0(外部中断0)
P3.3
13
INT1(外部中断1)
P3.4
14
T0(定时器0外部输入)
P3.5
15
T1(定时器1外部输入)
P3.6
16
WR(外部数据存储器写脉冲)
P3.7
17
RD(外部数据存储器读脉冲)
值得强调的是,P3口的每一条引脚均可独立定义为第一功能的输入输出或第二功能。
2.3MCS-51单片机的中央处理器
中央处理器是单片机内部的核心部件,它决定了单片机的主要功能特性。
中央处理器主要由运算部件和控制部件组成。
1.运算部件:
它包括算术、逻辑部件ALU、布尔处理器、累加器ACC、寄存器B、暂存器TMP1和TMP2、程序状态字寄存器PSW以及十进制调整电路等。
运算部件的功能是实现数据的算术逻辑运算、位变址处理和数据传送操作。
运算部件中的累加器ACC是一个8位的累加器(ACC也可简写为A)。
从功能上看,它与一般微机的累加器相比没有什么特别之处,但需要说明的是ACC的进位标志Cy就是布尔处理器进行位操作的一个累加器。
2.控制部件
控制部件是单片机的神经中枢,它包括时钟电路、复位电路、指令寄存器、译码以及信息传送控制部件。
它以主振频率为基准发出CPU的时序,对指令进行译码,然后发出各种控制信号,完成一系列定时控制的微操作,用来控制单片机各部分的运行。
其中有一些控制信号线能简化应用系统外围控制逻辑,如控制地址锁存的地址锁存信号ALE,控制片外程序存储器运行的片内外存储器选择信号EA,以及片外取指信号PSEN。
三、指纹识别系统的硬件设计
3.1指纹识别系统硬件结构概述
指纹识别系统主要包括:
单片机最小系统、指纹采集部分、串口通信电路、外部存储部分、开关按钮,供电系统组成。
其结构框图如图所示。
指纹识别系统单片机采用8051单片机,它是整个控制器的核心部件。
MAX232作为接口芯片用于实现指纹传感器串口的RS-232信号与8051串行口的TTL信号的相互转换。
电源部分包括DC+5V及保护电路。
系统结构框图
3.2指纹识别功能描述
基于单片机MCS-51的指纹识别系统是由8051处理器、68128RAM和EEPROM芯片等构成,具有指纹录入、图像处理、指纹对比、搜索和模版储存等功能的智能型模块。
它通过与之相配套的指纹传感器,可构成一个独立的指纹识别系统,或作为一个完整的外部设备。
该系统控制的核心是单片机8051,因为通过比较DSP芯片,处理速度较快和存储量较大,但性价比较低。
而选取单片机MCS-51主要原因是功耗低、可通过软件设置省电模式。
空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,128x8bit内部RAM,能满足设计要求。
指纹识别系统是一个典型的模式识别系统,包括指纹图像获取、处理、特征提取和比对等模块。
通过指纹读取设备读取到人体指纹的图像,然后要对原始图像进行初步的处理,使之更清晰,再通过指纹辨识软件建立指纹的特征数据。
软件从指纹上找到被称为“节点”(minutiae)的数据点,即指纹纹路的分叉、终止或打圈处的坐标位置,这些点同时具有七种以上的唯一性特征。
通过计算机模糊比较的方法,把两个指纹的模板进行比较,计算出它们的相似程度,最终得到两个指纹的匹配结果。
指纹图像获取:
通过专门的指纹采集仪可以采集活体指纹图像。
目前,指纹采集仪主要有活体光学式、电容式和压感式。
对于分辨率和采集面积等技术指标,公安行业已经形成了国际和国内标准,但其他还缺少统一标准。
根据采集指纹面积大体可以分为滚动捺印指纹和平面捺印指纹,公安行业普遍采用滚动捺印指纹。
另外,也可以通过扫描仪、数字相机等获取指纹图像。
指纹图像压缩:
大容量的指纹数据库必须经过压缩后存储,以减少存储空间。
主要方法包括JPEG、WSQ、EZW等。
指纹图像处理:
包括指纹区域检测、图像质量判断、方向图和频率估计、图像增强、指纹图像二值化和细化等。
纹型是指纹的基本分类,是按中心花纹和三角的基本形态划分的。
纹形从属于型,以中心线的形状定名。
我国十指纹分析法将指纹分为三大类型,九种形态。
一般,指纹自动识别系统将指纹分为弓形纹(弧形纹、帐形纹)、箕形纹(左箕、右箕)
斗形纹和杂形纹等。
图3-2指纹形态
指纹形态和细节特征提取:
指纹形态特征包括中心(上、下)和三角点(左、右)等,指纹的细节特征点主要包括纹线的起点、终点、结合点和分叉点。
指纹比对:
可以根据指纹的纹形进行粗匹配,进而利用指纹形态和细节特征进行精确匹配,给出两枚指纹的相似性得分。
根据应用的不同,对指纹的相似性得分进行排序或给出是否为同一指纹的判决结果。
3.3指纹识别系统工作原理及硬件特性
工作原理:
当指纹传感器收到指纹信息,将通过串口给单片机发送命令,单片机同意并接收相应的信息,指纹传感器采集的指纹转换成RGB格式,并且数据传输到单片机,单片机通过存储在EEPROM中的固化程序执行大量的模式识别和图像处理相关计算,当用户的指纹被确认,单片机将命令执行机构动作,开关开。
硬件特性:
80C51单片机是在8051的基础上发展起来的,8051单片机与80C51单片机从外形看是完全一样的,其指令系统、引脚信号、总线等完全一致(完全兼容),主要差别就在于芯片的制造工艺上。
80C51的制造工艺是在8051基础上进行了改进。
8051系列单片机采用的是HMOS工艺:
高速度、高密度;
80C51系列单片机采用的是CHMOS工艺:
高速度、高密度、低功耗;
也就是说80C51单片机是一种低功耗单片机。
图3-3指纹识别系统工作原理图
3.4指纹识别系统硬件电路设计
本系统采用8051作为指纹识别系统的核心处理器,使用单片机内部的4K程序存储器,接+5V电源。
复位电路则采用简单RC复位电路,同时又可与一些需要复位的外围电路相连,达到复位与单片机同步。
/EA/Vpp为访问内部或外部程序存储器的选择信号.由于8051单片机有4K的内部程序存储器,又外接了128Kx8的EEPROM存储器,故该引脚必须接+5V高电平./PSEN为外部程序存储器读选通控制信号.此电路中无扩展程序存储器.故该脚悬空.
串口通信接口设计采用MAX232实现TTL与RS-232的转换,实现与计算机通信。
3.5电源电路设计
当指纹识别系统工作时,需要+5V电源,为了使整个系统结构紧凑,在本设计中,将220v交流电源到+5V直流电的转换电路和识别控制器集成在一块电路板上,其中的电路原理图如图
当220V通过变压器后,得到10伏电源Vi,在电路的输入端与公共地之间,加上经整流后的不稳定直流电压Vi,在输出端便能得到固定的输出电压。
为了改善纹波特性,在输入端外接电容,一般
取值为0.33uF,并紧接在稳压块的输入端;在输出端连接电容
,这样可以改善输出电压的纹波特性,一般
选为0.1uF。
输入电压
的选择依据是:
式中:
——稳压块允许的最大输入电压;
——稳压块的输出电压;
2V——稳压块输入与输出之间的最小压差。
在输入、输出之间外接二极管D1,可以起到输出端路保护作用,防止输出短路时负载电容向7805放电。
四、指纹识别系统软件设计
4.1算法的软件实现
指纹识别的核心算法开始时一般都是在PC机上运行的C程序,需要移植到单片机系统中。
由于用高级语言编程效率高,可读性好,修改方便,而汇编语言的特点则是编程困难,但是运行速度快,可以直接和硬件通讯;而且,大多数公司均为单片机芯片提供了集成开发环境,该集成环境同时提供了c编译环境和汇编语言编译环境。
所以在移植的过程中,一般采用混合编程思想。
即某些复杂的模块可用基于单片机的汇编编程,例如:
方向图计算和细化处理,而一些比较简单且不影响运行时间的模块可以用c语言编程然后转换成汇编代码,例如计算特征值。
要在PC机上运行程序并移植到单片机上,并调试指纹算法程序,监控单片机工作状态。
我们就要建立调试通道,将传感器和单片机通过串口与PC机相连,传感器可经机调试,RGB格式的图像也可以先经过调试通道由PC机取得并分析传感器状态;单片机通过串口与PC机连接,并可通过调试软件调试指纹算法程序和监控单片机工作状态。
在此可以看出,数据通道在硬件上证明系统能够实现指纹识别的功能要求,而调试通道的设计着眼于程序和系统的调试工作,为进一步的软件设计与优化提供了方便的接口。
4.2指纹识别系统软件的编制
指纹识别系统核心技术流程如图所示。
指纹识别系统主要集中在对指纹仪的操作以及使用人员信息登记、数据库管理、记录查询等功能的编程。
开发工具采用VisualC++6.0。
在利用VC开发程序之前应先安装FDU2000指纹仪的SDK。
对SDK的有效应用分为两种:
隐式链接和显示链接两种方式。
在本系统中采用的是隐式链接,将SDK安装目录下的相应的动态库文件(P1mDll.dll文件)拷入系统目录或其它系统可以找到的目录中,同时将Lib目录下的导入库文件(P1mD11.lib文件)加入工程设置的“Link一General一Object/librarymodule”栏中以及将Inc目录下的头文件P1mD11.h加入工程的头文件中,并在*.cpp文件中包含相应头文件即可。
接下来就可以开始编写应用程序的代码了。
4.3串行口工作方式
串行口工作方式
MCS-51单片机的串行口是一个可同时接受数据和发送数据全双工的接口,该串行口可以设定四种工作方式:
移位寄存器(方式0)8位数据UART方式(方式1)9位数据波特率固定UART方式(方式2)9位数据位波特率可变UART方式(方式3)。
MCS-51串行通讯的方式选择、接受和发送控制以及串行口的状态标志等均由特殊功能寄存器完成。
对它初始化编程只需用两个控制字分别写入特殊功能寄存器SCON(98H)和电源控制寄存器PCON(87H)中即可。
SCON是MCS-51的一个可位寻址的SFR,串行数据通信的方式选择,接受和发送控制以及串行口的状态标志由专用寄存器SCON控制和指示。
复位时所有位被清“0”
PCON主要是为CHMOS型单片机的电源控制而设置的专用寄存器,地址为87H。
PCON的最高位SMOD是串行口波特率倍增位。
当SMOD=1时,波特率加倍,复位时,SMOD=0
4.4单片机图像处理设计
将指纹识别程序传送到单片机中,通过调用指纹程序来对指纹传感器出入的指纹图像数据进行数字滤波处理。
单片机主程序流程设计:
单片机主程序如下:
ORG0000H
AJMPMAIN
ORG0023H
AJMPRECE
ORG0040H
MAIN:
MOVSP,#60H
MOVSCON,#50H;串口初始化
MOVTMOD,#20H
MOVTH1,#0F3H
MOVTL1,#0F3H
MOVPCON,#00H;设置波特率
SETBTR1;启动定时器1
SETBEA;开放中断
SETBES;开放串行中断
L3:
CLR00H
CLR01H
CLR02H
CLR03H
CLR04H
MOVR6,#00H
MOVDPTR,#1000H
L2:
JB03H,L1
SJMPL2
L1:
ACALLSEND
AJMPL3
在中断服务子程序中,为区别所接收的信号是联络信号还是字节数、是数据还是校验和,需要设立不同的标志位,为此在可位寻址的RAM68128中设定位地址
00H接收联络信号标志位
01H接收字节数标志位
02H接收数据标志位
03H接收文件结束标志位
在初始化时,这些位均为0。
在中断服务子程序中,将接收到的字节数存入R7中,接收的数据存入片外RAM从1000H开始的单元中。
总结
通过对指纹识别系统的研究及设计,我对对整个指纹系统有了一个全面的了解,了解国内外指纹识别研究的发
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 指纹识别 系统
![提示](https://static.bdocx.com/images/bang_tan.gif)