指纹门禁系统的结构与设计研究

2016-01-06 09:10史瑾
烟台职业学院学报 2015年1期
关键词:单片机

指纹门禁系统的结构与设计研究

史瑾

(山西运城农业职业技术学院,山西 运城 044000)

摘要:指纹门禁系统可实现指纹开门、密码开门、指纹录入、指纹管理、密码管理等功能,在实际应用中与传统设备相比具有很大优越性,传统的机械锁如有较多用户使用,就需要有很多钥匙给每个用户,这样即对安全性造成威胁同时钥匙的管理也难度很大,而指纹锁完全没用这种问题,指纹具有唯一性,当取消某人进入门禁资格时删除指纹库中该人信息即可。

关键词:指纹门禁;单片机;液晶显示器

收稿日期:2014-12-20

作者简介:史瑾(1981-),男,山西运城人,山西运城农业职业技术学院实验师.

中图分类号:TP391.4文献标识码:B

指纹门禁系统,主要作用是用人们的指纹开门,在用人们的指纹相关信息开门之前,指纹库中应有相关的指纹特征信息,所以要有录入指纹信息这一功能。为了实现对指纹库中的指纹进行管理,因此要有删除指纹这一项功能。除此之外,为了防止指纹识别模块坏了后无法进门的情况,本系统还增加了密码开门模式,验证管理员密码后可选择密码模式还是指纹模式,以此来应对不同的情况。

1系统硬件结构

系统的硬件部分主要包括指纹识别模块、微控制器、液晶显示器、键盘、日历/时钟芯片、电控锁状态指示。

①FPM10A指纹模块由光学指纹传感器、高速DSP处理器、高性能指纹比对算法、大容量FLASH芯片等软硬件构成,性能稳定,结构简单,具有指纹录入、图像处理、指纹比对、搜索和模板储存等功能。并具有自主知识产权;指纹适应性强;价格低廉;算法性能优异;不同应用环境转换灵活;简单易用;低功耗;以及灵活设置安全等级等诸多优点。

②微控制器选用单片机STC12C5A60S2,它是宏晶科技生产的单时钟/机器周期的单片机,是高速、低功耗、超强抗干扰的新一代8051单片机,指令代码完全兼容8051,但速度快8倍-12倍。STC12C5A60S2单片机中包含中央处理器(CPU)、程序存储器(Flash)、数据存储器(SRAM)、定时器/计数器、UART串口、串口2、I/O接口、高速A/D转换、SPI接口、PCA、看门狗及片内R/C振荡器和外部晶体振荡电路等模块。STC12C5A60S2系列单片机几乎包含了数据采集和控制中所需的所有单元模块,可称得上一个片上系统。

③液晶显示器用FYD12864-0402B ,它是一款 4 位/8 位并行、2线或 3 线串行多种接口方式,内部含有简体中文字库的点阵图形液晶显示模块; 显示分辨率为128×64,内置8192个16*16点汉字和128个16*8点 ASCII 字符集。利用该模块可灵活的构成全中文人机交互界面。该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论是硬件电路结构还是显示程序都要简洁得多。

④键盘上的按键和液晶显示器组成人机界面,按键包括“0”-“9”键以及“A”确认键、“B”返回键、“C”删除键、“*”上一页键和“#”下一页键。日常开门只指纹识别模块,不需要键盘,而录入指纹、删除指纹、设置密码、时间、应急密码开门等操作时,要结合屏幕的提示来完成操作,但在执行录入指纹、删除指纹、设置密码、时间、应急密码开门操作时,都得先按下“*”键后,再选择各个功能然后进行操作。

⑤日历/时钟芯片采用SD2400。是一种支持IIC串行接口的高精度实时时钟芯片,CPU可使用该接口通过5位地址寻址来读写片内32字节寄存器的数据。 SD2400系列内置晶振,可保证时钟精度为±5ppm(在25℃下),年误差小于2.5min;该芯片内置时钟精度调整功能,可在很宽的范围内校正时钟的偏差。通过内置或外置的数字温度传感器可设定适应温度变化的调整值,实现在宽温范围内高精度计时。 SD2400系列内置的工业级电池可保证在外部掉电情况下时钟使用寿命为5年—8年时间;该芯片的内部具备电源切换电路,当芯片检测到主电源掉到电池电压以下,该芯片会自动转为备电电池供电。

⑥电控锁状态采用LED指示灯显示方式。

2系统软件结构

按操作流程或系统职能,软件主要由以下几部分构成:

2.1 指纹开门。按入指纹信息,系统核对指纹库是否存在匹配指纹,如果存在则执行开锁命令,否则输出开锁失败信息。

2.1.1 指纹比对即对当前输入指纹进行验证,系统首先执行录入图像命令,对指纹区域的图像验证是否为指纹,如果是指纹则进入下一步,比对指纹系统通过发送比对指纹命令,比对通过则执行开门命令,开门5秒钟后,系统自动执行锁门动作。

验证口令VfyPwd

功能说明: 验证模块握手口令。

表1 指令包格式:

表2 应答包格式

注:确认码=00H表示口令验证正确;

确认码=01H表示收包有错;

确认码=13H表示口令不正确;

2.1.2 录指纹图像 GenImg 。功能说明: 探测手指,探测到后录入指纹图像存于 ImageBuffer,并返回录入成功确认码。若探测不到手指,直接返回无手指确认码。

表3 指令包格式

表4 应答包格式

注:确认码=00H表示录入成功;

确认码=01H表示收包有错;

确认码=02H表示传感器上无手指;

确认码=03H表示录入不成功;

2.1.3 精确比对两枚指纹特征 Match

功能说明:模块精确比对(1∶1)CharBuffer1 与 CharBuffer2 中的特征文件,并给比对结果。

表5 指令包格式

表6 应答包格式

注:①确认码=00H表示指纹匹配;

确认码=01H表示收包有错;

确认码=08H表示指纹不匹配;

②该指令执行后,两特征缓冲区中的内容不变。

2.2 采集新的指纹,首先管理者授权后才可以采集新的指纹信息,即是管理者指纹比对验证后,再采集新指纹的特征信息。

2.3 删除指纹首先管理者授权后才可以删除的指纹信息该项操作包括两种操作方式:按指纹删除或按ID号删除。

2.4 修改管理员登陆密码和开锁密码,管理员可根据需要修改登录密码和开锁密码,密码修改成功后系统会自动保存在单片机的内部flash里,断电不会丢失。

3其他模块驱动

3.1 LCD显示驱动

LCD12864 中文汉字图形点阵液晶显示模块,自带中文标准字库(控制芯片ST7920)可显示汉字及图形,内置 8192 个中文汉字(16X16 点阵)、128个字符(8X16点阵)及 64X256点阵显示RAM(GDRAM)。它主要由行驱动器/列驱动器及128*64全点阵液晶显示器组成,可完成图形显示,也可显示8*4个(16*16点阵汉字,与外部CPU接口采用串行或并行方式控制)。

3.2 键盘输入模块软件设计

①4*4矩阵键盘识别处理

4*4矩阵键盘,采用P2口的P2.7、P2.6、P2.5、P2.4提供行线,P2.3、P2.2、P2.1、P2.0提供列线。当识别矩阵键盘时,首先,识别有无按键按下,让所有行线均置为低电平,检查各列线电平的变化,如果有变化说明有键被按下,如果没有,则无键被按下。其次,如果有键被按下,则识别具体的按键,记下有变化的列行后,立即将所有列线置为低电平,所有行线置为高电平,记下变为低电平的行线,然后通过X、Y坐标确定是哪个按键被按下。再编程过程中,要考虑按键抖动的影响,可以采用软件延时的方法消除抖动。

②每个按键有它的行值和列值,行值和列值的组合就是识别这个按键的编码。矩阵的行线和列线分别通过两并行接口和CPU通信。每个按键的状态同样需要变成变量“0”和“1”。键盘处理程序的任务是:确定有无键按下,判断哪一个键按下,键的功能是什么;还要消除按键在闭合或断开时的抖动,两个并行口中,一个输出扫描码,使按键逐行动态接地,另一个并行口输入按键状态,由行扫描值和回馈信号共同形成键编码而识别按键,通过软件查表,查出该键的功能。

3.3 EEPROM的读/写程序模块软件设计

3个基本命令——字节读,字节编程,扇区擦除。

字节编程:将“1”写成“1”或“0”,将“0”写成“0”。如果某字节是FFH,才可对其进行字节编程。如果该字节不是F F H,则须先将整个扇区擦除,因为只有“扇区擦除”才可以将“0”变为“1”。

扇区擦除:只有“扇区擦除”才可能将“0”擦除为“1”。

程序如下:

void IAP_disable(void)

{

IAP_CONTR=0;//关闭IAP

IAP_CMD=IAP_cmd_idle ; //恢复待命状态

IAP_TRIG=0;//开启IAP后必须先向该寄存器写入5A、A5才生效,现在关闭此项

IAP_ADDRH=0x80;//地址寄存器移至没有EEPROM的地方

IAP_ADDRL=0x00;

参考文献:

[1]郭天祥.新概念51单片机C语言教程:入门、提高、开发、拓展全攻略[M].北京:电子工业出版社,2010.

[2]陈华,等.一种基于指纹识别的IC卡门禁系统[J]. 计算机工,2012(7).

[3]陈建校,石理.基于指纹识别系统的应用开发技术[J].微型机与应用,2001(12).

[4]吴国英.非接触IC卡技术在门禁系统中的应用[J].中国安防产品信息,2004.

[5]谭浩强.C语言程序设计[M].北京:清华大学出版社,2010(2).

(责任编辑侯中岩)

猜你喜欢
单片机
单片机在电子技术中的应用和开发
基于单片机的SPWM控制逆变器的设计与实现
基于51单片机控制花盆土壤湿度
基于单片机的层次渐变暖灯的研究
基于单片机的多功能智能插排
基于单片机的便捷式LCF测量仪
小议PLC与单片机之间的串行通信及应用
MSP430单片机在仿真中要注意的几点问题
VC.NET下实现dsPIC单片机与PC机的通信
基于单片机的平衡控制系统设计