市场上主流的电子锁是基于密码设计的。密码锁的最大的缺陷是密码容易被他人窃取、猜测及遗忘。随着生物技术的发展,越来越多的活体技术应用到识别系统中,如指纹、掌纹、人脸、虹膜等。相对于其它的活体识别技术,指纹识别系统以其可实现性强,成本相对低廉,同时又具备较高的安全性,被越来越多的应用到各种场合。文章给出了一种新型的指纹锁架构,并详细论述了系统的各个组成部分以及指纹识别算法的实现流程。文章对降低系统功耗和增加保密性都提出了独特的方法。
随着科学技术的飞速发展和大规模的集成芯片的出现,现有的门锁系统也正在经历着升级换代的变换。第一代电子门锁采用的是密码识别方法,解决了机械门锁更换的灵活性,即钥匙的设置和更改掌握在了使用者的手中;但由于密钥与使用者非强相关,松耦合,授权难以管理,在安全性方面存在着极大的隐患。第二代电子门锁采用最先进的生物特征识别技术,提供了一种更为安全可靠、使用方便的身份识别新途径。
生物特征识别技术主要是利用虹膜、人脸、指纹、掌纹、语音这几种人体生物特征的一种来做识别的。虹膜、人脸需要使用到影像成像系统,设备过于复杂,仅用于高端系统,难以普及应用;语音系统最为简单,但由于容易被模仿,安全性相对较低;指纹和掌纹仅使用扫描成像,相对比较简单,易于推广,尤其是指纹识别技术,采用逐行扫描系统,识别传感器可以做得非常小,具有很高的可行性和实用性。
指纹锁系统主要可用在保险箱、实验室、楼道的身份确认及相关控制;随着智能家居概念的兴起,也越来越多的应用到高档住宅中。
1 指纹锁的架构
本指纹锁系统的硬件结构主要包括:指纹识别头、主处理微控制器、电源管理、电控锁机构以及门锁功能所需的红外感应、告警电路等,其中核心部分是指纹识别头和主处理微控制器。本指纹锁系统的硬件结构框图如图1所示。
图1 指纹门锁硬件结构框图
本指纹锁通过指纹识别头获取原始指纹数据,通过主处理器的处理提取出相关指纹特征,然后与存储器内的指纹模板做比较,如果指纹特征吻合,则通过指示灯做出相应的指示,同时输出门锁开启信号,打开门锁;在门锁开启状态,也可通过相应按键操作,进行指纹模板存储。
辅助处理器用于系统的电源管理,即管理主处理器的上下电。本设计采用层级包容架构设计,主处理器功能强大,处理功能相对复杂,功耗较高;辅助处理器功能非常简单,仅负责电源管理,完成对系统的上下电处理(除了自身不下电)。该架构有三个优点,第一,功耗极其低,在系统待机模式下,主处理器部分根本就不耗电,系统可超长时间待机工作。第二,采用层级架构,两个处理器功能完全解耦,软件可分别自由演化。第三,超可靠性,程序随着代码行数的增加,异常情况成指数倍的增长,所以主处理器程序长时间工作的可靠性大大降低,本架构由于采用了辅助处理器的方案,主处理器绝大多数时间处理断电状态,每次工作时,都经历了重新上电过程,因此原则上主处理器做到了永不死机的可靠性;而辅助处理器工作极其简单:检测触摸,然后给主处理器上电,等待主处理器空闲信号,然后给主处理器下电。程序代码行非常简短,工作可靠性极高。
2 指纹传感器的选型
在指纹产品中,指纹传感器和指纹算法是关键。指纹处理的过程是采集指纹图像,然后对指纹图像进行处理,所以能否采集到清晰的指纹图像是指纹处理的关键,指纹传感器是指纹图像的采集部件,因此,指纹传感器的性能将直接影响到指纹产品的性能。
目前采用的指纹传感器从分类上主要分为半导体指纹传感器和光学指纹传感器。半导体的指纹传感器又分为面状指纹传感器和条状指纹传感器(即滑动式指纹传感器/刮擦式指纹传感器)。
选用半导体指纹传感器主要要考虑以下几个指标:
(1)抗静电性能,-般要求大于15kv,否则易被击穿。
(2)分辨率。一般至少要求256dpi,否则对细指纹不易分辩,比如银行、医院、超市等不宜应用。
(3)对干湿手指的适应性(尤其是涂有护手霜的手指)。
(4)使用寿命要求。传感器的使用寿命的要求一般要达到可使用100万次。
(5)产品一致性和适应性,不同地区人的指纹有不同的特征,所以要选用高适应性的指纹传感器。
由于本文中的指纹读头在设计中的要求体积尽量小,因此选用的是美国AuthenTec公司的AES2510的刮擦式指纹传感器。其选用的理由如下:
(1)采用其最新的“The Power of Touch”技术,属于接触式的,对干湿手指不敏感。
(2)易用且能提供快速的指纹成像,具有导航功能。
(3)低功耗、小CPU占用率的特性。
(4)出货量大,成本低。
(5)尺寸相当微小,只有12mm&TImes;5mm&TImes;1.86mm。
其外观图如图2所示:
图2 AES2510实物图
3 指纹算法的选型
指纹识别算法是指纹识别的核心。常见的指纹算法有:BIOKEY指纹识别算法、Fingerpass指纹识别算法、TOUCHSEC指纹识别算法、OpenBio指纹识别算法、FAA指纹识别算法等等,国内也有许多公司也自主研发了许多具有专利的指纹识别算法,在网上也有许多公开算法的源码。在设计初期,选用公开的算法源码,会造成调试的不方便,同时算法的指标也不确定是否满足需求;大公司的指纹识别算法一般又要价比较高,谈判困难;因此最合理的方法是选用指纹厂家提供的识别算法进行开发验证,Autllentec提供的算法相对也比较成熟可靠,由于使用其指纹传感器,指纹识别算法收取费用相对较低,如果使用量较大,甚至可以免费赠送。
在我们的设计中,采用的是Authentec提供的指纹识别算法,最后验证设计结果在认假率、拒真率、比对时间上均满足需求。
4 主CPU的选型
主CPU的选型主要关注的指标是运算速度及功耗,有的厂商的产品侧重于低功耗,有的侧重于运算速度。来自于几家厂商提供的一组测试数据见表1,分别显示了不同的CPU在运算指纹匹配算法所需要的时间。
表1 运行指纹匹配算法时间对比表
由于我们采用了层级包容式架构,因此对主处理器的功耗指标不太关心,选用更高的处理速度,能给用户带来了更好的体验。本指纹锁选择的CPU是BF531.ADSP-BF531系列处理器是Blaclkflin系列产品的成员之一,是一个高度集成的片上系统解决方案。其功能框图如图3所示:
图3 BF531的功能框图
ADSP-BF53 l是主频高达400 MHz高性能Black-fin处理器,其内核包括:2个16位MAC,2个40位ALU,4个8位视频ALu,以及1个40位移位器;对于指纹对比计算有很强的处理能力,另外,厂家又提供了为该处理器量身定做的指纹对比算法。
5 辅助CPU的选型
由于指纹锁在设计时提出的存储指标为100枚指纹,大概所需内存为lMByte以上,因此必须使用外部存储设备。为了最大限度的降低成本,我们使用SDRAM芯片来替代外部的SRAM,因此就必然导致设备的外部功耗增加,对于使用电池供电的设备,这几乎是不能容忍的,为此我们使用一个超低功耗的辅助CPU来进行设备管理。
通常情况下,主CPU的所有电路均不上电,辅助CPU感应到有手触摸锁柄时,则通过IO口控制主CPU上电,主CPU和指纹传感器开始工作,指纹比对成功后,启动开锁。无论对比是否成功,等待固定一段时间后,主CPU均会进入空闲状态,向辅助CPU发送空闲信号,辅助CPU对主CPU断电。
由于辅助CPU是长期工作,永不断电的,选则的基本原则就是超低功耗,架构简单,极高的可靠性。本文选择的是TI的MSP430F2001,MSP430单片机拥有0.5uA的超低待机电流和250uA/MIPs的运行功耗,是目前业界公认的低功耗单片机。其提供了5种低功耗模式,主要面向电池供电的应用。功能框图如图4所示:
图4 MSP430F2001的功能框图
MSP430F200l的特性描述如下:低工作电压(1.8V-3.6V);超低功耗(活动模式为220μA at 1 MHz,2.2 V,待机模式为0.5μA,关闭模式为0.1μA);五种省电模式;从待机模式唤醒1μs。
6 其它
本方案中还采取了其它降功耗措施:
主处理器的LDO改为DC/DC开关芯片,提高工作时的电源效率;
开锁继电器的先用大电流驱动1秒使其吸合,然后通过调整控制端的占空比为30%,让其进行4秒的维持状态;
7 结束语
本设计通过合理选择器件,围绕低成本、低功耗、高运算性能、电池供电等特性要求优化电路,设计完成的新型指纹锁电路在性能指标、稳定性、兼容性低硬件成本方面具有非常大优势。
通过本设计制作出数台样机,在仅使用两节5号电池不更换的情况下,每天开锁3次,已连续可靠的工作了2年。
本设计完成的指纹锁,可以广泛应用于工业门标禁、指纹考勤、国防安全等众多领域。