潘欣荣
广东鼎华科技股份有限公司 广东佛山 528000
摘要:为了更好地服务于实验室管理,提高高校实验室的智能化管理,设计并实现了一种采用嵌入式技术的基于单片机的指纹门禁系统,给实验室管理者和学生提供了便利。
关键词:指纹识别;门禁系统;嵌入式技术;单片机
随着社会的进步,人们安全意识的提高,高安全的门禁系统成为社会工作、生活环境中重要的环节。但传统的门禁系统由于鉴别方式、速度和性能等方面的限制,很难满足安全可靠和网络化的控制需求。同时,随着识别技术和网络技术的飞速发展,门禁系统也得到了飞跃式的发展,出现了基于指纹识别的门禁系统。这种系统具有安全性、方便性和易管理性等特点。对于高校而言,实验室是教师科研、学生科学实验的重要场所,承担实践能力、创新能力和工程应用能力培养的重要任务。为提高高校实验室的智能化管理,开发设计一种指纹门禁系统,下面将对本系统的设计以及实现进行介绍。
1.系统方案设计
系统由控制模块、指纹传感器模块、显示模块、电磁锁控制模块和报警模块等组成.控制模块选用的是STC 公司生产的基于MCS-51 内核的8 位微控制器STC89C52, 指纹传感器模块选用的是FPM10A 光学指纹传感器采集及识别指纹信息,显示模块用于实时显示系统的状态信息,电磁锁控制模块用于控制门的开关状态,报警模块则用于提示管理员门禁系统故障或者无关人员企图进入限制区域,系统结构框图如图1 所示
图1 系统结构框图
2.系统硬件电路设计
2.1 系统电路原理图设计
系统选用的控制器是宏晶科技推出的新一代具备高速、低功耗和超强抗干扰特点的STC89C52单片机,是系统的控制核心.根据系统工作需要设计的外围电路有时钟电路、复位电路、指纹模块电路、报警电路、液晶显示电路和控制电路等部分组成.
2.2 FPM10A 光学指纹传感器
光学指纹传感器是利用光的折射和反射原理,通过CMOS 或者CCD 的光学器件采集到不同明暗程度的图片信息,完成指纹数据的采集[1].本系统选用的光学指纹传感器模块的型号是FPM10A,该传感器模块有VCC(接3.6V-5.5V)、GND(电源地)、TXD、RXD 和NC 等五个端口,采用半双工异步串行通讯,TXD 为串口的数据发送端,RXD 为串口的接收端,其默认波特率为57600bps,也可根据实际需要通过命令设置为9600~115200bps.
传感器模块的TXD 和RXD 端口分别与STC89C52 单片机的P30 (RXD) 和P31(TXD)相连进行数据传输,传输的帧格式如图2 所示.
图2 FPM10A 传输的帧格式
2.3 电磁锁
电磁锁是利用电生磁的工作原理,当有电流通过硅钢片时会产生强大的磁力吸附固定在门框或墙体的铁板从而实现锁门的效果[2].当门禁系统识别到有进入实验室权限的人员时电磁锁电源断开,即可进入实验室,否则无法进入实验室.本系统选用户内型磁力锁,具有控制方便、功耗低、性能稳定、安全系数高等优点.
2.4 报警模块
报警模块的功能是当门禁系统故障或有未受权限人员企图进入实验室时发出警报声,工作原理是系统利用微控制器的P36 端口输出高、低电平和三极管驱动电路控制蜂鸣器工作[3].
2.5 LCD 液晶显示模块
LCD12864 液晶显示模块的功能是实时显示系统的工作状态,当指纹模块检测到有实验人员的指纹后,显示“欢迎进入XX 实验室!”;当指纹匹配不正确时,显示“指纹匹配不正确,请重新识别!”;当匹配不正确次数达到三次以上时,显示“指纹库中没有您的信息,请联系管理员!”等.管理人员可以根据实际实用需要还可以设计显示一些其他实用的提示语,帮助广大师生更友好的使用本系统.
3.系统软件设计
3.1 系统程序设计思想
该实验室门禁系统通过主控芯片与指纹模块和电磁锁模块联系起来,使得只有通过门禁系统的验证才能顺利进入室内进行各种实验活动.系统使用前,用户先将指纹库初始化,然后录入管理员和相关有权限进入实验室人员的指纹并保存,设定好之后只需将手指放在指纹传感器的感应端即可控制电磁锁开门,如果未获得实验室使用权限的人员触摸指纹模块的感应端则会有语音警报[4].
3.2 指纹传感器模块
程序设计STC 单片机通过串口与光学指纹传感器相连,通过软件实现指纹模块与单片机串口通信. 通过STC 单片机发送EF 01 FF FF FF FF 01 00 0301 00 05 获取指纹图像,部分程序代码如下:
Uchar FPM10A_Pack_Head[ ] ={0xEF,0x01,0xFF,0xFF,0xFF,0xFF};
uchar FPM10A_Get_Img[ ]={0x01,0x00,0x03,0x01,0x0,0x05};void FINGERPRINT_Cmd_Get_Img(void){
uchar i;
for(i=0;i<6;i++) // 发送包头
UART1_Send_Byte(FPM10A_Pack_Head[i]);
for(i=0;i<6;i++)UART1_Send_Byte(FPM10A_Get_Img[i]);}
然后将获取的指纹图像通过发送EF 01 FFFF FF FF 01 00 04 02 01 00 08 存储在模块BUFFER1 中;
再次获取指纹图像,发送EF 01 FFFF FF FF 01 00 04 02 02 00 09 将图像存储在BUFFER2 中;
uchar FPM10A_Img_To_Buffer1[7]={0x01,0x0,0x04,0x02,0x01,0x0,0x08};
uchar FPM 10A_Img_To_Buffer2[7]={0x01,0x0,0x04,0x02,0x02,0x0,0x09};
void FINGERPRINT_Cmd_Img_To_Buffer1(void){uchar i;for(i=0;i<6;i++) // 发送包头{UART1_Send_Byte(FPM10A_Pack_Head[i]);
}for (i=0;i<7;i++) // 将图像转换成特征码存放Buffer1 中{UART1_Send_Byte(FPM10A_Img_To_Buffer1[i]);
}}void FINGERPRINT_Cmd_Img_To_Buffer2(void){uchar i;for(i=0;
i<6;i++) // 发送包头{UART1_Send_Byte(FPM10A_Pack_Head[i]);
}for (i=0;i<7;i++) //
将图像转换成特征码存放在Buffer2 中{UART1_Send_Byte(FPM10A_Img_To_Buffer2[i]);}
}再发送指令EF 01 FF FF FF FF 01 00 0305 00 09 将BUFFER1 和BUFFER2 里的数据存放在FLASH 中:
void FINGERPRINT_Cmd_Reg_Model(void){uchar i;
for(i=0;i<6;i++) // 包头{UART1_Send_Byte(FPM10A_Pack_Head[i]);
}for(i=0;
i<6;i++){UART1_Send_Byte(FPM10A_Reg_Model[i]);
}}
在匹配指纹模式时,当单片机检测到有手指时则会发送指令EF 01 FF FF FF FF 01 00 06 0601 00 0B 00 19 指纹信息存到光学指纹模块的BUFFER1 缓存器中. 然后发送EF 01 FF FF FFFF 01 00 08 04 01 00 00 00 13 00 21 进行指纹匹配;最后返回数据,若返回值为00H 则表示搜索到.若返回值为09H 则表示没搜索到,这一过程可以帮助管理员进行指纹库的采集与管理.
3.3 报警系统程序设计
光电指纹模块的通信端口直接与单片机的串口引脚相连,通过软件可以实时串口通信;通过硬件可设定指纹输入模式和安全防御模式,当处于安全防御模式时必须要经过指纹验证才能安全进入房间,否则会有报警[4].
3.4 主程序流程图
首先进行系统初始化,系统自动进入使用者界面,用户通过触摸指纹传感器感应区进行指纹匹配,如果匹配成功则打开电磁锁,即可进入实验室;当指纹匹配失败则无法进入实验室并发出语音警报.此外当系统识别管理员身份时,管理员则可对系统指纹库进行管理,例如:录入指纹、删除指纹等操作.系统程序流程图如图3 所示.
图3 系统程序流程图
4.结语
综上所述,指纹识别技术在门禁系统中的应用是时代发展的要求,本课题设计了基于单片机的指纹门禁管理系统解决方案,系统选用STC89C52 单片机作为控制核心,选用FPM10A 光学指纹传感器和门禁系统控制模块组成.该系统可根据实验室的功能和教学科研实际向已获实验室使用权限的师生开放并记录其使用次数、时间等信息,具有实现成本低、低功耗、安全性高等优点,提高了实验室的管理效率。
参考文献:
[1]张骞.基于指纹识别的门禁系统的设计与实现[J]. 2009.
[2]王莹. 基于指纹识别技术的智能门禁系统的设计[D]. 天津科技大学, 2014.
[3]余波. 基于数字指纹识别技术的门禁系统设计[D]. 电子科技大学, 2009.
[4]常志强,王本有,杨劲楠.基于指纹识别的实验室门禁系统的设计[J].鞍山师范学院学报, 2017, 19(4):64-67.
论文作者:潘欣荣
论文发表刊物:《防护工程》2018年第12期
论文发表时间:2018/10/22
标签:指纹论文; 模块论文; 系统论文; 实验室论文; 门禁系统论文; 传感器论文; 单片机论文; 《防护工程》2018年第12期论文;