基于单片机的指纹考勤系统设计
2017-02-20栾希杰
栾希杰
辽宁锦州渤海大学工学院
基于单片机的指纹考勤系统设计
栾希杰
辽宁锦州渤海大学工学院
指纹识别是最常见的生物识别方式,可以用于验证一个人的身份。基于指纹识别的考勤系统已经被广泛应用于各单位。由于指纹识别技术具有巨大的市场应用前景,因此本文重点研究了指纹识别系统的设计,以MSP430F149开发板为平台,利用MSP430F149的串行口外接FM-180指纹识别模块,根据指纹识别模块的指令要求,在IAR设计平台中,采用结构化程序设计方法利用C语言编程实现了基于串行口通信的指纹识别系统。
指纹识别 指纹比对 MSP430 FM-180
1 引言
随着网络的普及和电子商务的快速发展,人们需要越来越多地依靠密码、数字证书、身份证和IC卡等个人身份认证方式进行安全认证,但这些传统的方式都或多或少的存在可破译、可盗用、可伪造等漏洞,所以迫切需要找到一种可以替代传统识别技术的,更加可靠安全的技术,于是生物识别技术出现在了人们的视线当中,作为其中之一的指纹识别技术无疑是目前应用最热,最有前景的传统识别技术的接替者。
2 硬件系统设计
2.1 硬件模块的选择
考虑到系统的稳定性、体积大小以及成本等重要因素,合理的选择系统的各个模块是必须引起重视的。选择模块的原则是:在所选用模块体积最小、成本最低的条件下,还能实现系统的设计要求。另外,由于不同类型模块之间可能存在一些连接匹配的问题,因此最好选用同一类型的集成电路,这样可以减少不必要的麻烦。下面主要介绍一下本系统用到的两个主要部件,一个是MSP430F149单片机,另一个是FM-180指纹识别模块。
2.1.1 MSP430F149介绍
本次设计的是指纹识别系统,所以需要对得到的用户指纹信息进行判断,对后续操作进行正确的进给,因此选择采用以单片机为核心的控制方案。电子市场上单片机种类繁多,运行速率、参数指标和性能价格比更不相同,考虑到本次设计用到的单片机并不需要承担太过困难和复杂的运算工作,因此不必选择价钱和性能过高的单片机。最终决定使用常见的MSP430F149单片机来完成设计。
2.1.2 FM-180指纹识别模块介绍
指纹识别模块以DSP处理器为处理核心,内部嵌入指纹识别算法,具有采集、处理、储存以及比对指纹等功能,十分方便用户对它进行二次开发。模块与上位机进行串行通讯时,接口引脚定义如表1所示。
表1 串行通讯的接口引脚定义
2.2 硬件系统整体框图
根据本次毕业设计课题的基本要求确定此次系统设计的基本原则如下:
第一,为了给硬件系统的模块化和标准化打下良好基础。在要求符合单片机常规用法的条件下,尽可能的选择一些典型模块进行系统设计,“不选最好的,只选最合适的”,且尽量做到模块之间性能匹配。
第二,为了减少设计的整体难度,便于系统的分析和扩展,根据系统的基本功能,可以将整个系统分成若干个小模块,然后对各个小模块进行独立的设计,最后拼接到一起。
第三,为了将来对系统成品的修改、完善及进一步开发创造便利,在系统设计过程中,尽量减少不必要线路的连接,简化代码的编写,使设计更为简洁易懂。
第四,把硬件结构结合软件方案一起考虑,可以减轻硬件结构和软件方案之间的相互影响。考虑的原则是:为使硬件结构简单化,软件能实现的功能尽可能由软件实现,力争最大限度增加系统的可靠性。
第五,在对系统进行功能扩展前,一定要确保系统的基本功能都能实现。进行系统功能扩展时,要尽可能充分的利用I/ O接口,避免不必要的浪费。必须考虑系统中单片机的驱动能力可否带动其连接的所有外围模块。
本系统的整体设计框图如图1所示。每一个方框表示一个小的功能单元,用表示信号流向的箭头将各功能单元连接起来,构成一个系统。指纹识别模块用来对指纹信息进行采集分析比对,判断指纹的合法性,然后与单片机进行通讯,进而决定是否可以进行下一步的操作。接续电路是指纹识别成功后,可以执行的、用户可以自定义的一个电路,本次系统设计没有连接任何接续电路。按键用于输入命令进行各种功能的执行。LED指示灯和LCD显示器都是对执行各种功能后进行提示的部件。
图1 系统整体框图
3 软件程序设计
3.1 程序设计语言的选择
一个成功的应用系统,如果要满足其设定的各项功能,那么有一个较为完善的硬件和软件系统作为保障是必须的。为了充分利用丰富的硬件资源和软件资源,采用与MSP430F149单片机相对应的C语言和结构化程序设计方法进行软件编程,可以实现本次设计的目的。
3.2 IAR EW430简介
IAR嵌入式工作平台集成开发环境(IAR Embedded Workbench Integrated Development Environment)为开发不同的处理器项目提供了强有力的开发环境,该集成开发环境包含了IAR的C/C++编译器、汇编器、连接器、文件管理器、文本编辑器、工程管理器和C-SPY调试器。IAR Embedded Workbench集成开发环境支持绝大多数8位、16位、32位微处理器,其中支持MSP430的部分称为MSP430 IAR Embedded Workbench IDE(简称EW430)。MSP430单片机内部具有JTAG接口,可连接JTAG调试器,在EW430的控制下,利用单片机的JTAG接口可将在PC端开发的单片机程序下载(俗称烧写,programming)到单片机上。
JTAG调试器与PC机和目标板的连接如图2所示。
图2 JTAG调试器与PC机和目标板的连接图
3.3 系统功能与实现原理
3.3.1 本系统的基本实现原理
在本系统中采用的上位机就是MSP430F149单片机,首先在PC上通过IAR软件编写本系统的程序(也就是控制单片机发送相应的指令到指纹识别模块,之后接收并处理指纹识别模块对该指令的应答数据包,并决定是否做出下一步操作),然后对程序进行编译调试,发现没有错误后,通过MSP430-USB全功能型仿真器将该程序烧至MSP430F149单片机中,连接好需要用到的各个模块,之后给各个模块上电,按开发板上的Reset键,即可运行该系统。
3.3.2 系统程序的具体实现
在程序的主函数中,首先关闭所有的I/O口,以避免先前开发板上某些遗留现象的干扰。通过串口1连接电脑,在串口调试助手中查看串口0的通信(也就是查看单片机与指纹识别模块之间发送的各种数据包的内容)。在两个串口初始化的程序中,将它们的波特率都设置为9600bps,一是因为指纹识别模块的缺省波特率就是9600bps,二是如果波特率设置过高,可能使得单片机与指纹识别模块之间发送的数据包发生一些错误,导致它们之间无法正常通信。之后,初始化键盘和LCD模块。然后就进入键盘的扫描程序,等待用户按键,程序根据键值做出相应的决策,决定调用哪个函数去执行。
程序中涉及到的部分函数的流程图与简单描述如下:
①指纹库录入新指纹。FM-180指纹识别模块要求用户需要进行两次指纹图像采集,并在每次采集之后进行特征生成,之后将生成的两个特征再进行合并生成特征模版,最后储存于FLASH中才算完成一次成功的指纹录入。
②指纹搜索比对。FM-180指纹识别模块要求用户需要先进行指纹图像的采集,然后模块将指纹图像生成特征,之后才能与指纹识别模块数据库内的指纹特征模板进行比对,得出匹配结果。指纹搜索比对过程流程图如图3所示。
图3 指纹搜索比对过程流程图
4 结论
本文主要讲解了指纹识别系统的基本原理、硬件系统的搭建和软件程序的具体实现,实现了基于单片机的指纹考勤系统的设计,以MSP430F149开发板为平台,利用MSP430F149的串行口外接FM-180指纹识别模块,根据指纹模块的指令要求,编程实现了基于串行口通信的指纹识别系统。
[1]白洁.门禁系统中自动指纹识别技术的研究[D].武汉:武汉理工大学,2009:3-4
[2]明武.指纹识别技术发展现状初步分析[J].军民两用技术与产品,2001,7:40-41
[3]杨军.指纹识别系统及其应用[J].安防科技,2003,1:57-58