资源描述
龙岩学院龙岩学院 毕业设计毕业设计 题目:基于 AVR 单片机的指纹考勤控制系 统 专业: 电子子信息工程 学号: 2008041532 作者: 涂齐赞 指导教师(职称): 李建华 助 教 二 0 一二 年 三 月 十三 日 1 【摘摘 要要】本系统以 ATmega128 单片机为核心,采用 FPM10A 光学指纹识别 模块,结合矩阵键盘和 12864 液晶,实现对指纹检测,识别,记录等功能,通 过记录的指纹学生学号和时间实现考勤的功能。本设计具有较好的人机交互界 面管理员模式,使系统更加方便操作。本设计把指纹识别技术应用到了实际的 生活当中,实现了对晚归情况的考勤。 关键词 指纹识别器 ATmega128 单片机 液晶 晚归考勤 Abstract This system to ATmega128 single-chip processor as the core, the FPM10A optical fingerprint module, combined with the keyboard and 12864 matrix liquid crystal, through the fingerprint identification module implements input and testing fingerprints. The system has good human-machine interface, and administrator mode, and that the system is more security, the convenient user operation. This design USES the fingerprint identification technology to realize the fingerprint identification and testing, the fingerprint identification technology applied to practical production of life. System to ATmega128 single-chip processor as the core, the FPM10A optical fingerprint identification module to the fingerprint decoding, combined with the keyboard and 12864 matrix liquid crystal, through the fingerprint identification module implements input and testing fingerprints, can realize the setting, the fingerprint password input, identify, and other functions. Key words fingerprint reader; ATmega128 single-chip processor ;LCD ;came back late attendance. 2 目 录 1.绪论绪论.4 1.1 前言 .4 1.2 功能与特点 .4 1.3 用途 .4 2.系统概述系统概述.5 2.1 系统总体设计方案 .5 2.2 CPU 的方案选择 5 2.3 ATMAGA128 单片机简述7 2.4 显示模块 .8 2.5 电源模块 .9 2.6 键盘模块 .9 2.7 指纹采集模块 .10 3.硬件设计硬件设计.16 3.1 最小系统电路设计 .16 3.2 液晶电路设计 .17 3.3 电源电路设计 .17 3.4 键盘电路设计 .18 4.系统软件的设计系统软件的设计.19 4.1 通讯控制总站软件设计.19 4.2 系统主功能模块设计 .19 4.3 指纹识别考勤系统考勤过程 .20 4.4 管理员密码修改 .21 4.5 删除指纹模板程序设计 .22 4.7 设置系统时间 .24 第五章第五章 系统测试系统测试26 5.1 测试的目的.26 5.2 用例测试.26 5.3 测量误差分析 .27 5.4 测试结果 .27 第六章第六章 系统抗干扰措施系统抗干扰措施27 6.1 系统硬件抗干扰措施 .27 6.2 系统软件抗干扰措施 .28 结结 束束 语语28 致谢致谢29 参考文献参考文献30 3 附件附件30 1.绪论 1.1 前言前言 制作背景:在我们学校,要求晚上学生能够回到宿舍睡觉,为了杜绝学生 不在网吧通宵上网等等歪风邪气,宿舍管理员会在晚上 22:00-23:00 考勤签到, 这样一来,会动用大量的楼委值日生负责签到工作,而且有些同学还会弄虚作 假,出现代签、补签的现象。为了解决这个问题,在此制作了指纹签到机。指 纹签到机将将本宿舍楼所有同学的指纹信息保存,宿舍晚上考勤期间,只要学 生将手指放在指纹识别仪上,系统就自动记录该同学签到的时间、次数。由于 指纹的独特惟一性,不可能出现代签、补签的情况,而且不用宿舍楼值日生投 入大量的时间去考勤,并且记录了学生的晚归时间,进而端正学校生活风气。 设计简介:指纹考勤控制系统只需要使用者事先注册指纹,考勤时就会在 考勤控制系统上保留考勤时间记录。它基于指纹识别技术来实现,一人可以注 册多枚指纹,当使用者按指纹时,指纹考勤控制系统就会在所注册的指纹库中 寻找相似度达到一定标准的指纹号码。 指纹考勤控制系统相对于感应卡考勤机的最大好处就是可以避免代打卡,不 用购买卡片。经过多年的发展,指纹识别技术已经比较稳定,使用面越来越广, 目前市场上比较好的品牌有新时创、科密、中控等【3】。 1.2 功能与特点功能与特点 采用了最新并行高速芯片的 BIO9.5 平台。 识别算法采用最新高速混合识别 引擎 COME2,在系统可靠性、准确性、识别速度都有明显提高。 基于主板的 嵌入开发系统(EDK)是一个并行高速处理的嵌入式脱机指纹产品开发平台, 运行稳定可靠。 光学采集器为晶体指纹仪,经久耐用;提高图像质量,接受干, 湿手指。 支持手指 360 度识别,易用性能良好。 它不受空间、方位限制,随 时可就地使用与位移。 全中文显示,指纹验证成功即显示和记录签到指纹姓名 及学号,方便学校考勤。 1.3 用途用途 指纹考勤的实际应用: 正规、科学的现代企业管理制度是创造一个高效益、 高速发展的优秀企业的必要条件,人事考勤制度是企业管理制度的重要组成部 分。企业单位职员准时正常出勤和公平合理的考勤制度影响到企业的形象、员 工的士气,进而影响企业员工的工作效率、企业的经济效益、企业投资者的利 润收益。指纹考勤机实现人、地、时三者合一,去除考勤虚假,为公司省去不 必要的加班费用付出。对企业职员的人事出勤进行公正合理并有效、科学地管 理已成为各单位面临的现实课题。 4 指纹考指纹识别技术,集成考勤软件和人事管理软件的最先进的考勤设备。 只要轻轻一按手指就可完成上下班考勤。 2.系统概述 本章主要介绍了系统的 CPU 方案选择,以及 CPU 的总体介绍,显示模块, 电源模块,键盘模块,指纹采集模块,详细介绍了指纹采集模块的工作过程。 这几大模块一起构成了本系统,并且能够实现基本的功能。 2.1 系统总体设计方案系统总体设计方案 本系统以 ATmega128 单片机为核心,采用 FPM10A 光学指纹识别模块, 结合矩阵键盘和 12864 液晶,设计而成。通过指纹识别模块实现指纹录入和检 测。本系统具有较好的人机交互界面,其中包括指纹识别模块、按键控制,单 片机、复位电路、液晶显示、报警电路等部分的设计。图 2-1 为指纹识别考勤 控制系统总体框图。 图 2-1 指纹识别考勤系统总体设计原理 2.2 CPU 的方案选择的方案选择 本指纹考勤控制系统我初步选定了两个个平台,ARM 平台,单片机平台, 大学四年期间我们对这两种平台都有了解,平时做实验和课程设计的时候也有 深入的研究,下面简要对这两种平台做出对比。 方案一 ARM 平台 12864 液晶 CPU 模块 光学指 纹模块 输入模块 模式切 换 矩阵键 盘输入 时钟电路 复位电路 LED 指示 5 ARM(Advanced RISC Machines)是微处理器行业的一家知名企业,设计了 大量高性能、廉价、耗能低的RISC处理器、相关技术及软件。技术具有性能高、 成本低和能耗省的特点。适用于多种领域,比如嵌入控制、消费/教育类多媒体、 DSP和移动式应用等。ARM提供一系列内核、体系扩展、微处理器和系统芯片方 案。由于所有产品均采用一个通用的软件体系,所以相同的软件可在所有产品 中运行(理论上如此) 。典型的产品如下。CPU内核ARM7:小型、快速、低能 耗、集成式RISC内核,用于移动通信。体系扩展:以16位系统的成本,提供32位 RISC性能,特别注意的是它所需的内存容量非常小。嵌入式ICE调试由于集成 了类似于ICE的CPU内核调试技术,所以原型设计和系统芯片的调试得到了极大 的简化。 该方案平台功能强大,成本低,但设计难度大,不适合我做本次毕业设计。 方案二 单片机平台 ATmega128 单片机是 ATMEL 公司的 8 位系列单片机的最高配置的一款单 片机,应用极其广泛 。 最初我考虑了 51 单片机和 AVR 单片机。51 单片机 的 I/O 脚的设置和使用 非常简单,当该脚作输入脚使用时,只须将该脚设置为高电平(复位时,各 I/O 口均置高电平) 。但是,51 单片机的在进行乘法和除法运算时精度不高。因为 它内部寄存器在进行八位除以八位的除法指令,商为八位,精度嫌不够,用得 不多。而八位乘八位的乘法指令,其积为十六位,精度还是能满足要求的,用 的较多。I/O 口输出时无驱动能力。当该脚作输出脚使用时,则为高电平或低电 平均可。低电平时,吸入电流可达 20mA,具有一定的驱动能力;而为高电平 时,输出电流仅数十 A 甚至更小,基本上没有驱动能力。因为其在高电平时 该脚也同时作输入脚使用,而输入脚必须具有高的输入阻抗,因而上拉的电流 必须很小才行。作输出脚使用,欲进行高电平驱动时,得用外电路来实现。 运 行速度慢,当晶振频率为 12MHz 时,机器周期达 1s,适应不了现代高速运 行的需要。此外它还具有体积大、ROM 少等缺点。51 单片机运算速度比较慢, 精度不够等等因素,比较难以完成大型系统设计,因此 51 单片机也不适合指纹 识别考勤控制系统的设计。 AVR 单片机运用该款控制芯片可增强系统的性价比,提高该产品的应用范 围,更有利于我们在毕业设计中进行设计和制作。AVR 单片机废除机器周期, 采用 RISC,以字为指令长度单位,取指周期短,可预取指令,实现流水作业, 可高速执行指令。有高可靠性为后盾。AVR 单片机在软/硬件开销、速度、性 能和成本多方面取得优化平衡,是高性价比的单片机。内嵌高质量的 Flash 程 序存储器,擦写方便,支持 ISP 和 IAP,便于产品 的调试、开发、生产、更新。 I/O 端口资源灵活、功能强大单片机内具备多种独立的时钟分频器。高波特率的 可靠通信。它包括多种电路,可增强嵌入式系统的可靠性。电路:自动上电复 位、看门狗、掉电检测,多个复位源等。它具有多种省电休眠模式、宽电压运 行(2.75V) ,抗干扰能力强,可降低一般 8 位机中的软件抗干扰设计的工作量 和硬件的使用量。集成多种器件和多种功能,充分体现了单片机技术向片上系 统 SOC 的发展方向过渡。首先,AVR 单片机具有高性能、高速度、低功耗等 6 特点。它取消机器周期,以时钟周期为指令周期,实行流水作业。 综合以上两种方案,AVR 单片机具有高可靠性、功能强、高速度、低功耗、 等优势,因此本次毕业设计我决定选择方案二。 2.3 ATmaga128 单片机简述单片机简述 AVR 单片机是一种基于增强 RISC 结构的、低功耗、 CMOS 技术、8 位 微控制器(Enhanced RISC Microcontroller),目前有 Tiny、Mega 两个系列 50 多种型号。它们的功能和外部的引脚各有不同,小到812 个引脚,多到 100 个引脚,但它们内核的基本结构是一样的,指令系统相容。 图 2-2 是 ATmega128 单片机实物图: 图 2-2ATmega128 单片机实物图 ATmega128 单片机具有 64 个引脚,引脚如图 2-3。 7 图2-3 ATmega128单片机引脚 ATmega128 单片机有 64 个引脚,各引脚作简要说明:VCC:数字电路的电 源。GND:地 。RESET:复位输入引脚 。 XTAL1:反向振荡放大器及片内 时钟操作电路的输入。 XTAL2:反向振荡放大器的输出。 AVCC:AVCC 为端口 F 及 ADC 的电源。AREF:为 ADC 的模拟基准输入引脚。 PEN:为 SPI 串行下载的使能引脚。 端口 A(PA7PA0):为 8 位双向 I/O 端口,并具有 可编程的内部上拉电阻。输出缓冲器具有对称的驱动特性,可以输出和吸收大 电流。作为输入使用时,若内部上拉电阻使能,则端口被外部电路拉低时将输 出电流。复位发生时该端口为三态。端口 B(PB7PB0)、 C(PC7PC0)、 D(PD7PD0)、 E(PE7PE0) :与端口 A 具有相同的 I/O 性能。端口 F(PF7PF0): 为 ADC 的模拟输入引脚或作为 8 位双向 I/O 端口,并具有可编程的内部上拉电 阻。输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用 时,若内部上拉电阻使能,则端口被外部电路拉低时将输出电流。复位发生时 该端口为三态。可以作为 JTAG 接口端口 G(PG4PG0):为 5 位双向 I/O 端口, 并具有可编程的内部上拉电阻。输出缓冲器具有对称的驱动特性,可以输出和 吸收大电流。作为输入使用时,若内部上拉电阻使能,则端口被外部电路拉低 时将输出电流。复位发生时该端口为三态。端口 A、B、C、D、E、F、G:都 可以作为第二功能引脚使用。 AVR 单片机以其功能强、体积小、可靠性高、造价低和开发周期短等优点, 在实时检测和自动控制领域中广泛应用的器件,在工业生产中称为必不可少的 器件,尤其是在日常生活中发挥的作用也越来越大。本课题设计主要在 ATmega128 单片机上进行系统扩展,它包括程序存储器(ROM)扩展、数据存储 器(RAM)扩展、I/O 口扩展、定时/计数器扩展、中断系统扩展等。 2.4 显示模块显示模块 这个模块采用 12864 液晶,为了充分体现人机界面的友好度,本系统使用 12864 液晶作为显示设备。并采用了字符与数字动态显示的方式,提高了与用 户的互动性,用户可以根据界面来得到相应的数据。 液晶显示屏是挂在总线的接口上,采用了并行传输的方式,开机时液晶屏 复位,同时开背光电源,进入等待状态。采用液晶显示器首先是显示的信息量 大,可视性强,并且可以避免 LED 数码管的动态扫描,对程序的整体框架有了 很大的改进。12864 是一种具有 4 位/8 位并行、2 线或 3 线串行多种接口方式, 内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨 率为 12864,内置 8192 个 1616 点汉字,和 128 个 168 点 ASCII 字符集. 利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互 图形界面。可以显示 84 行 1616 点阵的汉字. 也可完成图形显示.低电压低 功耗是其又一显著特点。实现对 12864 的访问有三种方式:并口直接访问方式、 并口间接访问方式和串口访问方式。并口直接访问方式通过 I/O 口连接 RS(寄 存器选择端)、R/W(读/写选择端)、E(使能信号)和 DB(数据总线)实现 对 12864 的读写数据;并口间接访问方式需要与非门芯片扩展实现;串口访问 方式 PSB 管脚需要接低电平表示串口模式被选择,通过 I/O 口连接 RS、R/W、E 这三个管脚就能实现读写,其中,RS 为片选线、R/W 为数据线、 E 为时钟线。 8 本电路就是用来显示指纹系统的一些信息(万年历的信息,一些在对晚归 考勤系统操作过程的提示信息及输入的内容),便于使用者及时地了解当时的 信息。图中当RS端为低电平时,此时I/O接收的单片机的指令信息用来初始化 12864;当RS端为高电平时,此时I/O接收的单片机的数据信息即要显示的信息。 对PSB端施加一个高电平,设置为并口访问方式;单片机通过PB4端口输出高电 平导通三极管,使LED-电平拉低从而实现12864的背光功能。 液晶模组使用注意事项:屏是玻璃为基础的,跌落或与硬物撞击会引起液 晶屏破裂或粉碎。尤其是边角处。 液晶表面遇口水或滴水,应立即擦除,避免 长时间过后引起色彩变化或留下污点。仅对 I/O 端子焊接。只能使用合理接地 并没有漏电的烙铁。使用内充焊锡膏的低温焊锡丝。如果使用助焊剂,应遮盖 液晶表面,防止焊剂溅污。之后去除焊剂残留物。 焊接温度:280C+10C , 接时间:3-4 秒。驱动电压应控制在规定的范围内,超出范围会缩短液晶使用 寿命。 2.5 电源模块电源模块 本设计使用的是+5V 电源,电源是能为负载提供稳定交流电源或直流电源 的电子装置,包括交流稳压电源和直流稳压电源两大类。随着社会飞速前进, 用电设备与日俱增。但电力输配设施的老化和发展滞后,以及设计不良和供电 不足等原因造成末端用户电压的过低,而线头用户则经常电压偏高。对用电设 备特别是对电压要求严格的高新科技和精密设备,犹如没有上保险。 不稳定的 电压会给设备造成致命伤害或误动作,影响生产,造成交货期延误、质量不稳 定等多方面损失。同时加速设备的老化、影响使用寿命甚至烧毁配件,使业主 面临需要维修的困扰或短期内就要更新设备,浪费资源;严重者甚至发生安全 事故,造成不可估量的损失。因此选择合适的电源对于本设计来说也非常重要。 2.6 键盘模块键盘模块 矩阵键盘又称为行列式键盘,它是用 3 条 I/O 线作为行线,4 条 I/O 线作为 列线组成的键盘。在行线和列线的每一个交叉点上,设置一个按键。这样键盘 中按键的个数是 34 个。这种行列式键盘结构能够有效地提高单片机系统中 I/O 口的利用率。 在单片机应用系统中,通常使用机械触点式按键开关,其主要功能是把机 械上的通断转换成为电气上的逻辑关系。也就是说,它能提供标准的 TTL 逻辑 电平,以便与通用数字系统的逻辑电平相容。此外,除了复位按键有专门的复 位电路及专一的复位功能外,其它按键都是以开关状态来设置控制功能或输入 数据。当所设置的功能键或数字键按下时,计算机应用系统应完成该按键所设 定的功能。因此,键信息输入是与软件结构密切相关的过程。 对于一组键或一 个键盘,通过接口电路与单片机相连。单片机可以采用查询或中断方式了解有 无按键输入并检查是哪一个按键按下,若有键按下则跳至相应的键盘处理程序 处去执行,若无键按下则继续执行其他程序。矩阵键盘如图 2-4。. 9 图 2-4 矩阵键盘 2.7 指纹采集模块指纹采集模块 指纹采集模块这本设计中起到了至关重要的作用,由于指纹识别技术难以 设计,所以我本次设计买了一个 FPM10A 指纹识别器,对于指纹识别器的电路 结构在此不一一讲解,只是对其工作过程加以详解。 2.7.1 指纹识别器简介 FPM10A 指纹采集仪是推出的新一代光学产品,如图 3-6,它性地解决了 目前行业内光学指纹识别模块存在的干手指适应性、产品一致性、产品体积与 厚度三大难题:采集头表面经过特殊处理,有效解决光学传感器采集干手指适 应性较差的问题,在采集头元器件选择上率先采用特殊材料,彻底解决了传统 玻璃三棱镜产品一致性较低的问题,在光路设计和比对算法开发上取得重大突 破,解决了光学识别模块厚度较大,指纹类产品开发外观设计受限的问题。 FPM10A 指纹采集仪的具体参数如下表 2-5。 10 类别 指标项目指标说明 指纹传感器类型光学式 探测技术光学成像技术指纹传感器 抗静电指标 15KV 指纹图像录入时间1秒 认辨率0.0001%(安全级可调) 拒真率 0.1% 比对时间1秒 指纹算法 指纹验证方式支持指纹验证(1:1)和指纹搜索(1:N) 工作温度 1055 环境指标 相对湿度20%90%(无凝露) 通讯接口支持 USB 和 RS-232通信接口 通信接口 RS232通讯波特率9600BPS-115200BPS 可调(缺省值9600BPS) 规格尺寸长宽厚 55mm39mm1.6mm 表 2-5 FPM10A 指纹采集仪的具体参数 全局特征是指那些用人眼直接就可以观察到的特征,包括:基本纹路图案 环型(loop),弓型(arch),螺旋型(whorl)如图 2-6 所示。其他的指纹图案都 基于这三种基本图案。仅仅依靠图案类型来分辨指纹是远远不够的,这只是一 个粗略的分类,但通过分类使得在大数据库中搜寻指纹更为方便。 环型 弓型 螺旋型 图 2-6 基本指纹按图 2.7.2 纹识别系统的工作原理 指纹识别技术是指使用取像设备读取指纹图像,通过识别软件提取出指纹 图像中的特征数据,然后根据匹配算法得到的结果鉴别指纹所有人身份的生物 特征识别技术。 指纹识别系统主要涉及三大步骤:指纹图像预处理、特征提取、特征匹配三 个部分,指纹识别流程框图如图 2-7 所示。 11 指 纹 预处理 指 纹 特征提取 指 纹 匹 配 指 纹 识 别 指纹库 图 2-7 指纹识别器工作过程 1)指纹图像采集 较早出现的活体指纹采集设备是光电式的,现在仍为大多数自动指纹识别 系统所使用。后来出现的电容式和电感式的采集设备,在某些条件下可提高指 纹采集的质量,但在耐磨性和稳定性等方面还存在一些问题。对干、湿、脏的 指头或磨损严重的指纹均能可靠、正确的进行采集和尽量减少采集时的变形是 指纹采集技术需要解决的主要问题。 到目前为止,光学采集头提供更加可靠的解决方案。通过改进原来的光学 取像技术,新一代的光学指纹采集器更是以无可挑剔的性能与相对非常低的价 格使电容方案相形见绌。 光学技术需要一个光源从棱镜反射到按在取像采集头上的手指,光线照亮 指纹从而采集到指纹。光学取像设备依据的是光的全反射原理(FTIR)。光线照 到压有指纹的玻璃表面,反射光线由 CCD 去获得,反射光的量依赖于压在玻璃 表面指纹的脊和谷的深度和皮肤与玻璃间的油脂和水分。光线经玻璃射到谷的 地方后在玻璃与空气的界面发生全反射,光线被反射到 CCD,而射向脊的光线 不发生全反射,而是被脊与玻璃的接触面吸收或者漫反射到别的地方,这样就 在 CCD 上形成了指纹的图像。 2) 预处理 通常,指纹采集器采集到的指纹是低质量的,存在的噪声较多。通过预处 理,将采集到的指纹灰度图像通过预滤波、方向图计算、基于方向图的滤波、 二值化、细化等操作转化为单像素宽的脊线线条二值图像,基于此二值图像对 指纹的中心参考点以及细节特征点特征等进行提取。指纹图像预处理是自动指 纹识别系统基础,是进行指纹特征提取和指纹识别不可缺少的重要步骤。好的 预处理方法可以使得到的单像素宽脊线线条二值图像更接近被提取者的指纹, 更准确地反映被提取指纹的特征。因此可以使后续处理中提取的指纹特征更准 确,特征提取更迅速。指纹图像预处理的一般过程如图 2-8 所示。 指纹图像的预处理一般采用图像增强、二值化和细化的方法来抽取脊的骨架。 这类方法受指纹图像质量的影响比较大,难以得到令人满意的结果。很多研究 者提出了不同的预处理方法,这些方法是用局部脊方向和局部自适应阈值来增 强指纹图像,但各自都有一些局限性。例如,用分块的方法实现局部自适应阈 值并得到该块内的脊方向。这些方法通常是分别得到骨架和方向流结构,缺乏 相关性。 12 图 2-8 预处理框图 3) 特征提取 指纹的特征点分为全局特征和和局部特征【10】。在考虑局部特征的情况下, 有学者认为,在比对时只要 13 个特征点重合,就可以确认是同一个指纹,对于 不同的应用情况,要求匹配的特征点的个数会有所不同,如:用在公安刑侦时 要求匹配特征点的个数就要比用在指纹考勤时多。指纹的细节特征可以有 150 种之多,但这些特征出现的概率并不相等,很多特征是极其罕见的。一般在自 动指纹识别技术中只使用两种细节特征:纹线端点与分叉点。纹线端点指的是 纹线突然结束的位置,而纹线分叉点则是纹线突然一分为二的位置。大量统计 结果和实际应用证明,这两类特征点在指纹中出现的机会最多、最稳定,而且 比较容易获取。更重要的是,使用这两类特征点足以描述指纹的唯一性。通过 算法检测指纹中这两类特征点的数量以及每个特征点的类型、位置和所在区域 的纹线方向是特征提取的任务。 4) 指纹比对 指纹比对指的是通过对两枚指纹的比较来确定它们是否同源的过程,即两 枚指纹是否来源于同一个手指。指纹比对主要是依靠比较两枚指纹的局部纹线 特征和相互关系来决定指纹的唯一性。指纹的局部纹线特征和相互关系通过细 节特征点的数量、位置和所在区域的纹线方向等参数来度量。细节特征的集合 形成一个拓扑结构,指纹比对的过程实际就是两个拓扑结构的匹配问题。由于 采集过程中的变形、特征点定位的偏差、真正特征点的缺失和伪特征点的存在 等问题,即使是两枚同源的指纹,所获得的特征信息也不可能完全一样,指纹 比对的过程必然是一个模糊匹配问题。 6) 可靠性问题 计算机处理指纹图像时【5】,只是涉及了指纹有限的信息,而且比对算法不 是精确的匹配,因此其结果不能保证 100%准确。指纹识别系统的重要衡量标志 是识别率,它主要由两部分组成:拒判率和误判率。我们可以根据不同的用途 来调整这两个值,FRR 和 FAR 是成反比的,可以用 11.0 的数或百分比来表 示。尽管指纹识别系统存在可靠性问题,但其安全性也比相同可靠性级别的“用 户 ID 十密码”方案的安全性高得多。例如采用四位数字密码的系统,不安全概 率为 0.01%,如果同采用误判率为 0.01%指纹识别系统相比,由于不诚实的人 预处理 预滤波 方向图 方向滤波 二值化 细化 13 可以在一段时间内试用所有可能的密码,因此四位数密码并不安全,但是他绝 对不可能找到一千个人去为他把所有的手指(十个手指)都试一遍。正因为如此, 权威机构认为在应用中 1%的误判率就可以接受。FRR 实际上也是系统易用性 的重要指标。由于 FRR 和 FAR 是相互矛盾的,这就使得在实际应用系统的设 计中,要权衡易用性和安全性。一个有效的办法是比对两个或更多的指纹,从 而在不损失易用性的同时,最大限度地提高了系统的安全性。 2.7.3 指纹识别系统的工作模式 自动指纹识别系统的工作模式可以分为两类:验证模式和辨识模式。 验证就是通过把一个现场采集到的指纹与一个已经登记的指纹进行一对一 的比对,来确认身份的过程。作为验证的前提条件,学生的指纹必须在指纹库 中已经注册。指纹以一定的压缩格式存储,并与其姓名或其标识联系起来。随 后在比对现场,先验证其标识,然后,利用系统的指纹与现场的指纹比对来证 明其标识是否是合法的。所以指纹考勤系统属于验证3。验证过程如图 2-9 所 示。 图 2-9 指纹验证过程 辨识则是把现场采集到的指纹同指纹数据库中的指纹逐一对比,从中找出 与现场指纹相匹配的指纹,这也叫“一对多匹配” 。辨识过程如图 2-10 示。 学号 比对 指纹库 指纹特征 值 用户指纹 指纹特征 值 学生学号 6 登记 指纹库 6 用户指纹 指纹特征 值 指纹特征 值比对 学生学号 登记 14 图 2-10 指纹识别过程 光学指纹采集仪实物图,如图 2-11。. 图 3-11 光学指纹采集仪 刷指纹注意事项:按指纹前,应注意手指是否干净。手指上不要带有脏物 及可能的化学腐蚀物,按指纹前手指保持清洁,确保指纹考。将已经存档的手 指平放于刷指纹镜面上,指纹机语音提示“谢谢”即操作成功。如果不成功,就 需要再次放入指纹,或者用备用指纹刷。刷指纹要尽可能大面积接触感应板, 不要有翘、刮、滑、晃动、抠镜面等动作。指纹考勤系其他键盘不许随便按动, 刷指纹成功后,不得重复、随意乱刷。指纹考勤机对手指干燥、太冷等会感应 失灵,自己要提前处理后再试(可用口呵温、润)手不可有水。 15 3.硬件设计 本章将详细介绍硬件电路的电路设计,单片机最小系统的设计,液晶部分 的设计,电源电路设计,键盘电路设计,由于指纹识别模块属于购买网上购买, 只需接四根跳线都主控电路板上,因此不作详细介绍。 3.1 最小系统电路设计最小系统电路设计 单片机 ATmega128 单片机共有 5 个复位源,它们是:1. 上电复位:当系 统电源电压低于上电复位门限 Vpot 时,MCU 复位。2. 外部复位:当外部引 脚 RESET 为低电平,且低电平持续时间大于 1.5us 时,MCU 复位。3. 掉电检 测(BOD)复位:BOD 使能时,且电源电压低于掉电检测复位门限(4.0v 或 2.7v)时,MCU 复位。4. 看门狗复位:WDT 使能时,并且 WDT 超时溢出时, MCU 复位。5. JTAG AVR 复位:当使用 JTAG 接口时,可由 JTAG 口控制 MCU 复位。图 3-1 是 ATmega128 单片机最小系统电路图。 图 3-1 ATmega128 单片机最小系统电路图 16 3.2 液晶电路设计液晶电路设计 12864A-1 汉字图形点阵液晶显示模块,可显示汉字及图形,内置 8192 个中文 汉字(16X16 点阵) 、128 个字符(8X16 点阵)及 64X256 点阵显示 RAM(GDRAM) 。主要技术参数和显示特性:电源:VDD 3.3V+5V(内置升压 电路,无需负压);显示内容:128 列 64 行。显示颜色:黄绿。显示角度: 6:00 钟直视。LCD 类型:STN 与 MCU 接口:8 位或 4 位并行/3 位串行,配 置 LED 背光,多种软件功能:光标显示、画面移位、自定义字符、睡眠模式等。 在原理图设计中我们采用单排座作为转接口,进行液晶电路板的制作原理如图 3-2。 图 3-2 液晶显示模块 3.3 电源电路设计电源电路设计 如图 3-3 是电源模块的原理图: 图 3-3 电源模块 17 3.4 键盘电路设计键盘电路设计 本模块采用 3*4 矩阵键盘,原理图如下图 3-4。 3-4 矩阵键盘设计 18 4.软件设计 系统软件设计包括系统主功能模块设计,管理员密码修改,删除指纹模块, 清空指纹模块,系统时间设置,指纹考勤过程设计,下面详细讲解软件设计的 过程方法。 4.1 通讯控制总站软件设计通讯控制总站软件设计 (1)主程序框图 总体设计,如图 4-1。 本系统以 ATMEGA128 单片机为核心,用 FPM10A 光学模块完成指纹的识别、 采集、存储,通过单片机完成对指纹的计时、计数。实现对指纹签到的精确统 计。 图4-1 通讯控制总站主CPU主程序框图 4.2 系统主功能模块设计系统主功能模块设计 基于指纹识别的考勤系统是先将本栋宿舍楼学生的指纹先记录存储到指纹 数据库中,学生在晚上签到考勤时系统会自行验证。核实当前学生的身份,之 MEGA128 对指纹录入的时间、 次数计数 12864 液晶 即时显示 对指纹的 识别、存 储 FPM10A 指纹识别 器 矩阵键盘 19 后实行当日的考勤方案。经后台管理员核实,最终显示考勤结果。 指纹管理模块能模块设计如图 4-2 图 4-2 指纹管理模块能模块设计 指纹采集模块主要是本宿舍楼所有进行签到时,指纹采集器对职员的指纹 进行预处理,特征提取。学生晚上签到时进行指纹登陆的数据可以作为原始考 勤数据的来源,指纹采集器采集到指纹图像后,才能被计算机进行识别、处理。 指纹图像的质量会直接影响到识别的精度以及指纹识别系统的处理速度,因此指 纹采集技术是指纹识别系统的关键技术之一。指纹的表面积相对较小,日常生活 中手指常常会受到磨损,所以获得优质的指纹细节图像是一项十分复杂的工作。 指纹比对算法模块主要对提取到的指纹特征与指纹数据库的指纹进行辩识 和验证两种不同的比对算法。进而核实身份。 管理模块是供指纹管理员使用,用于设置用户信息,设置考勤参数,处理 特殊考勤,备份考勤数据等。该模块允许系统管理员进行系统设置。结果统计 模块是用户统计考勤数据,如按月考勤学生的晚归情况,机采集到的信息进行 过滤处理,只保留每天考勤记录,然后按学生姓名学号,期或其他分类方式进 行统计。 4.3 管理员密码修改管理员密码修改 管理员密码只有系统的管理员可以更改,即本宿舍楼的管理员可以修改, 否 是 开始 初始化系统 显示龙岩学院校徽 输入管理员 密码 主菜单 1.管理员 密码修改 2.指纹库 管理 3.系统日 期设置 20 当管理员输入密码时,才能对菜单下的指纹,时间进行管理,管理员密码修改 流程图如图 4-3。 图 4-3 管理员密码修改流程图 4.4 删除指纹模板程序设计删除指纹模板程序设计 删除指纹模板就是管理员删除无用的指纹模板,即将无用的指纹特征信息 从存储器中删除。管理员输入要删除指纹的学生学号,确认删除存储器中对应 学生学号的指纹特征信息及学号,图 4-4 是登记指纹模板流程图,图 4-5 是删 除指纹流程图。 是 否 开始 输入管理 员密码 主菜单 管理员密码修改 成功? 退出 否 是 21 图 4-4 登记学生指纹模板流程图 是 否 否 库中无学号 否 开始 采集学生指纹 库中有无此指 纹? 提示该指纹录入 输入学号 学号超出范围?提示学号错误 该学号已登记 存储该指纹并登 记新学号 成功? 退出 是 是 否 22 图 4-5 删除学生指纹模板流程图 4.5 清空指纹模板程序设计清空指纹模板程序设计 清空指纹模板就是管理员删除全部指纹模板程序流,清空指纹模板有利于 对新的数据进行统计,避免了旧数据的干扰。流程图 4-6 表示清空指纹过程。 否 是 开始 输入删除指纹对应的学 生学号 学号超出范 围 提示学号错 误 删除指纹和学号 成功? 退出 是 否 是 否 23 图 4-6 清空学生指纹模板流程图 4.6 设置系统时间设置系统时间 系统时间设置是实时对时间保持更新,保证指纹考勤系统数据的准确性, 设置系统时间流程图如图 4-7。 是 否 开始 主菜单 指纹库管理 清空指纹 成功? 退出 24 图 4-7 设置系统时间流程图 4.7 指纹识别考勤系统考勤过程指纹识别考勤系统考勤过程 在对基于指纹识别考勤系统深入了解之后,我认为所做的流程图是切实可行 的,同时更便于计算机管理及提供更多的辅助决策,以满足不同人的需求。 考勤系统开始运行,首先系统初始化,包括考勤时间,学生信息系统模块一 并初始。同时指纹采集器开始工作,如果没有学生进行指纹登录,则系统等待; 学生使用指纹进行登录后,系统开始调用数据库中的指纹与该学生的指纹进行 比对,经过比对后,如果该学生的指纹在数据库中存在,则系统显示登录成功, 并显示学生信息,这时需要学生对自己的信息进行确认,系统对此时的信息进 行记录,此时完成一个学生指纹登录的过程。指纹识别考勤系统考勤过程如图 4-3。 开始 主菜单 设置系统时间 设置时间, *年:*月:*日:*时:*分 成功? 退出 否 是 25 图 4-7 指纹识别考勤系统考勤过程 本章小结:本章小结: 软件的设计应遵循一个原则就是要充分利用好单片机 CPU 的资源,尽量不 让其空闲。因此软件的设计对于单片机控制系统来说也是很重要的,本系统软 件的设计采用模块化设计使设计思路明确,且便于调试和修改。 否 将手指按在指纹识别器 3 秒钟 是 开始 与指纹库数据比对 记录编号和时间 退出 26 5.系统测试 主要是对系统进行功能测试,测试系统是否完成预定的功能,保障系统满 足学校晚归考勤系统的要求,确保硬件和软件的质量和可用性。 5.1 用例测试用例测试 下面是对系统测量的两组数据,例 1 是对学生 2008041532 一周晚归情况的记录 数据。例 2 是对七位学生在 3 月 1 号只一天的晚归记录情况。学生考勤管理模 块的测试用例如下: 例 1:学生 2008041532 签到时间如表 5-1。 用例学生学号签到时间是否晚归 例 120080415322012.03.01 22:15否 例 220080415322012.03.02 22:45否 例 320080415322012.03.03 23:15是 例 420080415322012.03.04 22:08否 例 520080415322012.03.05 22:48否 例 620080415322012.03.06 22:09否 例 720080415322012.03.06 22:18否 表 5-1 学生 2008041532 签到时间 表 5-1 是学生 2008041532 三月 1 日至 7 日共 7 天的签到时间,23:00 之前签 到属于正常回宿舍,23:00 之后属于晚归,记录数据显示该生晚归一次,晚归时 间是 2012 年 3 月 3 日。 例 2:表 5-2 七名学生签到时间 用例学生学号签到时间是否晚归 例 12008041532 2012.03.01 21:35否 例 22008041533 2012.03.01 22:39否 例 32008041534 2012.03.01 22:59否 例 42008041535 2012.03.01 22:48否 例 52008041536 2012.03.01 22:37否 例 62008041537 2012.03.01 23:35是 例 72008041538 2012.03.01 22.39否 图 5-2 七名学生签到时间和晚归情况 图 5-2 显示的测试结果中,七名学生在 2012 年 3 月 1 日有一名同学是在 23:00 之后回宿舍,属于晚归情况,学号是 2008041537。 27 5.2 测量误差分析测量误差分析 本次系统测试测量误差多方面。首先,有指纹识别器读取指纹错误,不同 同学的指纹识别时混淆,记录晚归情况不实。其次,手指上可能带有脏物及可 能的化学腐蚀物,按指纹前手指保持清洁和干燥,如果有水或者其他物体遮挡 都会影响指纹读取和识别。另外,系统设置时间与现实准确时间相差太大,也 会造成记录的数据有误差。 5.3 展望展望 根据测试用例对本系统进行测试,测试出来结果跟预期结果一样,说明本 系统达到了预期的功能要求。在软件的功能实现上面已经达到了要求,但是对 数据输入的验证存在问题。建议的改进:引入更多的数据验证代码和服务器端 的数据验证代码。所以软件在能力上已经达到了要求。限制方面最主要的是对 输入数据的限制,也就是说用户尽量输入符合规范的数据。对输入的界面、方 式以及验证在后面可以慢慢修改。功能已经完成并有一定的纠错能力可以使用。 随着现代化经济建设和管理的发展,各种酒店、宾馆、写字楼、智能大厦、 政府机关和企事业单位、高级物业管理部门等,对指纹考勤系统的需求正发生 着重大的变化,其核心是考勤实现智能化管理。 在社会的进步和科技的发展的前提下,人类社会进入了信息化时代。在此 基础上各个领域都会不断的发展,鉴于此,此设计还有很大的发展空间,芯片 方案的选择,更多元化的控制,更人性化的操作,当然还有存储空间的扩大, 这些都是之后的考勤系统发展的方向和未来。总体来说,在以后各种新型的、 智能化理论成果不断发展下,指纹考勤系统还会有更加繁多的变化。 28 6.系统的抗干扰措施 系统的抗干扰设计是系统设计的重要内容之一,系统工作的可靠性、安全 性在很大程度上取决于抗干扰技术,我们可以从硬件和软件方面提高系统的抗 干扰性。 6.1 系统硬件抗干扰措施系统硬件抗干扰措施 本指纹考勤系统在印刷电路板设计过程中,从尺寸的选择、元器件的布置、 地线布置、电源线布置以及去耦电容的配置等各方面均充分考虑系统可靠性的 要求,采取了如下的抗干扰措施: 1.抑制和切断干扰源 单片机、指纹识别模块等耗能较大芯片的电源端与接地端之间并接 0.01f 的独石电容,以减少与电源间的耦合作用。高频电容的布线,连线靠近电源端 并尽量粗短。地线尽量加粗,系统中地线一般使用 30mil(1mil0.0254mm) , 最粗达到了 100mil。布线时避免 90 度折线,减少高频噪声发射。电路板合理分 区,用地线把数字区与模拟区隔离。给单片机电源加 SPY0029 稳压器,给指纹 识别模块和液晶显示模块加降压型开关稳压电源控制器 AE2596,以减小电源噪 声对系统的于扰。单片机和大功率器件(如继电器)的地线单独接地,以减小 相互干扰。大功率器件(如继电器)放在电路板边缘,与敏感元件(单片机) 远离。 2.提高敏感器件的抗干扰性能 ATMEGA128 单片机自带硬件看门狗电路。看门狗(Watch Dog)在计算机 系统中是一个最忠实的可信赖的硬件,用来保证系统长久运行。ATMEGA128 单片机的看门狗的清除时问周期为 0.75s,如果看门狗的计数在固定的时间间隔 内被程序指令不断地清除而不产生溢出,表明程序运行正常。但若在规定的时 间间隔里看门狗的计数未被清除而产生溢出,则表示程序运行正常,CPU 自动 使系统复位处理(相当于硬件复位) 。 6.2 系统软件抗干扰措施系统软件抗干扰措施 为提高系统软件可靠性,在系统软件开发过程中,采取了如下可靠性措施。 单片机在运行过程中,如果受到较强的干扰,系统内各芯片的工作方式控 制字极易受到破坏,使各输入/输出口失去原来定义的功能,导致系统不能正常 工作,针对这种情况,在循环处理程序中定期地、有条件地对各方式控制单元 进行重复的初始化,这样方式控制字一旦被破坏,还可以及时得到修复。 单片机最易受干扰的是内部程序计数器 PC 的值,在受到强电干扰时,PC 的值会改变,使 CPU 误将程序从正确位置跳到一些无意义的区域内执行,导致 程序运行跑飞。在程序模块间和程序之后增设由若干个空操作指令和条无条 29 件跳转指令组成的陷阱。一旦程序跑飞跌落陷阱,便转入相应的失控处理程序, 在进行了工作单元的初始化及有关控制字的设定后,跳到正常的循环处理程序 中,从而恢复程序的正确流程。 结 束 语 指纹识别考勤系统是基于生物特征识别技术的一项高科技安全设施,近年 来在国内外得到了广泛的应用,并已成为现代化建筑智能化的标志之一。对于 一些核心机密部门,如重要机关、科研实验室、档案馆、民航机场等场所,指 纹考勤系统可以提供高效、智能、便捷的授权控制。由于指纹具有携带方便、 人人各异、终生不变的特点,因此利用指纹识别作为身份认证的手段,与传统 的钥匙、密码相比,大大提高安全可信性。 本论文主要设计实现了一种指纹考 勤系统,具体地阐述了指纹考勤系统的设计方法,包括系统功能的确定、系统 的硬件设计、系统的软件设计以及系统抗干扰措施。 对本次毕业设计的顺利完成我做了如下总结: 1. 回顾和总结了指纹识别技术及其应用,对指纹考勤系统的可行性进行了 分析,设计了指纹考勤系统的实现方案。 2. 配合该实现方案,调研并选择了性价比较高的指纹识别模块、微处理器、 液晶显示模块和实时时钟芯片等。 3. 结合硬件实现方案,进行了硬件电路设计,并完成了相应各个模块对应 程序的设计实现和调试工作,在调试的过程中,根据出现的问题,对硬件和软 件作相应的修改和完善,直至最终定型,实现了系统所要求的功能。 4. 考虑系统抗干扰设计原则,最后设计实现了印刷电路板并进行了系统测 试,保证了系统的稳定工作。 在本次设计的开发过程中还存在以下问题: 1. 指纹比对。指纹识别技术的一次性通过率比较低,往往会因此出现“拒 真”的现象,需要多次检测才能通过,需要采用新的比对算法来提高通过 率。 2. 考勤方案设置太少,不能够满足更详细的需求,这点可以通过增加学生 的属性来细化考勤方案,还需要优化系统。 总之,本系统基本达到了预期目标功能,系统运行可靠、操作简便。 致谢 本毕业设计课题在选题及研究过程中得到李建华老师的悉心指导,李老师 多次询问研究进程,并为我指点迷津,帮助我开拓研究思路,精心点拨、热忱 鼓励。李老师一丝不苟的作风,严谨求实的态度,踏踏实实的精神,不仅授我 以文,而且教我做人,给以终生受益无穷之道。对李老师的感激之情是无法用 言语表达的。 30 通过这次毕业设计,使我得到了一次用专业知识、专业技能分析和解决问 题全面系统的锻炼。使我在学习电路图的方法与技巧、指纹识别技术与应用的 过程,以及在电子产品设计思路技巧的掌握方面都能向前迈了一大步,为日后 成为合格的应用型人才打下良好的基础。我在指导老师李老师的精心指导和严 格要求下,获得了丰富的理论知识,极大地提高了实践能力,并对当前电子领 域的研究状况和发展方向有了一定的了解,这对我今后进一步学习单片机方面 的知识有极大的帮助。在此,我忠心感谢李老师的指导和支持。在未来的工作 和学习中,我将以更好的成绩来回报老师。 在此,我还要感谢在一起愉快的度过大学生生活的电子信息工程全体老师 和同学们,正是由于你们的帮助和支持,我才能克服一个一个的困难和疑惑, 直至本文的顺利完成。 在论文即将完成之际,我的心情无法平静,从开始进入课题到论文的顺利 完成,有多少可敬的师长、同学、朋友给了我无言的帮助,在这里请接受我诚 挚的谢意! 参考文献 【1】王波涛,蔡安妮,孙景鳖指纹图像识别技术及其应用计算机工程与应用, 2001,7(2):79-82 【2】王汝琳智能门禁控制系统M北京:电子工业出版社,200454-57. 【3】杨军指纹识别系统及其应用安防科技,2003,1:57-58 【4】 硬安青松科技股份公司指纹识别的原理和方法安防科技,2003,7:37-38 【5】奚建荣.基于局域网的指纹考勤系统的设计与实现J.电子学报, ,2002,30(11):1923- 1927. 【6】段少雄,田捷.高效指纹考勤系统的研究与实际J.电子学报, ,2002,31(9):1120-1125. 【7】胡达.基于指纹识别系统的应用开发技术J.广西科学院学报,2001,12:42-47. 【8】 王宝元.考勤管理系统J.计算机工程与应用,2002 年,25(11):67-72. 【9】 黄少龙.指纹取像与指纹识别J.计算机工程与应用,2003,38(16):92-98. 【10】苏鹏.改进的指纹细节特征提取算法J.中国图像学报, ,2002,7(12):89-94. 31 附件 附件一:系统原理图 32 附件二:PCB 图 33 附件三:实物图 34
展开阅读全文