1.指纹模块的作用
ZFM60指纹模块
指纹模块是本次设计中最为重要的部分,由于该部分无法自行制作,只能通过在网络或是市场中购买该模块,再行二次开发,虽然市场中类似的模块种类较多,价格也是五花八门,但实际上基本的协议还是比较相似的,只不过有的支持的协议指令多,有一些支持的指令相对来说比较少而已,本次产品设计中涉及到的功能主要有三大功能,分别为指纹的录入,指纹的识别,和清空存储的指纹,那么,基于三大功能的基础上,对模块进行比对后发现,每一个模块都具备了这三项主要的功能,再次进行了价格的比对后,最后决定选用ZFM60作为本次的指纹识别模块。
ZFM60指纹模块,一体化结构,已经包含了算法芯片,其质量稳定,性能优异,产量稳定,多行业客户的实际选择,给您无忧的产品保障体系。
ZFM60指纹模块由硬件和软件两大部分构成,硬件部分采用的是光学指纹传感器、高性能DSP传感器、FLASH芯片,传感度灵敏、传感反馈速度较快,同时选用高速性能的处理器能够快速处理大量指纹信息,FLASH芯片选用大容量型,能够存储海量已录入的指纹;软件部分主要采用了高性能指纹比对算法,不论是在硬件或是软件方面,其性能优异、功能强大,能够实现指纹的对比、录入、分析、计算、识别等;最终,采用8条精简指令,开发更简单。
产品特点:
◆功能完善:能够实现指纹录入、登记、识别、采集、对比、计算等,且能够独立操作。
◆体积小巧:由于产品自身的体积较小,与DSP芯片自成一体,便于安装,故障率低。
◆超低功耗:产品运作时所需要的能耗较低,能够适应低能耗的场所。
◆抗静电能力强:具有很强的抗静电能力,抗静电指标达到15KV以上。
◆应用开发简单:应用开发者只需要掌握必要的指令就可以进行产品的开发。
◆安全等级可调:产品的安全等级可以结合客户自身的实际情况来进行调整,适用于不同场合下的应用。基于单片机的指纹识别系统是由主控芯片STC89C52、12864液晶显示等器件构成,在无需上位机参与管理的情况下,产品能够对指纹的录入、识别、计算等进行操作,且集成指纹识别模块能够独立运行。
2.指纹模块电路如下所示:
方案一:指纹采集模块的硬件部分主要选用来自机易通R-58A考勤机的采集头,机易通R-58A所装备的是型号为OV7620的光学采集头,该采集头主要拆卸于废旧的考勤机中,但采集头能够正常运作和实现指纹的采集。通过观察和研究发现,OV7620型光学采集头共有16根线,分别为输入和输出作用,但是无法分辨每一根线的实际作用。在经过查阅了大量的网络资料后,由于易通R-58A型号的考勤机生产时间较长,网络中没有能够获取到有效的资料信息。因此,唯有对其进行测试和实验,实验的结果表明,其中2根线为电源线和地线、8根线为数据处理线,其余为信号线,但无法确定信号线的用途。由于采集头是整个指纹采集系统的信息来源如果连怎样使用它都不知道的话,那么后面的工作将无法展开。因此,方案一由于采用的是废旧考勤机的采集头,其实施的成本较低,但实际实施的难度较大。
方案二指纹采集的部分是选用富士通的电容式传感器FPS200FPS200是由256*300的传感器阵列组成的,该传感器能够支持:8位系统总线、全速USB和集成SPI的数据传输方式,并且可以借助于MODE0MODE1实现多种接口组合的方式。接口数量之多,便于指纹采集器能够快速的处理信息。它具有500DPI的分辨率,能进行AD转换。FPS200采集的指纹所需要占用的容量约为75KB,但是51单片机最多只能扩展64KB的容量,那么,P1接口就自然成为了多余的一条地址线。可是,这样就会FPS200和存储器无法同时被选中或是进行数据的处理和传输,由此,可以采用3片单片机的形式来组成主机和从机,其中,1片单片机构成主机,2片单片机独立作为丛机1和从机2,主机主要用于采集指纹信息和其他信息的传输,从机1主要用于指纹信息的处理和信息的存储,从机2主要用于处理从机1所存储的信息和数据。
方案三,硬件结构框图工作过程:当传感器识别到有指纹信息时,主机会收到来自于FPS200发出中断的指令,对指纹信息执行AD转化的操作,将处理完毕的指纹信息以串口通信的方式传递给从机1,从机1在接受到了该信息后将其存储于RAM中;再者,从机1就会对存储的指纹信息进行二次的处理,并且将最终的处理结果发送至从机2,从机2在接受到该信息后将其固定下来,并将大量的数据集合到数据库中。
通过分析该方案较为繁琐,其中涉及到多机通信的问题,以及速率传输的问题。通过理论计算如果采用51单片机就仅采集一个指纹就需要耗时8秒左右,过程必须保证手指在传感器不能移动。主机与从机之间采用的是串行的传输通信模式,其通信模式的耗时大于8秒。同时,由于指纹采集的数据量和信息量较大,单片机无法完成大量的数据处理工作,其数据处理的效率和速度无法满足指纹采集、识别等需求,另外FPS200的市场价格略高,约为300元左右,超出了综合预算,因此,该方案的可操作性较低。方案三指纹采集部分是用的是ZFM60系列独立式指纹识别模块。模块能够同时实现指纹采集和存储的功能,也能够实现指纹的提取、识别、对比等功能。模块将指纹采集、数据处理等工作简单化,并且该模块的4条信号线使用、操作简单。其工作的流程为:将手指按压于模块之上后,单片机就会发出采集的指令,指纹的信息和数据就会由模块所存储,单片机再次将提取指纹的指令发向模块,由于识别模块内嵌DSP,所以大大提高了数据处理的能力,经过特征码处理的模板就可以存储、比对、删除等功能操作。上述操作由单片机和模块通信就能够实现,其操作较为简单。ZFM60系列独立式指纹识别模块的市场价格在200元左右,虽然仍然很贵,但是同比市场上的指纹采集部分的芯片,它的性价比远远大于后者,通过比较上述三种方案,综合考虑各方面因素,我们选择方案三,选择其原因是其原理简单,能方便的实现,性价比高
本章小结
本章首先介绍了主要控制元件STC89C52单片机,并且介绍了各引脚功能及组成最小系统各部分的原理。然后,了解了12864液晶的使用方法及其编程要点,接着叙述了介绍ZFM60系列独立式指纹识别模块,列出本设计所参考的方案和其在识别系统中的作用。
第3章系统软件的设计
3.1系统程序功能分析
1、本系统设计了一个管理员的操作,即出厂时必须录入一个指纹,该指纹录入成功后就是该系统的管理员,方可进入主界面。主界面中的功能主要以指纹识别、管理员操作、普通用户添加等,且可以通过按键来实现每一个功能之间的转换。
2、进入主界面之后可以对系统进行一系列的操作,管理员可以有2个,当录入达到2个时会有提示。不论是录入新的指纹信息还是需要更替已经存储的指纹信息,都需要获得管理员的授权,当管理员未曾授权,即无法完成验证,出现验证失败时,LED显示器就会提示出验证失败的内容,只有通过管理员的授权才能通过验证,继续进行操作。
。
3、当管理员验证成功后就可以录入普通用户了,该系统可以录入多达400多位的普通用户,录入过程中只需要按住手指不放,当录入完成后液晶提示录入成功字符同时显示出对应的指纹ID号。同样的录入失败也会有同样的提示。
4、录了基本的指纹,就可以进行识别指纹,起到一个很好的查看作用,和甄别的作用,起到了监控的效果
3.2主程序流程图
分析结果得出,制定如图3-1所示的程序流程图:
程序的巡检过程:首先,各个系统模块执行初始化的操作,检验每一个按键是否对应准确,是否能够正确的判断其按下的是哪一个按键,如果按键检验失败,就需要调整相应的子程序。
主程序主要由液晶、通讯、按键等模块构成,主程序在正式开始执行指纹命令之前,各个模块需要进行初始化。

3.4 Keil编程
所需要的各种硬件已经选择好,单片机是电路中主控制器,由单片机对指纹模块及液晶、按键进行开发。首先应建立一系列的C语言子程序供主程序进行调用。本设计采用Keil uVision2对单片机编程。Keil能够汇编源程序、编译C源码,且生成方式简单、语言简洁易懂。Keil内涵函数、开发等功能,可以直接对目标文件、库文件执行连接、定位等操作。
使用Keil软件的主要工作流程为:
1、创建一个新工程,命名为“Fingerprint”,然后从器件库中选择单片机型号,因为其中没有STC89C52,所以选择与它完全兼容的Atmel 89c52代替。
2、新建text文件,命名为main.c,然后在Target 1的子文件Source Group 1中添加main.c文件。

3、点击下图中箭头所指的图标,弹出如下对话框,在Xtal后输入9600,即单片机的工作频率为9600MHz。[12]
4、点击Output标签,在Create HEX前的方框内勾选,这样可以生成hex文件以便输入单片机中。
5、用C语言创建源程序。
6、修改源程序中的错误。
7、测试,链接应用。
3.5本章小结
本章介绍了硬件选择后设计软件工作流程,及如何进行Keil软件编程,然后创建“Fingerprint.hex”文件,程序烧写时需要。接着若想系统各个部分工作有序,必须保持时钟状态一致。
第4章硬件电路的制作和调试
4.1电路的焊接过程
1.焊前准备
在焊接前,需要熟悉装配图纸和每一个元件器件,对元件器件的型号等信息需要进行反复的核对,并且需要做好元件器件的引线等准备工作,便于下一步工作的开展。
2.焊接顺序
焊接的顺序根据元件器件的大小来决定,先装配小的元件器件,其中,电阻、电容、二极管、三极管等按照顺序优先装配。
3.对元器件焊接要求
(1)电容器焊接
按照装配图,将电容器装入相应的位置,并注意是否有出现正负极接反的情况,保证电容器的标记方向能够清晰可见。电容器的装配步骤为:先装玻璃釉、有机介质、瓷介质的电容器,最后,再将电解电容器装入。
(2)二极管的焊接
在对二极管进行焊接时,尤其要注意二极管的极性,同时,在焊接立式二极管时,需要保障焊接的时间不超过2秒钟的操作时间,否则会引起二极管的接触等问题。。[15]
(3)三极管焊接
在进行三极管焊接时,引线插线的位置、焊接的时间尤为重要。需要注意e、b、c三引线的插接顺序和位置是否正确,在进行焊接三极管的过程中,要借助于镊子夹住其引线脚,用最短的时间进行焊接,有利于其散热。同时,对大功率三极管进行焊接时,如果需要用到散热片,应当将其进行打磨和平整处理,再行固定和紧固,如有必要需要加垫绝缘薄膜。另外,需要使用塑料导线进行管脚和电路板的连接。
(4)集成电路
集成电路的焊接需要遵循从左到右、自上而下的焊接原则,首先确定了集成电路符合图纸的型号、引脚等要求后,对其边缘的两只引脚进行焊接处理,固定器位置,在遵循焊接原则逐步焊接其余的引脚。最后,二极管、三极管等多余未需焊接的引脚需要剪去。
(5)12864注意事项:
1)避免屏由于机械的振动和外界的压力导致损坏。
2)不能用手或坚硬工具或物体接触、按压、磨擦显示屏,否则屏上的偏光片被物体划坏。
3)如果屏破裂时,渗出的液晶没有完全被空气吸入,导致与人体皮肤发生了接触,应当及时使用酒精清洗,再使用清水冲洗。
4)在清洗显示屏时,需要使用石油苯或是透明胶带对其进行擦拭和处理,不可使用有机溶液,防止对偏光片造成不利的影响。
5)要防止高压静电产生的放电,将损坏模块中的CMOS电路。
6)不能把模块放在温度高的地方,尤其不能长时间放在湿度大的地方,最好把模块放在温度为0℃-35℃,湿度低于70%的环境中。
7)模块不能贮存在太阳直射的地方。
8)当电源接通时,不能组装或拆卸模块。
9)不论电源电压和输入电压偏差值的高低,均不能超出其最大额定值,防止LCD模块的损坏。
4.2程序的烧写
STC-ISP是一款单片机下载编程烧录软件,是针对STC系列单片机而设计的,可下载STC89系列、12C2052系列和12C5410等系列的STC单片机,使用简便,现已被广泛使用。
4.4调试中遇到的问题
板子焊接好后,就要对单片机烧写程序,开始验证各个软件和硬件的部分,而本次中事实上不是一下就成功的,也遇了不少的问题,下面就对在调试过程中遇到的问题阐述说明:
1、无法下载程序
由于考虑到操作的难度,本设计中没有涉及到需要进行烧写的程序电路,只需将单片机的串口进行连接即可,用一个烧写工具USB转TTL电平的串口工具来烧写,该模块的主芯片用到的是PL2303,即是USB转成TTL电平直接跟单片机进行串口通信。把电路基本焊接完成后,首先接上电源,用万用表量电压正常,接上USB转TTL模块,开始下载程序,发现一直没反应,最后发现是没有共地造成的,共地之后正常下载;
2、指纹模块无法工作
单片机与指纹模块之间采用的是串口的通信方式,在烧写电路程序之后,为了便于测试单片机与指纹模块之间的通信是否运作正常,在给单片机上电后,其将通过串口直接向指纹模块发送指令,对指纹信息进行识别。同时,当指纹模块受到来自于单片机的指令后,其头部的采集灯会显示变亮,但是,指纹的采集头并没有按照原先设想进行指纹识别的操作,在确认了采集头和模块的接线正确后,其仍旧没有任何反应。因此,采用了USB转TTL工具的方式,对单片机的串口数据进行调试,在连接电脑后,借助于调试助手,发现单片机发出的指令均为乱码,但是波特率、串口参数均为正常值。共地操作后,发现为晶振的问题,采用的晶振为12M,用到串口的时候,晶振必须是用11.0592M倍数的才不会有误差,其他的会有误差,造成数据丢失乱码等现象,换了晶振之后,串口通信正常。
3、指纹模块反应慢
程序下载并进入了指纹识别模式后,指纹模块并没有识别成功,且识别的速度较慢,对指纹模块进行断电操作后,用串口调试助手看单片机发送的数据又是正确的,一直找不到原因,后来发现单片机的TXD和RXD一直连着杜邦线,把杜邦线拔掉,指纹模块正常工作了;
4、按键不灵敏
操作板中一共有16个按键,每一个按键均有各自的作用和功能,但是在测试时,16个按键均出现了不灵敏、操作不响应的问题。当按下指纹的录入键时,液晶显示屏并没有显示指纹正在录入,或是有时会显示指纹录入,但却始终无法正常的运作。在检查相关的硬件设备准确无误后,对软件系统进行检查,最终发现按键消抖延时过长,导致只有长时间的按键后,才能出现反应。
5、蜂鸣器
蜂鸣器作为本次的报警器件,直接烧写一个调试成功的让蜂鸣器报警的程序,发现蜂鸣器不响,一开始怀疑是三极管烧坏了,换了之后发现还是不行,查看后原理图给的限流电阻为1K,而焊接的却是10K的,电阻阻值太大,导致电流不够让三极管导通,最后换了1K电阻,蜂鸣器正常报警;
6、液晶不显示
本设计中的显示屏采用的是串口接法的液晶12864,只需与单片机的IO口进行连接即可,但是,在调试中液晶显示屏中无法显示文字内容,但是液晶显示屏亮背光,此时,将同样的程序烧至另一个开发板中,发现其显示正常。验证了是焊接的板子问题,再次将开发板上面的液晶换到焊接的板子上面,液晶也正常显示,由此可见,就是液晶本身的问题。想起液晶有串行和并行两种接口,咨询了卖家之后才得知,这一块液晶是并口接口的,想要换成串行接法,须将液晶背面的一个电阻焊掉,焊掉该电阻之后,重新插上液晶,正常显示。
7、指纹模块、按键的调试
然后导入本设计的程序,测试指纹模块及按键是否工作,操作步骤为:
1)按下电源,电源指示灯点亮。
2)按“*”键后屏幕显示“请按指纹”,指纹模块亮,将手指放到指纹头处就可以识别指纹了。
3)若放入的指纹,指纹识别成功继电器动作,LED灯亮,门开锁,人员可以进入,按任意键返回初始界面,等待下一个人扫描指纹。若放入的指纹,指纹没有识别成功,继电器没有动作,LED灯不亮,将不能开锁,人员不能进入,按任意键返回初始界面,继续扫描指纹。
4)按下A键后,可以执行输入6位密码的操作,B键则为删除,D键确认、且密码正确后,可进入管理员的模式。
5)在管理员模式下,按数字键“1”进入录入指纹模式,指纹头亮起,这时就可以把手指放到指纹头上进行指纹的录入,录入指纹时需要录入2次指纹来完成这个指纹的录入存储,指纹录入成功后按任意键返回到管理员界面,如需再录入指纹重复上面操作即可。
6)按数字键“2”进入删除指纹模式,屏幕提示如下图所示信息,输入要删除指定的指纹号按“D”键确认,若指纹号输入错误可按“B”键删除,再重新输入要删除的指纹号即可。
7)在非正常情况下(指纹模块不好用或紧急情况)可按数字键“3”进行开锁。
8)按数字键“4”可进行管理员密码的修改。
当时在进行第五步骤时忘记所录的密码,这时导致所有的步骤都不能顺利运行,后面运用超级密码才得以继续运行并对之前的管理员密码进行修改
在每一块电路调试完毕后,整块电路板运作正常,剩余的工作只需配合软件的运行,即可实现整个系统的功能。
4.本章小结
本章首先介绍了如何进行实物焊接,及焊接时的注意事项,焊接完成后需要导入程序进行调试,还有在调试过程中遇到的问题和如何解决,并成功的完成整个系统功能的链接
下载提示:
1、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“文章版权申述”(推荐),也可以打举报电话:18735597641(电话支持时间:9:00-18:30)。
2、网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
3、本站所有内容均由合作方或网友投稿,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务。
原创文章,作者:写文章小能手,如若转载,请注明出处:https://www.447766.cn/chachong/12308.html,