基于采用指纹识别模块、微控制器为控制机构的指纹锁设计
扫描二维码
随时随地手机看文章
随着指纹识别算法的成熟,以及微处理器功能与速度的不断提高,复杂的指纹识别门锁控制算法已可以被固化到一块体积非常小的嵌入式微处理器模块上,这使得用指纹来代替“IC 卡+密码”的门禁锁具成为可能。另外,随着个人数字助理(PDA),手机等掌上通讯设备的价格的不断降低和大众化,而且它们大多数都集成有红外接口,通过手机这样的手持设备的红外接口来控制锁具既经济又时尚,是本文的又一特点。
2 系统构成带红外接口的指纹门锁系统的主要由3 部分构成,如图1 所示:指纹识别模块、微控制器(MCU)和门锁控制机构。其中微控制器是整个系统的核心,控制指纹识别模块进行指纹采集、比对等和门锁控制机构执行相应的动作,如控制马达开关门、进行相应的声光提示等;指纹识别模块包括:指纹识别芯片、指纹传感器和存储指纹特征数据及配置参数的Flash 存储器;门锁控制机构主要包括:马达、蜂鸣器、led 提示灯、红外接口等。
3 低功耗设计
整个门锁系统采用4 节5 号电池供电,因此,功耗是影响系统成败的重要因素之一。完整的低功耗设计可以贯穿系统设计,软件设计,逻辑设计,电路实现直到器件/工艺级的整个数字系统设计流程。每个级别可以达到的低功耗效果不同,抽象层次越高,则优化的空间越大,效果也越明显,图2 为低功耗设计不同层次能够降低的系统功耗[1]。
系统设计层确定系统对性能的需求,进行软硬件划分。在这一层做出的功耗优化主要是根据系统功能说明进行软硬件协同设计, 获得最佳的性能/功耗比。软件设计层产生最终在系统硬件上执行的代码,在这一层次做出的功耗优化主要是充分利用硬件提供的节电模式, 合理设备各器件的工作状态; 逻辑设计层确定应用系统上各元器件在生产时要采用的硬件结构。对微控制器来说,这一阶段的功耗优化主要考虑系统时钟以及处理器指令的优化设计。合理安排系统内各模块的通信;电路实现层主要从片内合理的布局布线的角度来考虑功耗优化;器件工艺层主要考虑从芯片制作工艺及用材上来进行功耗优化。本文主要从以下几个方面来降低系统功耗:
1)器件选型:根据系统设计层确定的硬件,尽量选用功耗小的硬件,方法先从功耗大的硬件上选择起,如本系统的MCU 采用Mega88,它是一款单片封装的MCU,适合于许多要求高集成度、低成本、低功耗的场合,可以满足多方面的性能要求。
2)系统工作方式选择:尽量选用高速低频工作方式,低功耗系统中选用几乎全是CMOS 器件,因为其电平变化快,有利于降低功耗;另外CMOS 电路不用的输入端虽然有保护电路,但也不能悬空,以免输入端逻辑电平不定,电路来回翻转,增大系统功耗,本文对Mega88 的闲置管脚均采用输出高电平,采用内部1M 的时钟频率。充分利用“空闲”、“掉电”模式,本文Mega88 在系统空闲时采用掉电模式,在该模式下MCU 的静态电流仅5 微安。
3)合理的电源管理:指纹锁系统大部分时间是空闲的,根据这一事实,只有当系统在工作时才进入工作状态,其它时间MCU 处于掉电状态。另外,系统在工作期间并不是所有的外设都需要工作,如果系统在工作期间一直对这些器件进行供电,将造成能源的巨大浪费。这种情况下,可对电路进行模块设计,工作时对模块实施间断供电,使模块电路仅在需要工作的短时间内加电,其余则处于断电状态。
4 指纹识别模块设计指纹识别模块由指纹识别芯片、指纹传感器、存储指纹模板信息的flash 存储器组成,其中指纹识别芯片是指纹识别模块中的核心模块,负责指纹图像的处理,通过UART 与Mega88 相接,如图2 所示。
Mega88 通过UART 口,按照PS1802 编程手册中的通信协议,控制指纹识别芯片进行指纹图像采集、特征提取、指纹特征比对、生成指纹特征模板等一系列的图像处理操作,并把生成的特征模板存入flash 中,具体实现方法可参考PS1802 编程手册[3]。为了降低系统功耗,通过电子开关控制PS1802 的供电,只有当进行指纹操作时才接通其电源, PS1802 复位要一段时间,因此,在给PS1802 上电,不能立即发送获取图像指令,应延时一段时间,根据经验值,200ms 最佳。
5 红外接口模块设计图3为IRM5000D 工作示意图,其中,IRM5000D 是一个红外数据转发器,在数据发送时,接收脚(RxD)是安静的,从而提高了通信的准确信;支持掉电模式,通过置SD 脚为高电平,IRM5000D 的静态电流不到0.01 微安。
图3 所示,Mega88 通过PD2、PD3 分别与IRM5000D 的接收端(RxD)和发送端(TxD)相连。为了实时接收PDA 发送来的红外信号,Mega88 通过启动外部中断0,在中断处理程序中监听PD2 脚电平变化来接收数据,外部中断0 采用低电平触发方式,为了达到唤醒中断的方式,按9600bit/s 的波特率算,PDA 发送的每一个数据前面必须带一个字节的唤醒头部(0x00),其通信格式为:“0x00+数据”,为了能够根据电平变化来接收数据,数据部分采用曼彻斯特编码方式。下面是中断处理程序中的实现代码:
6 结论
本文介绍了一种带红外接口的低功耗指纹锁的设计方案,重点介绍了低功耗的设计方法,按照该方法,本文设计的指纹锁静态电流仅为15 微安,完全能够满足工业产品设计要求。另外,对系统中最为重要的指纹模块和红外接口模块也作了较为详细的介绍。