智能家居指纹锁系统研究及设计论文_叶耀安

广东恒太科技发展有限公司 广东 佛山 528322

摘 要:指纹锁具有快速、方便、精确等优点,随着智能家居的快速发展,指纹锁系统也得到了广泛的应用。本文对智能家居指纹锁系统展开了研究,分析了智能家居指纹锁系统的功能需求,并对智能家居指纹锁系统硬件及软件的设计进行了详细的介绍,旨在为其他类似指纹锁系统设计提供参考。

关键词:智能家居;指纹锁系统;设计

随着社会经济的快速发展以及人们生活水平的日益提高,人们对生活品质的要求也日益增加,传统的家居模式已无法满足人们对居家生活的需求。而智能家居具有智能、多功能、舒适、安全等优点,逐渐得到广泛应用,并成为未来家居发展的趋势。当前,指纹锁系统因其稳定性、可靠性、准确性得到越来越多人的重视,并在智能家居中得到广泛的应用。基于此,笔者对智能家居指纹锁系统展开了研究。

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

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

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

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

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

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

2.1 FPC1011F指纹传感器及其接口

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

图1 FPC1011F接口电路

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

FSC7002芯片是成都方程式公司为指纹USBKEY等应用领域推出的32bitRISC处理器内核的安全芯片。其内部集成指纹识别引擎,可以直接在芯片内部实现指纹身份认证。内嵌1Mbyte大容量FLASH,支持USB2.0协议的USB全速从控制器。芯片还集成了对称和非对称加解密硬核,可以硬件实现MD5算法、RSA算法。芯片支持多级基于硬件的保护机制,可以有效保护内部数据、代码的安全性。本系统利用FSC7002芯片来进行指纹处理,而整个系统的逻辑功能则主要通过MC9S08SH16CTL MCU来实现。FSC7002支持UART模式,可以与微控制器进行信息传送。FSC7002的基本配置电路与接口电路分别如图2。

图2 FSC7002的基本配置电路

(1)UART_TD、UART_TD是与微MCU MC9S08SH16CTL进行通信的串口端口。

(2)SPI-MISO,SPI-RST#,SPI-MOSI,SPI-SCK是FSC7002与指纹传感器FPC1011进行通信的端口。

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

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

C=CB+ΔC (1)

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

图3 ADPT012芯片接口电路

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

电介质 介电常数(/pF/m2) 厚度/mm PCB电极 电极 0 黑色橡胶 橡胶:2~3;硬橡胶:4.3 0.5 LED背光板 Plexiglass:2.8 2 白色普通橡胶 橡胶:2~3 1 键盘镂空字模 忽略 0 锁外观面板 Plexiglass:2.8 3 手指 电极 0

注:其中PCB电极面积为11mm×11mm。对于橡胶,在计算时取2.5pF/m2。

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

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

利用式(2)可以分别计算出每层介质的电容值:

(2)

式中:C为电容量;d为极板间极距;ε0为空介电常数(8.85pF/m2);εr为极板间介质的相对介电常数;S为极板的有效面积。

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

电介质 电容值/pF PCB电极 — 黑色橡胶 橡胶:5.35425;硬橡胶:9.20931 LED背光板 Plexiglass:1.49919 白色普通橡胶 橡胶:2.677125 键盘镂空字模 — 锁外观面板 Plexiglass:0.99946 手指 —

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

(3)

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

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

3.1 MCU与FSC7002的通信协议

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

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

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

表3 FSC7002指令集

指令名称 指令功能 指令码 PS_VfyPwd 验证口令 13H PS_GetImage 采集录入图像 01H PS_GenChar 特征生成 02H PS_RegModel 指纹合并特征生成模板 05H PS_StoreChar 储存模板 06H PS_Search 搜索指纹 04H PS_DeletChar 删除模板 0cH PS_Empty 清空指纹库 0dH

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

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

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

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

TEA加密算法过程:

(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三种加密算法进行代码实现与性能比较(硬件平台: MC9S08SH16CTL)。

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

加密算法 RAM消耗 ROM消耗 加密时间/ms 解密时间/ms AES 894 3565 341.315 1162.173 RC5 326 4282 67.612 69.784 TEA 72 2549 69.414 69.483

注:其中加密时间,解密时间都是10次取平均值。

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

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

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

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

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

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

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

4 测试

4.1 功能测试

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

4.2 功耗测试

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

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

内容 电流 休眠 10.18 等待开锁或设置操作+背光 100 指纹识别+语音提示+电机动作+背光 300~330

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

情形 休眠电流/mA 待机时间 优化前 10.19 20.4d 优 化 后 空闲 模式 休眠60s以内 7.62 27.3d 休眠超过60s 6.75~6.85 30.6d 掉电 模式 休眠60s以内 1.4 0.4y 休眠超过60s 0.52 1.1y

注:以上电流均指电池干路输出电流,即电池放电电流。

待机时间理论分析:

表7 各模式理论工作时间

情形 平均值/mA 理论工作时间 休眠电流 (Istdby) 10 2500mAh×2/10mA≈20d 平均电流 (Iav) 200 2000mAh×2/200mA≈20h (每次操作平均2min) 峰值电流 (Imax) 330 1200mAh×2/330mA≈7 (开锁动作序列2×0.7s)

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

5 结语

综上所述,当前人们对身份认证提出了更高的要求,生物识别技术作为一种准确、安全、可靠的认证方式,越来越受人们重视,而指纹识别技术作为当前生物识别技术中最为成熟的一个分支,在智能家居中得到了广泛的应用。本文设计了一个高性能、低成本、低功耗、识别速度快的智能家居指纹锁系统,该系统安全性高、可靠性强,对同类指纹锁系统设计具有重要的参考价值。

参考文献

[1]李根柱.一种新型指纹锁电路设计[J].电脑与信息技术.2014(02)

[2]陈邦,戴声奎,吴煌鹏.基于Z-Wave无线技术的指纹锁系统设计[J].微型机与应用.2014(06)

论文作者:叶耀安

论文发表刊物:《基层建设》2016年25期

论文发表时间:2017/2/22

标签:;  ;  ;  ;  ;  ;  ;  ;  

智能家居指纹锁系统研究及设计论文_叶耀安
下载Doc文档

猜你喜欢