1、目 录1引言11.1指纹识别简介11.1.1指纹识别原理11.1.2指纹识别应用21.1.3指纹识别技术的发展21.2系统设计的目的31.3课题背景32整体设计方案42.1系统总体设计42.1.1系统功能描述42.1.2系统总体框架42.2系统核心部件单片机52.2.1单片机的选择52.2.2ATMEG16单片机的介绍72.2.3单片机的复位电路92.2.4ATMEG16最小系统及晶振的选择102.3液晶显示模块112.3.1HS12864-15C系列液晶的特点112.3.2HS12864-15C系列液晶的引脚功能122.3.3液晶显示HS12864-15C的指令系统132.4电源和指纹模块1
2、32.4.1ZAZ-010系列独立式指纹识别模块引脚功能142.4.2ZAZ-010系列指纹识别模块指令系统152.4.3电源模块173系统软件的设计193.1系统程序工作分析193.2设计前准备工作193.3单片机的程序设计203.3.1键盘管理程序设计流程223.3.2LCD显示模块程序设计流程223.3.3指纹通信模块的程序设计流程234实物的制作与调试244.1电路的焊接244.2电路和程序的调试254.2.1单片机的程序下载254.2.2串口调试254.2.3液晶键盘调试26结 论27参考文献28附录1:串口调试子程序29附录2:整体源程序31附录3:硬件电路图48致 谢49II1
3、引言我们今天的工作生活中,很多的场合都需要身份的认证,而传统的基于标志的身份认证技术由于受到证件伪造以及密码破解等手段的威胁,逐渐表现得有些力不从心。怎样保护自己的重要文件资料,如何保证自己的隐私不被泄露?在传统的身份认证中,我们往往使用密码加密法,但是这种方法只是防君子不防小人。在高明的黑客眼里,由几个字符组成的密码脆弱得不堪一击。现在,科技的发展让我们有了新的选择生物识别技术。将生物识别技术应用于笔记本、门锁等方面,可以对文件、财产起保护作用,并且可以进行身份识别。生物识别技术是依据人的体貌、声音等生物特征进行身份验证的科学解决方案,现有的生物识别技术大致上包括指纹识别技术、掌纹识别技术、
4、视网膜识别技术、虹膜识别技术、面相识别技术、声音识别技术和笔迹识别技术等。生物识别技术的优势主要有:1、减少、消除身份假冒,进行真实身份的确认;2、降低管理成本,取代了身份人工认证过程;3、方便使用者,减少或消除了使用卡、钥匙或者密码等麻烦。生物识别技术的发展主要起始于指纹研究,它亦是目前应用最为广泛的生物识别技术。指纹识别技术的发展得益于现代电子集成制造技术和快速可靠的算法的研究。尽管指纹只是人体皮肤的小部分,但用于识别的数据量相当大,对这些数据进行比对也不是简单的相等与不相等的问题,而是使用需要进行大量运算的模糊匹配算法。现代电子集成制造技术使得我们可以制造相当小的指纹图像读取设备,同时飞
5、速发展的个人计算机运算速度提供了在微机甚至单片机上可以进行两个指纹的比对运算的可能。另外,匹配算法可靠性也不断提高,指纹识别技术己非常实用。1.1 指纹识别简介1.1.1 指纹识别原理指纹识别技术的原理和其它生物识别技术的原理相似。它是利用人体的指纹特征对个体身份进行区分和鉴定。在所有的生物识别技术中指纹识别技术是目前最为成熟,也被应用最广的生物识别技术。这主要因为指纹采用的过程对人们来讲非常简单,指纹识别的准确率高的原因。严格来讲,指纹识别的原理包括指纹采集原理、指纹特征提取原理和指纹特征匹配原理三大部分。指纹采集原理主要是根据指纹的几何特性或生理特性,通过各种传感技术把指纹表现出来,形成数
6、字化表示的指纹图案。由于指纹的嵴和峪的几何特征不同,主要表现为嵴是突起的,峪是凹下的,所以在接触到光线时,其反射光的强度也就不同。在接触到平面时,其在平面上形成的压力也就不同。另一方面,由于指纹的嵴和峪的生理特征不同,主要表现为:嵴和峪的温度不同,其导电性也不同,其对波长的反馈也就不同。通过这些几何的、生理的特性的不同,把人的指纹采集到计算机系统中形成指纹图像。 指纹特征分析的原理是对指纹图案的整体特征和细节特征进行提取、鉴别的原理。其分析的对象包括纹形特征和特征点的分布、类型,以及一组或多组特征点之间的平面几何关系。特征点的平面几何关系表现为某个特征点之间的距离等,或者某三个或更多特征点之间
7、组成的多边形的几何特性。不论是特征点的单体特征,还是特征点的组合特征都是指纹特征的组成部分。把这些指纹特征用数字模板的形式表示出来,就实现了一个指纹特征分析的过程。把人的指纹采集到计算机系统中形成指纹图像。 指纹特征值匹配原理是对指纹图案的整体特征和细节特征按模式识别的原理进行比对匹配。匹配是在已注册的指纹和当前待验证的指纹之间进行的。匹配运算不是对两个指纹图像进行比较,而是对已形成数字模板的指纹特征值进行匹配。1.1.2 指纹识别应用指纹识别技术是最早的通过计算机实现的身份识别手段,它是应用最为广泛的生物特征识别技术。过去,它主要应用于刑侦系统。近几年来,它逐渐走向市场更为广泛的民用市场。指
8、纹技术在现代生活和工作中的应用已越来越普遍,指纹考勤机、指纹社保、指纹银行、指纹商场、指纹投票、指纹保护电脑、等等生活中和工作中的新现象已广为人知,其应用相当广泛,指纹技术正在日益刷新着我们的现代化生活方式。指纹识别技术是目前国际公认的应用广泛、价格低廉、易用性高的生物认证技术。指纹只是人体皮肤的小部分,但是它却蕴涵了大量的信息。这些皮肤的纹路在图案、断点和交叉点上是各不相同的,在信息处理中将它们称作特征。医学上已经证明这些特征对于每个手指都是不同的,而且这些特征具有唯一性和永久性。因此我们就可以把一个人同他的指纹对应起来,通过比较他的指纹特征和预先保存的指纹特征,就可以验证他的真实身份。1.
9、1.3 指纹识别技术的发展在经历了近 10 年缓慢的自然增长后,指纹识别技术即将迎来一个跳跃性发展的黄金时期。专家们保守估计,未来 5 年,我国将有近百亿元的市场等待着企业去开拓。指纹识别技术的巨大市场前景,将对国际、国内安防产业产生巨大的影响。较小的公司将面临新进入的传统行业大公司的无情竞争。在这些巨无霸面前,现有中小公司很难说有太大的竞争力,行业重新洗牌不可避免,合并与退出可能会成为大部分中小公司的无奈选择。最终可能形成传统行业的公司或大资本在较短时间内主导生物特征识别行业的局面。这也是每一个新兴市场的必然结果。而竞争的结果将会形成一个新兴的大产业。国内生物识别技术的应用主要集中在企业级应
10、用上,在 2002年总体约为2.5亿元人民币的终端市场中,超过 40%的产品都用于考勤、门禁系统之中。自2002年以来整个生物识别市场中指纹识别占据了超过 98%的份额,从需求看,中国 13 亿人口决定了中国将是未来全球最大的指纹识别认证技术市场。1.2 系统设计的目的现代社会越来越需要高效可靠的身份识别系统。传统的个人身份鉴别手段如口令、密码、身份-甚至磁卡、IC 卡等识别卡方式。由于其与身份人的可分离性,可假冒、可伪造、可盗用、可破译,已不能完全满足现代社会经济活动和社会安全防范的需要。从消除人为不安全因素看,只有不易被他人代替、仿制、甚至其本人也无法转让的身份误码别凭证才能胜任。因此,基
11、于人体生理特征的身份识别系统逐渐为社会所瞩目。随着识别技术的不断成熟,随着计算机技术的飞速发展,各种基于人体生理特征的身份识别系统如:指纹、手掌、声音、视网膜、瞳孔、面纹等识别技术纷纷从实验室中走出来,由小型机落户微机,走向民用。而从易用性、安全性、成熟性和造价等方面综合比较,指纹识别技术将成为未来人体生理特征身份识别技术的主流之一,指纹自动识别技术开创了个人身份鉴别的新时代,将来我们生活的很多场 合都要用到指纹,指纹使我们的生活更方便、安全。1.3 课题背景指纹检测可以良好的判断和定义一个人的真实生物身份,从而降低社会活动中的信任成本。从根本上改变经济和社会交往模式,提高效率。未来社会利用生
12、物识别技术的场合将会越来越多,指纹识别技术日趋完善,指纹检测变得越发重要。本次设计指纹识别电子密码锁是基于深圳指昂科技有限公司生产的ZAZ-010指纹模块,可以根据串口通信协议与上位机实现通信,从而实现指纹的录入、存储、比对,并通过HS12864-15C液晶显示出指纹采集存储的过程和比对的结果。指纹电子密码锁安全可靠,使用方便。492 整体设计方案2.1 系统总体设计2.1.1 系统功能描述本系统是针对指纹采集、识别模块开发出的指纹识别电子密码锁系统。该系统使用指纹模块搜索手指,一旦搜索到手指,立即采集指纹图像,并将采集到的图像转化成数据的形式发送出去。它利用人体指纹各异性和不变性,为用户提供
13、加密手段,使用时只需将手指平放在指纹采集仪的采集窗口上,即可完成采集任务,操作十分方便快捷。主要功能就是用液晶显示出指纹模块采集指纹图像各个流程及比对的结果.采集指纹图像之前,指纹模块必须要检测手指是否放在采集窗口上,所以就要有录入指纹这一项功能。简单的描述本次设计的功能即使用指纹模块检测、录入指纹,将比对的数据显示在液晶屏幕上.本系统拥有一次最多录入三个指纹的能力。该系统的主要功能有以下几个方面:1录入指纹:系统预先要有录入指纹的功能,即将个人的指纹通过指纹采集器采集用户指纹的特征信息。 2合成指纹模板并存储:通过光电转换后,将指纹特征值和对应的 ID 号存储到存储器中。上位机只要有上传指纹
14、的命令,模块可以立即将数据传送到指定位置。3搜索指纹库比对指纹:当有指纹录入时,模块会响应上位机指令搜索指纹库比对指纹,同时液晶显示比对结果,继电器动作、发光二极管亮。2.1.2 系统总体框架系统的总体框架是指根据设计任务要求,对系统所需元件、设备参数进行必要的计算,通过认真研究、分析、比较选定设备型号,再将设备、元件通过可靠的接口电路联系起来构成一个完整的系统。在系统的整体方案确定之前,先要明确设计要求,然后对系统硬件、软件进行设计,其中包括绘制原理框图、电路图,对原理进行必要说明,综合考虑系统的性能和稳定性要求,以保证所设计的系统达到预期的要求。通过查阅大量的文献资料、综合分析考虑 。主控
15、芯片选用Atmeg16单片机。系统总体框图如图2-1所示: AT MEG16 单片机LCD指纹模块4个独立按键以及继电器和指示灯图 2-1 系统总体框图 系统主要由MCU、液晶屏、指纹模块组成. 系统的工作方式主要是,当检测到有按键按下时先由MCU通过串口通信控制指纹模块对指纹进行采集、录入、存储、比对。然后,根据所得的数据对其它接口器件,如液晶屏、继电器进行响应操作。2.2 系统核心部件单片机2.2.1 单片机的选择单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。通常,单片机由单块集成电路芯片构成,内部包含有
16、计算机的基本功能部件:中央处理器、存储器和I/O接口电路等。因此,单片机只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。但是,一旦重要事情,一时的耽误可能酿成大祸。目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS化、低功耗、小体
17、积、大容量、高性能、低价格和外围电路内装化等几个方面发展。单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。单片机经过1、2、3代的发展,正朝着多功能、高性能、低电压、低功耗、低价格、大存储容量、强I/O功能及较好的结构兼容性方向发展。其发展趋势不外乎以下几个方面:1多功能 单片机中尽可能地把所需要的存储器和I/O口都集成在一块芯片上,使得单片机可以实现更多的功能。比如A/D、PWM、PCA(可编程计数器阵列)、W
18、DT(监视定时器-看家狗)、高速I/O口及计数器的捕获/比较逻辑等。有的单片机针对某一个应用领域,集成了相关的控制设备,以减少应用系统的芯片数量。例如,有的芯片以MEG16为核心,集成了USB控制器、SMART CARD接口、MP3解码器、CAN或者I*I*C总线控制器等,LED、LCD或VFD显示驱动器也开始集成在8位单片机中。2高效率和高性能为了提高执行速度和执行效率,单片机开始使用RISC、流水线和DSP的设计技术,使单片机的性能有了明显的提高,表现为:单片机的时钟频率得到提高;同样频率的单片机运行效率也有了很大的提升;由于集成度的提高,单片机的寻址能力、片内ROM(FLASH)和RAM
19、的容量都突破了以往的数量和限制。由于系统资源和系统复杂程度的增加,开始使用高级语言(如C语言)来开发单片机的程序。使用高级语言可以降低开发 难度,缩短开发周期,增强软件的可读性和可移植性,便于改进和扩充功能。AVR 内核单片机具有丰富的指令集和32个通用工作寄存器。所有的寄存器都直接与算逻单元(ALU) 相连接,使得一条指令可以在一个时钟周期内同时访问两个独立的寄存器。这种结构大大提高了代码效率,并且具有比普通的CISC 微控制器最高至10 倍的数据吞吐率。ATmega16L 有如下特点:.16K字节的系统内可编程Flash(具有同时读写的能力,即RWW);.512字节EEPROM,1K 字节
20、SRAM;.32 个通用I/O 口线;.32 个通用工作寄存器; .用于边界扫描的JTAG 接口,支持片内调试与编程;.三个具有比较模式的灵活的定时器/ 计数器(T/C);.片内/外中断,片内经过标定的RC 振荡器;.可编程串行USART,有起始条件检测器的通用串行接口;.8路10位具有可选差分输入级可编程增益(TQFP 封装) 的ADC;.具有片内振荡器的可编程看门狗定时器;.一个SPI 串行端口;.四通道PWM,两路8位,两路16位;.六个可以通过软件进行选择的省电模式:空闲模式、ADC 噪声抑制模式、省电模式、掉电模式、Standby 模式以及扩展的Standby 模式;.速度等级:0
21、- 8 MHz;.工作电压:2.7 - 5.5V;.工作于空闲模式时CPU 停止工作,而USART、两线接口、A/D 转换器、SRAM、T/C、SPI 端口以及中断系统继续工作;.掉电模式时晶体振荡器停止振荡,所有功能除了中断和硬件复位之外都停止工作;.在省电模式下,异步定时器继续运行,允许用户保持一个时间基准,而其余功能模块处于休眠状态;.ADC 噪声抑制模式时终止CPU 和除了异步定时器与ADC 以外所有I/O 模块的工作,以降低ADC 转换时的开关噪声; .Standby 模式下只有晶体或谐振振荡器运行,其余功能模块处于休眠状态,使得器件只消耗极少的电流,同时具有快速启动能力;扩展Sta
22、ndby 模式下则允许振荡器和异步定时器继续工作。本芯片是以Atmel 高密度非易失性存储器技术生产的。片内ISP Flash 允许程序存储器通过ISP 串行接口,或者通用编程器进行编程,也可以通过运行于AVR 内核之中的引导程序进行编程。引导程序可以使用任意接口将应用程序下载到应用Flash存储区(Application Flash Memory)。在更新应用Flash存储区时引导Flash区(Boot Flash Memory)的程序继续运行,实现了RWW 操作。通过将8 位RISC CPU 与系统内可编程的Flash 集成在一个芯片内,ATmega16 成为一个功能强大的单片机,为许多嵌
23、入式控制应用提供了灵活而低成本的解决方案。下面是基于八位AVR单片机芯片ATMEGA16的主控系统方案:2.2.2 ATMEG16单片机的介绍ATMEG 16的管脚说明如图2-2所示:图2-2 DIP封装 ATMEG 16单片机引脚结构图1 VCC为数字电路的电源,GND为地。2 端口A(PA7-PA0)作为A/D转换器的模拟输入端,是8位双向I/O口,具有编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口A处于高阻状态。3 端口B(PB7-PB0)为8位双向I/O口
24、,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统始终还未起振,端口B处于高阻状态。端口B也可以用做其他不同的特殊功能。4 端口C(PC7-PC0)为8位双向I/O口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统始终还未起振,端口C处于高阻状态。如果JTAG接口使能,即使复位出现引脚PC5(TD1)、PC3(TMS)与PC2(TCK)的上拉电阻被激活
25、。端口C也可以用做其他不同的特殊功能。5 端口D(PD7-PD0)为8位双向I/O口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统始终还未起振,端口D处于高阻状态。端口D也可以用做其他不同的特殊功能。6 RESET为复位输入引脚,持续时间超过最小门限时间的低电平将引起复位。7 XTAL1为晶振反相放大器的输入端和内部时钟操作电路的输入端。8 XTAL2为晶振反相放大器的输出端。9. AVCC是端口A与A/D转换器的电源。不使用ADC时,该引脚应该直接与Vcc连接。使用A
26、DC时应通过一个低通滤波器与Vcc连接。10AREF是A/D的模拟基准输入引脚。2.2.3 单片机的复位电路复位是单片机的初始化操作,其作用是使CPU中的各个部件都处于一个确定的初始状态,并从这个状态开始工作。ATmega16有5个复位源:1. JTAG AVR复位:复位寄存器为1时MCU复位。2. 上电复位:电源电压低于上电复位门限 VPOT时,MCU复位。3. 看门狗复位:看门狗使能并且看门狗定时器溢出时复位发生。4. 外部复位:引脚 RESET上的低电平持续时间大于最小脉冲宽度时MCU复位。5. 掉电检测复位:掉电检测功能使能,且电源电压低于掉电检测电压时复位。ATmega16单片机5个
27、复位源中,最常用的是外部复位和看门狗复位电路。外部复位电路由外加于RESET 引脚的低电平产生。当复位低电平持续时间大于最小脉冲宽度时即触发复位过程,即使此时并没有时钟信号在运行。当外加信号达到复位门限电压VTOUT延时周期开始。延时结束后MCU即启动。外部复位时序图如图2-3所示,外部复位原理图如图2-4所示:图 2-3 外部电路复位时序图图 2-4 外部复位原理图2.2.4 ATMEG16最小系统及晶振的选择ATmega16芯片有如下几种通过Flash熔丝位进行选择的时钟源。时钟输入到AVR时钟发生器,再分配到相应的模块。表21 熔丝配置模式器件时钟选项CKSEL3.0外部晶体/陶瓷振荡器
28、1111 1010外部低频晶振1001外部RC振荡器1000 0101标定的内部RC振荡器0100 0001外部时钟0000 注:此选项不适用于晶体,只能用于陶瓷谐振器。晶体振荡电路:XTAL1与XTAL2分别为用作片内振荡器的反向放大器的输入和输出,如图2-5所示,这个振荡器可以使用石英晶体,也可以使用陶瓷谐振器。熔丝位CKOPT用来选择这两种放大器模式的其中之一。当CKOPT被编程时振荡器在输出引脚产生满幅度的振荡。这种模式适合于噪声环境,以及需要通过XTAL2驱动第二个时钟缓冲器的情况。而且这种模式的频率范围比较宽。当保持CKOPT为未编程状态时,振荡器的输出信号幅度比较小。其优点是大大
29、降低了功耗,但是频率范围比较窄,而且不能驱动其他时钟缓冲器。对于谐振器,CKOPT未编程时的最大频率为8 MHz,CKOPT编程时为16 MHz。C1和C2的数值要一样,不管使用的是晶体还是谐振器。最佳的数值与使用的晶体或谐振器有关,还与杂散电容和环境的电磁噪声有关。为了保证系统稳定性和串口传输质量所以选用外部晶振,晶振选用7.3728M。 图 2-5 ATMEG16最小系统 2.3 液晶显示模块显示模块采用HS12864-15C系列中文图形系列液晶模块。由控制器ST7920控制与驱动。2.3.1 HS12864-15C系列液晶的特点1. HS12864-15系列硬件特性如下:.提供8位,4位
30、并行接口及传行接口可选.自动电源启动复位功能.内部自建振荡源.64*16位字符显示RAM(DDRAM最多16字符*4行).2M位中文字型ROM(CGROM),总共8192个中文字型2. HS12864-15系列软件特性如下:.文字与图形混合显示功能.画面清除功能.光标归位功能.显示开/关功能.反白显示功能.垂直画面旋转功能.休眠模式2.3.2 HS12864-15C系列液晶的引脚功能引脚PSB为芯片的传输方式控制端;引脚 E 为读写使能信号,它是在下降沿时数据被锁存入HS12864液晶的;在E高电平期间,数据被读出;R/W 为读写选择信号,当它为一时为读选通,为零时为写选通;DB0-DB7为数
31、据总线RST为复位信号。复位信号有效时,关闭液晶显示,使显示起始行为0,RST可跟MCU连,由MCU控制;也可直接接VDD,使之不起作用。引脚功能如表2-1所示:表2-1 HS12864-15C的引脚功能引脚符号状态引脚名称功能PSB输入数据传输方式PSB=1为并行传输;PSB=0为串行传输E输入读写使能信号在E下降沿,数据被锁存(写)入HS12864-15C;在E高电平期间,数据被读出R/W输入读写选择信号R/W=1为读选通,R/W=0为写选通RS输入数据、指令选择信号RS=1为数据操作 RS=0为写指令或读状态DB0-DB7三态数据总线RST输入复位信号复位信号有效时,关闭液晶显示,使显示
32、起始行为0,RST可跟MCU相连,由MCU控制;也可直接接VDD,使之不起作用。 2.3.3 液晶显示HS12864-15C的指令系统1.清除显示RSR/WD7D6D5D4D3D2D1D000000000012.显示开/关指令RSR/WD7D6D5D4D3D2D1D00000001DCB控制整体显示开关,游标开关,游标位置显示反白开关;D=1,整体显示开;D=0,整体显示关;C=1,游标显示开;C=0,游标显示关;B=1,游标位置显示反白开;B=0,游标位置显示反白关;3.读取忙状态RSR/WD7D6D5D4D3D2D1D001BFA6A5A4A3A2A1A0读取忙状态以确定内部动作是否完成,
33、同时可以读出地址计数器AC的值4.写数据RSR/WD7D6D5D4D3D2D1D010写数据读、写数据指令每执行完一次读、写操作,列地址就自动增一,必须注意的是,进行读操作之前,必须有一次空读操作,紧接着再读才会读出所要读的单元中的数据。5.读数据RSR/WD7D6D5D4D3D2D1D011 读 显 示 数 据读、写数据指令每执行完一次读、写操作,列地址就自动增一,必须注意的是,进行读操作之前,必须有一次空读操作,紧接着再读才会读出所要读的单元中的数据。 2.4 电源和指纹模块指纹模块采用深圳市指昂科技有限公司生产的ZAZ-010系列独立式指纹识别模块,以高速DSP处理器为核心。主要技术指标
34、如下供电电压:DC 3.6-6.0V供电电流:工作电流:100mA(典型值)峰值电流:150mA指纹图像录入时间:0.5 秒窗口面积: 14 *18 mm匹配方式:比对方式(1:1)搜索方式(1:N)特征文件: 256 字节模板文件: 512 字节存储容量: 100枚安全等级: 五级(从低到高:1、2、3、4、5)认假率(FAR):0.001% 拒真率(FRR):0.1% 搜索时间: 1.0 秒 (1:1000 时,均值)上位机接口: UART(TTL 逻辑电平)通讯波特率(UART): (9600*N)bps 其中N=112 (默认值N=6,即57600bps)2.4.1 ZAZ-010系列
35、独立式指纹识别模块引脚功能模块中引脚1与电源相连,引脚2接单片机的RXD端,引脚3接单片机的TXD端,引脚4悬空,引脚5接地。表2-2如下:表2-2指纹识别模块引脚功能引脚号名称类型功能描述1Vinin电源正输入端2TDout串行数据输出。TTL 逻辑电平3RDin串行数据输入。TTL 逻辑电平4NC未定义,悬空。5GND信号地。内部与电源地连接2.4.2 ZAZ-010系列指纹识别模块指令系统模块通过串行通讯接口,可直接与采用3.3v或者5v电源的单片机进行通讯。模块数据发送端接上位机接收端,模块数据接收脚接上位机数据发送端。录入指纹图像指令:指令包格式:2bytes4bytes1 byte
36、2 bytes1 byte2bytes包头模块地址包标识包长度指令码校验和0xEF01Xxxx01H03H01H05H应答包格式:2bytes4bytes1 byte2 bytes1 byte2bytes包头模块地址包标识包长度确认码校验和0xEF01Xxxx07H03HxxHSUM注:确认码=00H 表示录入成功;确认码=01H 表示收包有错;确认码=02H 表示传感器上无手指;确认码=03H 表示录入不成功;图像生成特征 Img2Tz指令:指令包格式:2bytes4bytes1 byte2 bytes1 byte1 byte2 bytes包头模块地址包标识包长度指令码缓冲区号校验和0xEF
37、01Xxxx01H04H02HBufferIDSUM应答包格式:2bytes4bytes1 byte2 bytes1 byte2bytes包头模块地址包标识包长度确认码校验和0xEF01Xxxx07H03HxxHSUM注:确认码=00H 表示生成特征成功;确认码=01H 表示收包有错;确认码=06H 表示指纹图像太乱而生不成特征;确认码=07H 表示指纹图像正常,但特征点太少而生不成特征;确认码=15H 表示图像缓冲区内没有有效原始图而生不成图像;特征合成模板RegMode1指令:功能说明:将CharBuffer1与CharBuffer2中的特征文件合成特征模板。指令包格式:2bytes4by
38、tes1 byte2 bytes1 byte2bytes包头模块地址包标识包长度指令码校验和0xEF01Xxxx01H03H05H09H应答包格式:2bytes4bytes1 byte2 bytes1 byte2bytes包头模块地址包标识包长度确认码校验和0xEF01Xxxx07H03HxxHSUM注:确认码=00H 表示合并成功;确认码=01H 表示收包有错;确认码=0aH 表示合并失败(两枚指纹不属于同一手指);存储模板 Store指令:指令包格式:2bytes4bytes1byte2 bytes1 byte1 byte2 bytes2bytes包头模块地址包标识包长度指令码缓冲区号位置
39、号校验和0xEF01Xxxx01H06H06HBufferIDPageIDSUM应答包格式:2bytes4bytes1 byte2 bytes1 byte2bytes包头模块地址包标识包长度确认码校验和0xEF01Xxxx07H03HxxHSUM注:确认码=00H 表示储存成功;确认码=01H 表示收包有错;搜索指纹Search指令:指令包格式:2bytes4bytes1byte2bytes1byte1byte2bytes2bytes2bytes包头模块地址包标识包长度指令码缓冲区号参数参数校验和0xEF01Xxxx01H08H04HIDStarPagePageNumSUM应答包格式:2byt
40、es4bytes1byte2bytes1byte2bytes2bytes2bytes包头模块地址包标识包长度确认码页码得分校验和0xEF01Xxxx07H07HxxHSUM注:确认码=00H 表示搜索到;确认码=09H 表示没有搜索;2.4.3 电源模块电源模块可以直接提供正5V的直流电压,但是由于在一些工业环境中并不提供直流电源,而都是交流电源,为确保其实用性,在电源这一部分,提供了整流稳压电路,可以把交流电压变成5V的电压,为整个电路板提供电源。从图2-6可以看出,当开关按下时,电路接通,先通过一个整流电路,使交流电压变成直流电压。为了保证其输出的电压是5V,在后面接一个稳压电路,由一个7
41、805稳压器和一个发光二极管组成,发光二极管作为电源导通的指示灯。当电源导通时二极管发光。其中电容C1起滤波作用,电容C2是抑制高平信号。电容C3, C4直接接地,起到抗干扰的作用,能使电压稳定在5V。有了电源模块避免了因没有直流电源而无法使用的问题,使这个仪表能够在更多的环境中使用。电源模块电路图如图2-6所示:图 2-6 电源模块电路图3 系统软件的设计3.1 系统程序工作分析在本文的电路板中,单片机是作为控制器嵌入到系统中。应用程序的开发主要分为两大部分,即对ZAZ-010指纹识别模块的的应用程序开发以及对HS12864液晶、按键程序的开发。因此,要实现其应用,需要对其进行联合调试。电路
42、软件应用开发根据所设计的硬件。程序开发的方式将主要建立一系列的C语言函数子程序供主程序的随时调用。即对ZAZ-010指纹识别模块或液晶电路分别编制C语言函数子程序。因此,需要有专门的开发工具。本设计中,采用AVRStudio4.0单片机软件开发环境对单片机进行编程,由于该编译器支持模块化程序设计,因此可以先将源程序划分为几个模块分别编写,然后再由编译器生成一个最终文件. 该开发环境可以对程序进行软件仿真调试,因此可以方便地进行程序的编写和调试。调试通过的代码文件通过开发板下载到单片机。单片机在上电后,主程序应该完成相应的初始化工作。依据电路的功能要求,主程序必须对液晶初始化、同时对按键进行检测
43、,如果有对应的按键按下。执行相应的操作,单片机通过串行接口对指纹模块进行读写。3.2 设计前准备工作由于使用串口和模块通讯,所以必须先约定好单片机和模块的的串口工作速度和数据包格式。UART数据格式定位为:8位数据位、1位停止位、无奇偶校验位,数据传输速率为57600bps。通讯数据包格式定义为:单片机发送串行数据包格式如图3-1 MCU发送数据包格式D7D6D5D4D3D2D1D0发送数据共11-14个字节,前6个字节是模块的包头和模块地址为固定值,后5-8个字节是传输的模块的命令。同时根据外部晶振和系统默认的传输速率算出控制串口的各寄存器的初始值。参考meg16资料后编写了以下一段串口初始
44、化。各寄存器设置的程序.如下面的一段程序既是对个寄存器的初始值的设置void UART_Init(void)UCSRB=0x00;/disable while setting baud rateUCSRA=0x00;/Bit1为1则倍速发送UCSRC=0x06;UBRRL=0x07;/波特率:57600BpsUBRRH=0x00;/误差率:0.000%UCSRB=0x18; 注:选用外部7.3728M晶振.3.3 单片机的程序设计根据上节分析,制定如下图的程序流程图。主程序主要由液晶显示、通讯子、按键程序组成。主程序的工作流程描述如下:首先初始化各种硬件功能模块进行初始化。包括开机液晶显示、键盘扫描、指纹模块建立通信。主程序设计流程如图3-1所示: