sjy1979的笔记 https://bbs.21ic.com/?689713 [收藏] [复制] [RSS]

日志

基于FSC7002的指纹锁的设计与实现

已有 2019 次阅读2011-5-3 05:28 |系统分类:单片机| 指纹识别指纹锁, FSC7002, 指纹光学采集仪, Atmega88

 摘要  本文介绍一种基于FSC7002指纹识别芯片的指纹密码锁,该方案指纹算法已硬件化,成本低,实现简单,安全可靠。本文对其硬件设计和软件实现进行了详细的描述。指纹锁通使用Atmega88单片机控制FSC7002指纹识别芯片,实现登记指纹,比较指纹,删除指纹等功能。


关键词  指纹识别  指纹锁  FSC7002  指纹光学采集仪  Atmega88


 


一.             引言


每个人指纹的皮肤纹路在图案、断点和交叉点上各不相同,也就是说,是唯一的,并且终生不变。依靠这种唯一性和稳定性,我们就可以把一个人同他的指纹对应起来,通过比较他的指纹和预先保存的指纹进行比较,就可以验证他的真实身份。这就是指纹识别技术。
指纹锁就是利用这种技术的一种先进锁具,它相比原来的机械锁和电子密码锁有更高的安全性,使用更方便的特点。下文将探讨一种简单的指纹锁的设计与实现方法。这种技术可推广应用到考勤、门禁、保险箱柜等领域。


 


二.             系统组成


 系统由单片机系统、指纹识别模块、指纹光学采集仪组成,硬件结构框图如图1




11 单片机系统


系统采用Atmega88作为控制核心,配备键盘、液晶显示电路、指纹登记开关、蜂鸣器,电机,报警器。硬件结构框图如图2



    Atmega88Atmel公司新推出的一种低功耗、高性能8AVR微处理器,采用先进的RISC结构,它具有以下标准功能:8k字节Flash1K字节RAM512字节的EEPROM23位可编程的IO口线,610位的ADC,可工作于主机/从机模式的SPI串性接口,具有独立片内震荡器的可编程看门狗定时器,可编程的串行USART接口,28位定时器/计数器,116位定时器/计数器,,经标定的片内震荡器,五种休眠模式。其性能完全可以满足系统的要求。
    液晶显示采用MzLH04-12864 串行SPI字库LCD模块,它内带汉字字库,可以方便地显示汉字及图形;可以同时显示48列个单元,可以一次显示系统所有状态信息;显示的内容不需要刷新,节省了单片机的资源;电路结构简单,三线SPI串行通信,便于控制,功耗低。键盘用于输入密码和设置系统。蜂鸣器用于发出语音提示。指纹登记开关用于指纹的登记和删除。单片机通过控制电机的正反转,实现开锁和上锁。报警器在连续三次输错密码和检测到震动时报警。


 


12指纹识别模块


指纹识别模块采用成都方程式电子有限公司设计的FSC7002指纹识别芯片。FSC7002是基于Finchos IC-Bus Rev.A2总线结构8BITS FMCU8KB 嵌入式微控制器、FID116KMG指纹识别处理模块的专用指纹识别集成电路。其提供32可编程接口,SPIFLASH接口,SPI指纹传感器接口,光电传感器通信接口,DMA数据\命令控制通道,UART通信\调试接口,PWM音频输出接口,通过内嵌的微控制器对片上各功能单元与外部芯片的协调,可快速构建低成品的用户定制化指纹识别应用系统。FSC7002指纹算法已硬件化,安全可靠。


 


13 指纹光学采集仪


指纹光学采集仪一般由棱镜,透镜, COMS采集板组成。负责采集指纹图象。FSC7002支持的指纹传感器有:面阵式FPC1011C/F,光电式GC0303,光电式HV7131,滑动式AES2510, 滑动式SW6888, 滑动式ATW310/300。本系统采用了光电式HV7131采集指纹图象。这传感器采用了自主创新的光学微调距焦专利,使得指纹图像更清晰,拥有较好的影像采集处理能力,能够采集高达500分辨率的图像。


 


14 通信接口


单片机Atmega88FSC7002之间通过串行USART接口相连接。单片机的RXD接到FSC7002TXD。单片机的TXD接到FSC7002RXD。单片机系统通过键盘或指纹登记开关获得了需要执行的命令或动作后,发送命令给FSC7002,让它执行相关操作。通信接口图如图3


  



21 Atmega88单片机软件编程


对于AVR系列单片机,目前常用的语言有汇编和单片机C语言。本系统软件采用ICCAVR程序编写。主要由主程序、键盘扫描和液晶显示子程序、电机驱动子程序、串口发送和接收子程序等部分组成。


 串口发送和接收子程序功能。完成Atmega88FSC7002的通信。单片机发送动作命令给FSC700,然后等待FSC700收到命令后执行相关动作返回结果,成功或失败。如果超时还收不到回应信息,系统将报错,然后进入睡眠模式。主要命令有3个,分别是登记指纹,比较指纹,删除指纹。


按键或按登记开关都可以唤醒系统,系统不停检测输入信号,判断需要执行的动作。如果登记开关被按下了,单片机就发送登记指纹命令给FSC7002FSC7002把新指纹信息保存好后,发送成功回应给单片机,单片机发出完成信号后,就进入睡眠状态等待下一个操作发生。流程图如图4所示。




22 FSC7002指纹识别芯片软件编程


    FMCU8KB嵌入式微控制器是FINCHOS开发的高速8BIT微处理器,其内嵌8KB程序\数据缓冲器,128byte的核内缓存,兼容8051指令集,3级流水线结构,可使用通用的8051软件开发工具进行进行软件开发。本系统软件采用Keil C51程序编写。主要由主程序、登记指纹子程序、比较指纹子程序、删除指纹子程序、串口发送和接收子程序等部分组成。流程图如图5所示


 


三. 结束语
    本指纹锁系统,充分发挥了FSC7002指纹识别芯片的指纹识别能力,通过AVR单片机的强大控制能力,实现了电子锁需要的各种功能。系统在实际应用中收到了满意的效果。我们可以通过使用FSC7002指纹识别芯片,快速地把指纹识别技术应用到考勤、门禁、保险箱柜等领域。


 


参考文献


[1]FSC7002 DATASHEETFINCHOS 方程式,2008.12


[2] ATmega48(V)_88(V)_168(V)中文数据手册,ATMEL,2007.4


 


注意:现发现FSC7002芯片的手指检测算法有缺陷,请使用触摸芯片检测手指。


路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)