基于AS602的智能指纹锁系统设计与实现

2016-10-13 02:37杨争辉李多叶桦
电子器件 2016年2期
关键词:低功耗功耗指纹

杨争辉,李多,叶桦

(东南大学自动化学院,南京210096)

基于AS602的智能指纹锁系统设计与实现

杨争辉,李多,叶桦*

(东南大学自动化学院,南京210096)

针对市场上指纹锁存在着价格高、功耗高等问题,设计了一种低成本、低功耗的智能指纹锁系统。STC12LE5A60S2作为核心处理器,对各模块进行控制。选用AS602作为指纹处理器,FPC1011F作为指纹采集器。从软硬件方面进行了低功耗设计,对密码进行TEA加密设置。采用了有限状态机模型来进行软件设计,避免了大量标志位与多层判断的问题。最后,对整个系统进行了综合测试,结果表明,本智能指纹锁系统运行稳定,安全可靠,指纹识别率高、识别速度快。

智能指纹锁系统;AS602;低功耗;密码加密(TEA算法);有限状态机模型

随着社会的发展,信息化程度越来越高,在这信息膨胀的时代,人们对于个人隐私与个人财产的保护意识也不断加强。指纹锁也应运而生,作为指纹识别技术应用门锁的代表,两个显著的特征决定了指纹锁将成为未来门锁行业发展的制高点。一是安全性,指纹具有唯一性;二是方便性,相比其它生物类识别技术(脸谱、瞳孔、声音、手掌等),手指更为适用,密码开锁容易忘记密码,卡与钥匙容易丢失与忘记携带,手指指纹更为方便。因此指纹锁被广泛运用于政府机构、银行、高级公寓等需要绝对安全和隐私的场所[1]。

随着电子商务的发展,家庭数字化的需求和消费类电子产品的普及,越来越多的家居民用领域需要智能指纹锁系统。但由于平台的规模、算法技术的独创性保密性,使得指纹锁的价格居高不下。因此,开发高性能、低成本、安全可靠的民用智能指纹锁系统具有很强的现实意义和广阔的市场空间[2]。

本智能指纹锁系统主要有三大创新点:一是通过软硬件设计来降低整个系统的功耗,硬件设计主要通过供电模块电路设计实现,软件设计则采用动态电源管理和优化编译的方式来实现;二是通过语音提示与触摸按键的方式来实现人机交互,帮助用户更方便的进行操作;三是对存储的密码进行加密处理,再存入非易失存储器中,避免了直接从非易失存储器中读取密码的风险。

1 智能指纹锁系统功能需求

开门方式主要包含指纹开门,密码开门和钥匙开门(应急使用,会触发警报)。指纹开门需要杜绝假指模即需要活体识别,对真皮层、体温、血液流动都有着感应;密码开门需要具备防尾随功能,比如密码为12345678,那么在正确密码之后加入最多8位数字都可以打开门,比如增加至12345678(12345678)等等,这样防止了密码被偷窥的情况。

指纹最多可以录入99枚,其中ID号为1~3的为管理员指纹,可用于授权指纹和密码操作,ID为1的指纹可以授权所有用户,ID为2、3的指纹可以授权除ID为1以外的所有用户;其他ID号为用户指纹,只能开门,不能添加、删除指纹。

密码最多可以录入10组,位数为8位。

时间设置用于通过USB导出开门记录。

整个系统还带有语音导航功能,全智能语音提示操作系统帮助用户更方便的进行操作。例如添加或删除指纹、重设密码等,避免了用户的错误操作,老人小孩也能轻松操作;TOUCH PAD触摸屏技术,背光非机械式触摸面板,反应灵敏,触感极佳。简洁、流畅、硬朗的设计,彰显出锁具的高贵、典雅、安全、健康。

2 智能指纹锁系统硬件设计与实现

2.1FPC1011F指纹传感器及其接口

FPC1011F是瑞典FINGERPRINT CARDS AB(简称FPC)公司推出的基于半导体硅电容效应的指纹传感器。其采取了独创的反射式测量法,就像回声原理一样,发出的声音越大,回声就越大,这就增强探测信号。保证取得稳定清晰的指纹图像,同时探测信号增强也带来了另一个好处,芯片表面的保护膜可以做得更厚(比同类厚10倍~25倍),拥有更厚的保护层这就意味着有更强的耐磨性(>100万次)和抗静电能力(大于15 kV)[3]。每个硅传感器等效于电容的一个极板,手指则是另一个极板,由于手指谷与脊离传感器阵列的距离不同,产生不同的电容值,经过运算放大电路,形成不同的电压值,通过内部的A/D转换,获得高质量的数字指纹图像[4]。FPC1011F在指纹采集质量、耐用性等方面,均得到业内人士的肯定,因此,本系统也采用FPC1011F作为指纹传感器。

FPC1011F采用4线制SPI接口,与AS602指纹识别芯片连接通信,接口电路如图1所示。

图1 FPC1011F接口电路

2.2AS602指纹处理芯片及其接口

AS602芯片是杭州晟元公司为指纹USBKEY等应用领域推出的32 bit RISC处理器内核的安全芯片。其内部集成指纹识别引擎,可以直接在芯片内部实现指纹身份认证。内嵌1 Mbyte大容量FLASH,支持USB 2.0协议的USB全速从控制器。芯片还集成了对称和非对称加解密硬核,可以硬件实现MD5算法、RSA算法。芯片支持多级基于硬件的保护机制,可以有效保护内部数据、代码的安全性[5]。

本系统利用AS602芯片来进行指纹处理,而整个系统的逻辑功能则主要通过STC12LE5A60S2 MCU来实现。AS602支持UART模式,可以与微控制器进行信息传送。AS602的基本配置电路与接口电路分别如图2、图3所示。

图2 AS602的基本配置电路

图3 AS602与MCU通信接口电路

图3中主要分为3个部分:

(1)MCU_TXD2、MCU_RXD2是与微MCUSTC12LE5A60S2进行通信的串口端口。

(2)J2(USB)主要用来进行芯片调试

(3)USART1_DIO1/PA11、USART1_CLK/PA10、USART1_DIO2/PA12是AS602与指纹传感器FPC1011进行通信的端口。

2.3电容式触摸屏设计与实现

与传统的机械按键相比,电容式触摸感应按键不仅美观时尚,而且寿命长、功耗小、成本低、体积小、持久耐用。人的手指触碰后会改变其电容,从而通过检测触摸板的电容来确定是否有手指按下。其电容组成如下:

其中固有寄生电容CB由PCB材质和结构决定,它主要由铜盘与地之间的电容和电路形成的,一般就制作完成的触摸板而言,该值是固定的。变化电容ΔC,主要指外界导体与PAD之间的寄生电容,通常也是检测这个电容值的改变[6]。本系统采用SC12A芯片来进行触摸按键管理。SC12A是带自校正的容性触摸感应器,可以检测12个感应盘是否被触摸。它保持自动校正,无需外部干预。它的按键输出经过完全的消抖处理,采用多接口I2C串行接口/BCD码输出。所有按键共用一个灵敏度电容,可以通过选用不同的灵敏电容来改变触摸按键板的灵敏度。接口电路如图4所示。

图4 SC12A芯片接口电路

表1 触摸板电容结构常数(自上而下)

CDC是灵敏度设置电容,取值范围是15 pF~100 pF,电容值越小灵敏度越高。但灵敏度越高,容易受到噪声干扰,本系统中CDC电容选取为20 pF。

经过查阅,当CDC取最小值15 pF时,芯片可检测到的最小电容为0.2 pF,即变化电容ΔC。

利用式(2)可以分别计算出每层介质的电容值:式中:C为电容量;d为极板间极距;ε0为空介电常数(8.85 pF/m2);εr为极板间介质的相对介电常数;S为极板的有效面积。

表2 触摸板各介质电容值(自上而下)

各介质电容相当于串联构成变化电容,利用公式(3)可以计算出最终的变化电容ΔC

经过计算ΔC≈0.428 pF≫ΔCmin,大于最小变化电容并有一定的余量。方案可行。

2.4低功耗电源管理设计与实现

嵌入式系统低功耗设计的目标是在满足用户对性能需求的前提下,尽可能降低系统的能耗,延长设备的待机时间。随着市场对可移动式嵌入式设备在体积和性能方面要求的不断提升,嵌入式设备小体积、高性能与有限的电池能量之间的矛盾日益突出,嵌入式系统低功耗设计是解决这一矛盾的有效手段。它包括硬件低功耗设计和软件低功耗设计两个方面[7]。

本系统有3种供电方式:6 V电池(2组4节5号电池并联)、9 V电池、USB供电。

6 V电池:为整个系统的主要供电方式。

9 V电池:应急使用,防止6 V电池电量耗尽。

USB供电:系统调试使用。

这3种电源经过电源选择模块后为整个系统供电。经过3个稳压芯片的电压调整,分成3组电源分别为MCU和电容触摸、外围电路、指纹识别模块供电。电源模块框图如图5所示。

图5 电源模块框图

其中MUC可以工作在低功耗方式下,对于MCU外围电路及指纹识别模块,当MCU处于低功耗模式时,MCU可以通过控制器使能端无效的方式来切断电源,以减少功耗。这样就可以最大程度上的减少整个系统的功耗。

3 智能指纹锁系统软件设计与实现

3.1MCU与AS602的通信协议

智能指纹锁系统中,AS602指纹识别芯片始终处于从属地位(Slave mode),主机(Host)MCU需要通过不同的指令让模块完成各种功能。MCU可以通过UART串口协议与AS602通信,UART波特率为57.6 kbit/s,数据格式:8 bit数据位,2 bit停止位,无校验位。

主机的指令、模块的应答以及数据交换都是按照规定格式的数据包来进行的。主机必须按照一定格式封装要发送的指令或数据,也必须按相应格式解析收到的数据包。

整个系统主要用了表3中的8个指令集。

表3 AS602指令集

由于没有操作系统的支持,如果采用面向过程的方法,必然会引入大量的标志位,出现大量、多层的判断、转移语句,导致程序的可读性变差[8]。有限状态机的灵活运用可以减少程序中的判断步骤,缩短程序执行时间,提高单片机处理的实时性[9]。因此,对于指令的发送、解析、应答采用状态机的方式进行处理,这样可以减少标志位与多层判断。

3.2TEA密码加密的软件设计与实现

如果将开锁密码采用直接存储的方式,存在从EEPROM中直接读取密码的风险。考虑到密码存储的安全性,本系统将密码通过TEA加密算法加密后,再存入EEPROM中。当需要密码验证时,则从EEPROM中提取出密码进行解密再进行比对。由于将密钥固化在code中烧写进单片机中,因此,其他人很难得知密钥,这样就大大提高了系统的安全性。

TEA算法采用扩散和混乱方法,对64 bit的明文数据块,用128位密钥分组进行加密,产生64 bit的密文数据块,其循环轮数可根据加密强度需要设定[10]。

TEA加密算法过程[11]:

(a)初始化:

待加密的数据分成2部分v(0)和v(1),各32bits,y=v(0),z=v(1),Sum=0;

Delta=0X9E377989;

密钥128比特分成相等4部分:k(0),k(1),k(2),k(3)

a=k(0),b=k(1),e=k(2),d=k(3),n=32;

(b)若n>0则转第c),否则转d)。

(c)Sum=Sum+Delta;

y=y+(z<<4)+a^z+Sum(^z>>5)+b;

z=z+(y<<4)+c^y+Sum(^y>>5)+d;

n=n—l,转第b)步。

(d)v(0)=y,v(1)=z,加密结束,密文在v(0)和v(1)中,共64位。同时,对对AES,RC5,TEA三种加密算法进行代码实现与性能比较(硬件平台:STC12LE5A60S2,22.1184 MHz晶振)。

表4 AES,RC5,TEA加密算法性能比较

对表4中测试得到的数据进行分析:

(a)就资源(RAM、ROM)消耗而言,AES,RC5算法远大于TEA算法

(b)就时间(加密、解密)消耗而言,AES算法远高于RC5,TEA算法,RC5,TEA相差几个毫秒

考虑到本系统采用STC12LE5A60S2单片机,1280字节的RAM,60K字节程序空间。选择TEA加密算法。与AES相比,不存在S盒的“陷门”问题,具有更好的安全性能。另外,无论是硬件实现还是软件实现,TEA都比AES、RC5更简单。因此,整个系统采用TEA算法对开锁密码进行加密处理。

3.3低功耗的软件设计与实现

动态电源管理在降低嵌入式系统功耗发挥着不可替代的作用,属于操作系统级别的管理方式。动态电源管理的本质是一种电源管理的机制或策略,能够在系统运行时,动态地管理电源[12]。本系统采用STC12LE5A60S2作为MCU。STC12LE5A60S2单片机可以运行3种省电模式以降低功耗,它们分别是:空闲模式,低速模式和掉电模式。正常工作模式下,STC12C5A60S2系列单片机的典型功耗是2 mA~7 mA,而掉电模式下的典型功耗是<0.1 μA,空闲模式下的典型功耗是<1.3 mA[13]。因此,可以采用动态电源管理的方式减少整个系统的功耗。如果3 s内无任何操作,则将MCU切换到掉电模式,并将外围电路稳压芯片的使能端设为低电平,停止供电(参见硬件部分的电源管理),使整个系统处于休眠状态,从而大大降低了系统功耗。休眠模式可以通过外部中断进行唤醒。

其次,对程序进行适当优化,如:减少冗余代码,算法优化等等,来实现低功耗的软件设计。

4 测试

4.1功能测试

对整个系统进行综合性的功能测试,完全可以达到前述智能指纹锁系统功能需求。可以准确的录入、删除指纹,识别指纹ID进行指纹开锁;也可以添加、删除开锁密码,利用密码开锁。每步操作都会有相应的语音提示,若长时间没有操作,会进入休眠状态。

图6 智能指纹锁系统实物图

4.2功耗测试

电池:南孚AA 1.5 V无汞碱性电池,型号:LR6,数量:8(4节串联形成一组,两组并联)。

表5 初次测试结果单位:mA

表6 不同休眠模式的测试结果

待机时间理论分析:

表7 各模式理论工作时间

在软件设计过程中,休眠采用掉电模式,假设:每天开锁操作进行3次,功能设置进行3次,其余时间处于休眠状态。经过计算,8节(4节4节并联)理论工作时间达到0.42年。

5 结论

本智能指纹锁系统以STC12LE5A60S2作为核心处理器,AS602作为指纹处理芯片,FPC1011F作为指纹采集器,。通过语音提示与电容式触摸屏来实现人机交互。利用TEA加密算法,对开锁密码进行加密,提高整个系统的安全性。经过功能测试,本系统可以实现功能需求。从软硬件方面都进行了相应的低功耗设计,其中包括芯片选型、电源管理、控制策略等,经过功耗测试,本系统可以实现低功耗目标。其结果表明,本文设计的智能指纹锁系统运行稳定,安全可靠,指纹识别率高、识别速度快,低功耗。

[1]王鑫.指纹锁的市场需求与发展[J].中国公共安全(综合),2014,(24):110-111.

[2]杨伟钧.基于DSP的指纹锁的设计与实现[D].广东工业大学,2008.

[3]Fingerprints公司.FPC1011F Area Sensor Package[Z].Product Specification,2009.

[4]陈文燕,刘良勇.指纹传感器FPC1011F在ARM9指纹采集系统中的应用[J].中北大学学报(自然科学版),2011,32(5):642-647.

[5]钟文东,林喜荣,戴晓清,等.采用AS602的指纹钥匙应用系统的设计与实现[J].电子产品世界,2013,(4):62-65.

[6]陈斌.电容式触摸按键设计与专用芯片应用[J].电子世界,2014,(16):281-281.

[7]梁晶.嵌入式系统低功耗设计研究与实现[D].华中科技大学,2004.

[8]管庶安.单片机程序的状态机模型[J].武汉工业学院学报,2004,23(2):1-2,9.

[9]黄新林,王钢,刘春刚,等.有限状态机在单片机编程中的应用[J].哈尔滨理工大学学报,2008,13(4):7-9.

[10]谢林栩.基于TEA加密算法在网络传输中保护文件数据安全的应用[J].广西师范学院学报(自然科学版),2010,27(2):76-80.

[11]朱璇,唐晓茜,殷建军,等.基于单片机的智能加密电子密码锁设计[J].轻工机械,2009,27(4):76-78,82.

[12]姚伟.嵌入式系统低功耗软件技术研究[J].计算机技术与发展,2011,21(1):112-115.

[13]宏晶科技有限公司.STC12C5A60S2系列单片机数据手册[DB/OL].http://www.stcmcu.com/datasheet/stc/STC-AD-PDF/ STC12C5A60S2.pdf,2013.

杨争辉(1991-),男,汉族,山东省莱州市人,东南大学硕士研究生在读,研究方向为模式识别与智能系统,ZhengHuiY@foxmail.com;

叶桦(1961-),男,汉族,江苏省南京市,东南大学自动化学院,教授,硕士生导师,研究方向为模式识别与智能系统,zhineng@seu.edu.cn。

The Design and Implementation of a Fingerprint Lock Based on AS602

YANG Zhenghui,LI Duo,YE Hua*
(School of Automation,Southeast University,Nanjing 210096,China)

Due to the high power consumption and high price of fingerprint lock on the market,the design of finger⁃print lock has the advantage of low cost,low power consumption.STC12LE5A60S2 is chosen as microprocessor to control different modules.AS602 is chosen to identify fingerprint,which controls the fingerprint sensor FPC1011F. The design of low power consumption consists of two parts:one is low power design of hardware and the other is low power design of software.TEA is used to encrypt the passwords.Finite state machine is used in programming to re⁃duce the judgment step and time.According to the results of the tests,the system is stable,safe and has reliable fin⁃gerprint identification rate,high recognition speed,low power consumption.

fingerprint lock;AS602;lower power consumption;encryption algorithm(TEA);finite state machine

TM925.92

A

1005-9490(2016)02-0495-06

EEACC:721010.3969/j.issn.1005-9490.2016.02.049

2015-05-14修改日期:2015-06-08

猜你喜欢
低功耗功耗指纹
基于任务映射的暗硅芯片功耗预算方法
一种高速低功耗比较器设计
像侦探一样提取指纹
为什么每个人的指纹都不一样
一种宽带低功耗四合一接收机设计
一种用于6LoWPAN的低功耗路由协议
低功耗技术在驾驶行为管理模块中的应用
揭开GPU功耗的面纱
数字电路功耗的分析及优化
基于自适应稀疏变换的指纹图像压缩