刘欢1,方华2
(1.广西科技大学 电气与信息工程学院,广西 柳州 545006;2.广西科技大学 工程训练中心,广西 柳州 545006)
摘要:为提高实验室管理效能,加强高校实验室安全,设计了一种以STM32微处理器、STC89C52单片机为核心的可视化指纹识别门禁控制管理系统,其中STC89C52用于FM-180指纹识别模块及门禁的控制,STM32作为管理系统核心模块,两者通过2.4 G无线通信模块实现数据同步,系统可完成指纹的录入、识别、修改、删除、进入人数统计、被拒人数统计、人员进入时间显示等功能。
关键词:单片机;指纹识别;无线通信;门禁
中图分类号:TP23文献标识码:ADOI: 10.19358/j.issn.16747720.2016.23.027
引用格式:刘欢,方华. 基于指纹识别的实验室门禁管理系统设计[J].微型机与应用,2016,35(23):93-95,99.
0引言
在互联网时代的今天,每个人都有大量的安全认证密码,如银行密码、支付密码、聊天软件密码、开机密码、网站登录密码等,且配备有各种钥匙,如门锁钥匙、车辆钥匙、保险柜钥匙等,这些都是传统的安全系统所采用的密钥认证方式。但是这种传统安全系统的密钥存在易丢失、易遗忘、易被盗用等不安全因素,因此迫切需要一种安全、可靠、方便的认证技术来代替现有的安全认证[1]。
指纹特征是人类终生不变的特征之一,其恰恰具备密钥的3个必要性质:广泛性、唯一性和终生不变性,因此,指纹识别作为一种可靠的生物辨识技术,受到人们青睐和倚重[2]。指纹辨识技术在当今人们的生活和工作中的应用越来越广泛,譬如指纹考勤、指纹银行、指纹商场、指纹接送学生等,此技术正在日益刷新人们的生活方式。在识别技术界悄悄拉开“指纹时代”的巨幕[3]。
高校实验室教学需要更为先进的技术作为支撑,本文针对实验室尤其是高校开放性实验室的管理要求,提出一种基于指纹识别的实验室门禁管理系统,此系统可提高实验室的自主管理程度,方便实验室管理人员有效掌握实验室的使用情况。
1系统设计方案
系统主控单元分为两个部分,STC89C52单片机和STM32微处理器。其中STC89C52单片机主要用于实时控制FM180指纹识别模块,通过编程控制单片机串口与指纹识别模块进行数据通信。FM180指纹识别模块有固定的指令集和数据发送格式,系统程序可以根据指令集和数据发送格式进行编写,进而实现用户指纹录入、识别、修改、删除等功能,同时控制LCD1602液晶显示器和继电器,达到提示用户和实时操纵电子锁开关的功能。STM32微处理器主要用于实现实验室管理,通过2.4 G无线通信模块将同步过来的数据显示在彩屏上,包括室内人数、被拒人数、指纹序号、进入时间等。系统可以保存每个用户最后一次进入的时间,并可以随时方便地在彩屏上进行历史数据查询。其硬件结构图如图1所示。
2硬件设计
2.1STC89C52及其外围电路设计
STC89C52是STC公司生产的一种低功耗、高性能的CMOS 8位微控制器,具有8 KB在系统可编程Flash存储器,使用经典的MCS51内核,其主要特性是自带8 KB程序存储空间和512 B数据存储空间,内带2 KB EEPROM存储空间,可直接使用串口下载。
2.1.1复位电路
本设计采用手动按钮复位,复位电路主要由复位按钮、电阻、电容等组成。当输入连续两个机器周期以上高电平给STC89C52单片机RES引脚时,单片机复位有效。
2.1.2指纹识别模块
FM-180指纹识别模块主要包括指纹采集头和指纹处理电路两部分,指纹采集头使用光学指纹传感器,指纹处理电路由指纹特征提取的高性能DSP处理器和指纹特征存储的Flash等芯片构成。自带DSP处理器的指纹处理模块中集成了固定的指令集和数据传送格式,可以通过处理器的串口与模块进行数据交换,根据用户的命令来完成如指纹的录入、删除、比对等一系列的动作,并将指纹特征值加密后存储于处理模块的Flash中。当用户进行指纹识别时,系统会将采集到的用户的指纹特征值与Flash芯片中存储的指纹特征值进行比较,以确定该用户指纹是否符合要求,实现指纹检测、识别的功能。
STC89C52单片机通过串口与FM-180指纹识别模块进行数据传输,根据指纹识别模块的性能指标,可以通过软件编程将数据通信的波特率设置为9 600 b/s,以实现通信的准确性和可靠性。单片机的RXD(P30)与指纹识别模块的TXD连接,单片机的TXD(P31)与指纹识别模块的RXD连接。
2.1.3按键设计
指纹控制部分包括4个按键,分别为S1、S2、S3、S4,其中S1定义为模式识别转换按键,用于控制系统使其在指纹识别和指纹录入两个模式之间进行切换;S2定义为指纹录入按键,当系统处于指纹录入模式下,按下S2可以进行一次指纹的录入工作;S3定义为指纹清除按键,用以控制对指纹识别模块Flash库中的指纹特征的清除;S4定义为室内一键开门按键,当用户需要出门时,通过此按键可使电子锁门禁打开。
时钟调整部分包括3个按键,分别为S5、S6、S7,其中S5定义为调整选择键,按下此键可以在年、月、日、时、分、秒、星期之间进行切换调整;S6、S7分别定义为数字加1、减1键,通过这两个按键可以将数字快捷地设置为所需时间数据。
2.1.4LCD显示
设计采用LCD1602液晶显示器作为指纹采集、指纹识别等系统当前功能模式的显示提醒工具。通过STC89C52单片机对LCD1602进行控制,在使用相应功能的同时,LCD1602会有相应的语句提示,使系统有更好的可视化效果。单片机通过P0口与LCD1602之间进行数据传输,在LCD1602上显示出相应的字符或数字。
2.1.5电子锁门禁
电子锁门禁电路主要包括电子锁开关电路和用于控制其开关的继电器驱动电路。本设计采用上电开锁形式的12 V电子锁,当电子锁线圈两端电压达到12 V时就会上电开锁,具体接口电路如2所示。其中Q2为PNP型三极管,工作在开关模式下,用于控制继电器的上电和复位。
2.2STM32及其外围电路设计
STM32系列微处理器是专为高性能、低成本、低功耗的嵌入式应用而设计的以ARM Cortex-M3为内核的控制芯片。按性能可分成两个不同的系列:STM32F103“增强型”和STM32F101“基本型”。增强型系列时钟频率达到72 MHz,是同类产品中性能最高的产品;基本型时钟频率为36 MHz,以16位产品的价格得到比16位产品大幅提升的性能,是16位产品用户的最佳选择[4]。两个系列都内置32 KB~128 KB的闪存,不同的是SRAM的最大容量和外设接口的组合。时钟频率为72 MHz时,STM32功耗为36 mA,是32位市场上功耗最低的产品,即0.5 mA/MHz。本设计采用增强型的STM32F103ZET6微处理器。
2.2.1液晶显示
本设计采用的是3.2英寸的TFT彩色显示屏,分辨率为320×240,16位真彩显示。彩色显视屏上显示出室内人数、被拒人数、指纹序号、进入时间等信息。由于STM32微处理器中集成了FSMC总线机制,可以方便地对液晶显示器进行控制,所以通过软件编程设置FSMC控制方式即可实现目的[5]。
2.2.2用户查询按键
查询用户按键与STM32连接,主要用于查询用户最后一次进入时间、指纹序号、历史数据浏览等相关信息。主要包括3个按键,分别为S1、S2、S3,其中按键S1用于进入查询用户模式,此时按键S2、S3分别用于用户信息查询的上、下切换,能快速浏览到用户信息。
2.3无线通信
NRF24L01是一款单片射频收发器件,工作于2.4 GHz~2.5 GHz ISM频段。内置频率合成器、功率放大器、晶体振荡器、调制器等功能模块,并融合了增强型Shock Burst技术,其中输出功率和通信频道可通过程序进行配置。NRF24L01功耗低,在以-6 dBm的功率发射时,工作电流只有9 mA;接收时,工作电流只有12.3 mA。多种低功率工作模式(掉电模式和空闲模式)使节能设计更方便。
2.4G无线通信模块可采用SPI进行控制,SPI口为同步串行通信接口,最大传输速率为10 Mb/s,传输时先传送低位字节,再传送高位字节,但针对单个字节而言,要先传送高位再传送低位。与SPI相关的指令共有8个,使用时这些控制指令由NRF24L01的MOSI输入,相应的状态和数据信息是从MISO输出给MCU。由于STC89C52单片机内部没有集成SPI总线,所以只能通过普通的I/O口模拟SPI通信方式。此处采用STC89C52的P3口进行模拟,根据图3、图4所示的SPI读写时序图,通过软件编程可以实现SPI的通信协议,达到控制目的。
2.4电源
本设计中需要12 V电压为电子锁供电,使其正常通断,5 V电压为STC89C52单片机及其外围电路供电,3.3 V提供STM32微处理器和2.4 G无线模块的正常工作电压。通过3个不同的稳压芯片可以分别得到这三种电压,为整个系统提供稳定电源。
3软件设计
3.1软件设计思路
根据系统硬件电路,系统的软件设计包括以STC89C52为核心的指纹录入和识别、液晶显示子程序,以STM32为核心的系统管理查询、显示子程序和无线通信程序。系统软件部分采用C语言编程,最终将程序分别下载到STC89C52单片机和STM32微处理器中,实现整个系统的通信和其他功能。
3.2指纹录入及识别
(1)指纹录入
FM180指纹识别模块内部集成了专用的函数指令集和数据发送格式,单片机通过指令集访问指纹识别模块,通过数据交换达到控制模块的目的。具体流程如图5所示。
(2)指纹识别
首先检测是否有指纹出现在光学镜头上面,有指纹出现时,发送搜索用户指令,将指纹与指纹库中的指纹作对比。如果与指纹库中指纹符合则返回1,否则返回0。具体流程如图6所示。
3.32.4 G无线通信模块子程序
在启动数据发送之前,将其模式设定为发送模式。将需要发送的数据转入发射寄存器,等待发送。启动发送命令后,数据开始发送,并等待发送完成的标志,发送完成则结束,否则等待发送完成。具体发送流程如图7所示。
在启动数据接收之后,首先模块查询数据是否有更新,如果有数据更新,则将接收到的数据存入缓冲区,并进一步存入用户指定位置,以方便程序调用。具体接收流程如图8所示。
4结束语
随着社会的进步,需要指纹识别可视化门禁系统这种安全管理设施的场所越来越多。本设计采用STM32微处理器和STC89C52单片机协同工作,构造了功能较为完善的可视化指纹识别门禁管理系统。该系统具有用户信息查询功能,不仅可以用于高校实验室门禁还可以用于其他多种场所,具有广阔的市场前景和实用价值。但是,系统在远程监控方面还有所欠缺,需要进一步研究本系统与网络的通信,以满足不同场所的需求。
参考文献
[1] 王超,魏启明,邓安远.无线指纹识别技术在考试系统的应用研究[J].计算机仿真,2010,27(1): 309-312.
[2] 田捷,陈新建,张阳阳,等.指纹识别技术的新进展[J].自然科学进展,2006,16(4):400-408.
[3] 吴成枫,赵振华.基于指纹识别技术的智能门禁系统研究[J].微型电脑应用,2012,28(6):45-47.
[4] 王明冬,方华,刘成凤,等.基于STM32为平台的食堂自助点菜结账装置设计[J].数字技术与应用,2016(1):166-168.
[5] 汤莉莉,黄伟.基于STM32的FSMC接口驱动TFT彩屏设计[J].现代电子技术,2013,36(20): 139-141.