单芯片指纹锁的设计与研究
作者:RFID世界网 收编
来源:嵌入式在线界网
日期:2010-06-17 09:47:06
摘要:人们使用锁具的方式在不断的发生着变化。从机械锁到电子锁,锁具行业跨出了巨大的一步,同时也给人们的生活带来到了重大的改进。而如今,“生物识别技术”在全球范围内的兴起,正在推动锁具行业的又一次技术革新,这必将引领“指纹锁”时代的到来。
人们使用锁具的方式在不断的发生着变化。从机械锁到电子锁,锁具行业跨出了巨大的一步,同时也给人们的生活带来到了重大的改进。而如今,“生物识别技术”在全球范围内的兴起,正在推动锁具行业的又一次技术革新,这必将引领“指纹锁”时代的到来。
据锁业专家统计,目前全国锁具销售量每年约在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处理器,真正可以做到“单板单芯”的控制模块。
指纹采集设备选型
指纹采集设备是除了核心控制模块外的最为重要的外设。它的性能优劣关乎整个指纹锁的质量。指纹采集设备是使用者接触最多的部件,是指纹数据生成的源头。正因为它被接触最多最频繁,所以在选型时,耐用性和易用性是最先考虑因素。耐用性考量表现在手指接触时的防静电能力、耐磨耐腐蚀性、以及传感灵敏度是否随使用次数明显下降等。一般认为,光学指纹采集头较为耐用,而采用半导体直接传感的指纹采集头较为灵敏。易用性表现在使用者的感受上。一般而言,按压式即面状指纹采集器使用简单,手指一按即可采集指纹。按压式的大小一般是15mm-25mm见方。除此之外,为了降低成本,以及为了适应小型手持设备的需要,也有不少此类产品使用滑动式即刮擦式传感器,其大小仅有10×5mm见方左右。
当然对于指纹锁来讲,用户更为大众化一些。所以,使用按压式采集头的会更多一些。低成本一点的使用光学按压式指纹采集头。高品质一点的采用半导体按压式指纹采集芯片(其中有半导体电容、半导体电感、半导体压感三者常用传感方式)。
电源模块设计
电源模块对于任何一个嵌入式系统都很重要,指纹锁也不例外。对使用电池的指纹锁产品来讲,在电源设计上尤其要考虑供电方式、功耗、以及缺电等应急情况。选用SIB8132,可以达到工作功耗不超过75mA。
在电源设计上,还需考虑低电压报警的问题。低电压报警是当电池电量不足时,提前提醒用户更换新电池的功能。在设计上要保证低电压状态下可用次数达到至少100次以上。如果在电量耗尽前,用户仍未能换上足量电池,则需要锁上有外接电源接口,以保证可以应急开门。当然,应急的情况还包括电路系统失效的情况,这时可以考虑“双机”模式,其安全性则更高。
输入输出设备选型
输入输出设备根据产品功能设计来选取。需要注意的是,如果功能较为复杂,配套LCD或LED数码管是必要的。至少在指纹管理时,用于显示指纹编号等信息。
设计经验分享
实现双模工作
“双模工作”是指指纹模块既可以是主控工作模式,也可以是从属工作模式。
因为不同产品的功能设计不同,有时指纹识别模块在整个系统中只扮演一个独立的指纹识别功能,不执行业务逻辑的控制,这种被称为通用的指纹模块。有时需要指纹识别模块也能完成一些业务逻辑控制,这种称为主控指纹模块。通用指纹模块是把指纹模块当作一个独立实体,通过标准数据接口(多为UART)与主MCU通讯。它在整个锁中,只完成指纹存储和指纹验证功能。而主控指纹模块集业务逻辑与指纹识别于一体,功能更为强大、成本更有优势。
如前所述,SIB8132不仅可以作为指纹锁的主控模块使用,也可以作为指纹锁的从属模块使用。SIB8132是目前唯一能够实现这两种工作模式的指纹专用芯片。之所以能够实现这种“双模工作”方式,得益于SIB8132内部一种被称为PLUGIN的技术架构。
单芯片优势
传统的指纹锁控制板多采用普通DSP来实现指纹识别功能。这种方式下,存储指纹就需要外扩存储芯片。而且DSP不可以再编程,只能通过接口来控制它,因此还需一个主控MCU。而对于SIB8132来讲,一是指纹存储在片内,无需外扩存储。二是SIB8132是可编程的,可以内置应用程序,并且可以接入众多外设,因此还可能节省一个MCU。
这种单芯片指纹锁应用方案,在节省器件成本的同时,也减少了PCB板的大小,为产品ID设计留下更多空间。
柔性兼容
“柔性兼容”是指只需通过更改SIB8132的内置程序就可实现对指纹传感设备的前向兼容,甚至可以同时接入两个指纹传感器件。指纹传感器市场不断的在推陈出新,产品性能会随着传感技术的改进而不断提升。现时的指纹模块与指纹传感器是一一绑定的。因此作为指纹锁的产品厂商,更换指纹传感器的成本相当于更换整个指纹模块的成本。而采用SIB8132的指纹模块针对指纹传感芯片的接入是灵活的、前瞻的。更换传感器无需更换指纹模块,只需要修改固件即可实现对新型传感器的兼容。
结语
指纹锁具市场已经逐渐成为指纹应用的主战场。希望本文所述内容能够为广大读者认知指纹锁具产品和技术起到一定的启迪作用。同时在此申明,本文版权归杨若冰先生所有,未经书面同意,任何个人或机构不能转载。引用请注明出处。
据锁业专家统计,目前全国锁具销售量每年约在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处理器,真正可以做到“单板单芯”的控制模块。
指纹采集设备选型
指纹采集设备是除了核心控制模块外的最为重要的外设。它的性能优劣关乎整个指纹锁的质量。指纹采集设备是使用者接触最多的部件,是指纹数据生成的源头。正因为它被接触最多最频繁,所以在选型时,耐用性和易用性是最先考虑因素。耐用性考量表现在手指接触时的防静电能力、耐磨耐腐蚀性、以及传感灵敏度是否随使用次数明显下降等。一般认为,光学指纹采集头较为耐用,而采用半导体直接传感的指纹采集头较为灵敏。易用性表现在使用者的感受上。一般而言,按压式即面状指纹采集器使用简单,手指一按即可采集指纹。按压式的大小一般是15mm-25mm见方。除此之外,为了降低成本,以及为了适应小型手持设备的需要,也有不少此类产品使用滑动式即刮擦式传感器,其大小仅有10×5mm见方左右。
当然对于指纹锁来讲,用户更为大众化一些。所以,使用按压式采集头的会更多一些。低成本一点的使用光学按压式指纹采集头。高品质一点的采用半导体按压式指纹采集芯片(其中有半导体电容、半导体电感、半导体压感三者常用传感方式)。
电源模块设计
电源模块对于任何一个嵌入式系统都很重要,指纹锁也不例外。对使用电池的指纹锁产品来讲,在电源设计上尤其要考虑供电方式、功耗、以及缺电等应急情况。选用SIB8132,可以达到工作功耗不超过75mA。
在电源设计上,还需考虑低电压报警的问题。低电压报警是当电池电量不足时,提前提醒用户更换新电池的功能。在设计上要保证低电压状态下可用次数达到至少100次以上。如果在电量耗尽前,用户仍未能换上足量电池,则需要锁上有外接电源接口,以保证可以应急开门。当然,应急的情况还包括电路系统失效的情况,这时可以考虑“双机”模式,其安全性则更高。
输入输出设备选型
输入输出设备根据产品功能设计来选取。需要注意的是,如果功能较为复杂,配套LCD或LED数码管是必要的。至少在指纹管理时,用于显示指纹编号等信息。
设计经验分享
实现双模工作
“双模工作”是指指纹模块既可以是主控工作模式,也可以是从属工作模式。
因为不同产品的功能设计不同,有时指纹识别模块在整个系统中只扮演一个独立的指纹识别功能,不执行业务逻辑的控制,这种被称为通用的指纹模块。有时需要指纹识别模块也能完成一些业务逻辑控制,这种称为主控指纹模块。通用指纹模块是把指纹模块当作一个独立实体,通过标准数据接口(多为UART)与主MCU通讯。它在整个锁中,只完成指纹存储和指纹验证功能。而主控指纹模块集业务逻辑与指纹识别于一体,功能更为强大、成本更有优势。
如前所述,SIB8132不仅可以作为指纹锁的主控模块使用,也可以作为指纹锁的从属模块使用。SIB8132是目前唯一能够实现这两种工作模式的指纹专用芯片。之所以能够实现这种“双模工作”方式,得益于SIB8132内部一种被称为PLUGIN的技术架构。
单芯片优势
传统的指纹锁控制板多采用普通DSP来实现指纹识别功能。这种方式下,存储指纹就需要外扩存储芯片。而且DSP不可以再编程,只能通过接口来控制它,因此还需一个主控MCU。而对于SIB8132来讲,一是指纹存储在片内,无需外扩存储。二是SIB8132是可编程的,可以内置应用程序,并且可以接入众多外设,因此还可能节省一个MCU。
这种单芯片指纹锁应用方案,在节省器件成本的同时,也减少了PCB板的大小,为产品ID设计留下更多空间。
柔性兼容
“柔性兼容”是指只需通过更改SIB8132的内置程序就可实现对指纹传感设备的前向兼容,甚至可以同时接入两个指纹传感器件。指纹传感器市场不断的在推陈出新,产品性能会随着传感技术的改进而不断提升。现时的指纹模块与指纹传感器是一一绑定的。因此作为指纹锁的产品厂商,更换指纹传感器的成本相当于更换整个指纹模块的成本。而采用SIB8132的指纹模块针对指纹传感芯片的接入是灵活的、前瞻的。更换传感器无需更换指纹模块,只需要修改固件即可实现对新型传感器的兼容。
结语
指纹锁具市场已经逐渐成为指纹应用的主战场。希望本文所述内容能够为广大读者认知指纹锁具产品和技术起到一定的启迪作用。同时在此申明,本文版权归杨若冰先生所有,未经书面同意,任何个人或机构不能转载。引用请注明出处。