人们使用锁具的方式在不断的发生着变化。从机械锁到电子锁,锁具行业跨出了巨大的一步,同时也给人们的生活带来到了重大的改进。而如今,“生物识别技术”在全球范围内的兴起,正在推动锁具行业的又一次技术革新,这必将引领“指纹锁”时代的到来。
据锁业专家统计,目前全国锁具销售量每年约在22亿把以上。经过数年市场酝酿,市场对指纹锁的需求正日益俱增。据估算,包括金融、军警、办公在内的商用市场每年有约500万套的市场需求。民用市场成熟后,每年至少商用市场的需求量。在未来的数年内,指纹锁具将占居锁具市场的最大份额,成为中国锁业的一个转折点。
正是在这样的市场背景下,新加坡蓝科有限公司推出了可以应用指纹锁具的SIB8132指纹识别专用芯片。在此,将这款指纹识别专业芯片的设计体会与读者分享。
总体设计
严格来讲,指纹锁是电子锁的一种。只不过因为是基于指纹识别技术,抛弃了以前电子锁的“密码”和“智能卡”,使用人体与生俱来的生物特征—指纹,因此而达到了科技与人性之完美统一。指纹锁在满足人们对安全诉求的同时,使人们远离“记忆密码的烦恼”和“携带卡片又怕丢”的担心,真正的能够做到了“既安全又便捷”。
实现这种“既安全又便捷”的指纹锁,在产品总体设计上需要从以下几个方面考虑。
第一,在“安全性”上,不仅要考虑防破坏性开锁,还要兼顾防技术性开锁。采用指纹识别模块,减除了钥匙开锁方式,基本上可以消除技术性开锁的问题。
第二,要考虑重码率,或者叫密钥量。对于采用信息编码的电子锁而言,密钥量一般不少于105。而对于采用生物识别技术的,密钥量都在256个字节以上。其密码强度远远大于现有的密码。
第三,选用的指纹识别和指纹采集器件的性能直接影响着指纹锁的安全性和易用性。虽然“指纹密钥”的强度很大,理论上和实际中,仍然有误识的情况发生,只是这种机率远比密码和机械钥匙小的多。
第四,指纹锁是否增加了较多成本。指纹锁相对于智能卡锁、指纹锁,并未增加多少成本。尤其是采用SIB8132单芯片解决方案后,可以把锁的控制程序和指纹识别程序融合于一个MCU中。这也是目前全球唯一的单芯片设计方案,已经被众多公司实现。
图1是功能较为全面的指纹锁方案框图。从图中可以看出,内置指纹识别功能的锁具控制模块即为SIB8132。它是整个指纹锁的核心。SIB8132是32位低功耗专用处理器,内置256K的ROM、RAM,以及256K FLASH Memory,最大可以存储1000枚指纹数据。整个指纹的比对处理在片内完成,250枚以内1:N比对,1秒内输出结果。
围绕SIB8132的是指纹锁的输入输出模块。这些模块包括电源模块、指纹采集头、键盘、蜂鸣器、以及锁具驱动设备。LCD/LED显示设备、通讯接口和调试接口是可选模块,根据产品功能规格要求可以取舍。
具体设计要点
锁具操作流程设计
对于像锁具这种普通老百姓天天使用的产品来讲,一个“简单实用”的操作流程是非常重要的。操作流程设计以“最简单”和“最合乎逻辑”为优选原则。锁具操作流程设计时需要注意:
·子功能设置尽量独立,减少按键复用。
·操作时按键次数尽量少,操作层级不超过2级。
指纹操作流程设计
为普通锁增加指纹功能后,对于锁的使用,客观上带来了一定的复杂度。当然这只是体现在初次使用时的指纹登记操作上,指纹开锁操作仍然是非常简单的。
初次使用指纹锁时,需要先存入指纹数据到锁的控制模块中。存储指纹需要经过“指纹采集”和“指纹判别”。“指纹采集”需要设计一个友好的操作序列来引导用户顺畅的采集指纹。在“指纹判别”时,需要根据“指纹质量”给出回馈信息,以提示和帮助用户输入较好质量的指纹。存储的指纹数据通常称为指纹模板,指纹模板的好坏直接影响后续指纹识别(开锁)的准确性。
在大多数场景下使用的指纹锁,都会涉及“指纹管理”的问题。即由特定的管理员来授权其它人使用该指纹锁。“指纹管理”包括指纹增加、指纹删除(单个)、指纹清除(全部)。甚至包括指纹编号管理,以及重复注册的识别问题。
在安全等级要求更高的指纹锁中,可能会涉及“双指(多指)论证”—即由多个人的指纹串连验证通过才能开锁的情况。这些涉及到“指纹管理”功能的需求,需要结合具体的应用场景来完成流程设计。
核心控制模块设计
指纹锁的核心控制模块是以SIB8132为核心设计的控制板。图2两图分别是指纹控制板上的正面和背面。SIB8132是一个类似ARM7的32位高性能处理器。工作电压3.3V,内核工作电压2.5V,最大工作电流75mA。256K的RAM、ROM使得编写一个集密码、遥控、指纹三者于一体的应用程序绰绰有余。大小有14×14mm及10×10mm两种。100个PIN引脚包含了3组UART、32位GPIO、主副I2C、8位并口、SPI等丰富的接口。这些接口便于处理器与更多的外设连接,从而能够实现功能更为强大的指纹锁系统。因此对于目前市场上“多板拼接”的指纹锁具方案,SIB8132具有更大的竞争优势。采用SIB8132处理器,真正可以做到“单板单芯”的控制模块。