2024年6月2日发(作者:)
l Video application&project
l顽频应用与工程
文章编号:1002—8692(2011)17—0118-04
指纹识别系统的一种低功耗实现方法与应用
张金刚 ,林喜荣 ,戴晓清 ,李建荣
(1.清华大学深圳研究生院,广东深圳518055;2.广东省阳江市纳安科技有限公司,广东阳江529500)
【摘要】提出了一种指纹识别系统的低功耗设计方法,采用基于双控制核心的系统构架,将指纹识别功能和外设控制功能独
立分开的设计,以ARM核心的ML67Q5250实现指纹的采集、处理、识别和匹配,以16位的超低功耗单片机MSP430F149控制外
围设备实现指纹识别系统的具体应用,解决了指纹识别系统的高效率和低功耗的问题。
【关键词】指纹识别;指纹传感器;生物特征识别;MSP430;低功耗
【中图分类号】TP391.4;TN919.8 【文献标识码】A
Application and Realization Method of Power Consumption Reduction in
Fingerprint Identification System
ZHANG Jingang ,LIN Xirong ,DAI Xiaoqing ,LI Jianwn ̄
(』.Graduate School at Shenzhen,Tsinghua Un#ersity,Guangdong Shenzhen 518055,China;
2.Yangfiang NAAN Technology Co.,Ltd.,Guangdong Yangfiang 529500,China
【Abstract】A kind of duo—control—core system is introduced to reduce the power consumption of fingerprint identiifcation
s ̄tem.One control core,ML67Q5250,realizes the functions of collecting,processing,recognizing and matching of the
ifngerprint image,while the other control core,MSP430F149,realizes the function of controlling all the peripheral units.
Consequently,the contradiction of high eficifency and low power consumption can be solved perfectly.
【Key words】fingerprint identiifcation;fingerprint sensor;biological identiifcation;MSP430;low power consumption
0 引言
随着半导体工艺的进步,指纹图像的采集变得越来
越容易,这就加快了指纹识别系统的应用和推广。目前
指纹识别系统主要采用具有高速数据运算能力的DSP或
能。它的主要性能特点及优势如下:
1)32位RISC CPU(ARM7TDMI),时钟频率可编程
为1 MHz,6 MHz,16 MHz,32 MHz。
2)具有16 kbyte片内RAM供CPU运行使用,内部
集成64 kbyte程序ROM。
者基于ARM核的处理器芯片来完成算法处理和识别,高
性能芯片的应用不可避免地将系统的整体功耗限制在了
一
3)内部集成指纹识别加速器,在32 MHz时钟下,1:
1认证时间小于0.8 s。
定的水平上,影响了系统在需要电池供电的便携式设
备中的应用。因此,在保证指纹识别系统高效、准确的基
础上,大幅降低系统功耗将会大大增加系统的应用范围
4)内置JTAG接口,方便在线调试。
5)供电电压3.3 V,内核工作电压2:5 V,工作电流
100 mA,待机电流30 A。
6)支持多种接口,具有2个全速SPI通道,1个全双
工通用异步收发器SIO(UART),一个8位同步串行接口
及在电池供电下的连续使用时间,解决指纹识别系统推
广和普及的一个技术瓶颈n 。
本文提出一种双控制核心的系统架构来实现指纹识
别系统的高性能和低功耗之间的矛盾,以基于ARM核的
ML67Q5250实现指纹采集、图像处理以及识别算法,以
超低功耗的MSP430F149的单片机 1控制外围设备,保
证系统在待机状态下的低功耗。
SSIO,1个USB2.0全速设备控制器,可以连接多种划擦式
和面接触式指纹传感器。
1.2外设主控芯片MSP430F149
MSP430F149tSj是TI公司开发的一款具备超低功耗
的16位微控制器,具有5级节能模式。它的主要性能特
点及优势如下:
1 系统硬件结构设计
1.1指纹处理与认证芯片ML67Q5250
1)强大的处理能力。l6位RISe单片机,在8 MHz
ML67Q5250是日本冲电气(OKI)公司开发的一款指
纹处理与认证专用芯片。该芯片采用ARM7TDMI核心,
晶体驱动下,实现125 as的指令周期。
2)灵活的时钟系统。I/O和CPU采用不用的时钟系
既具有强大的运算能力,也具备ARM系列丰富的控制功
统,高速时钟(MCLK)满足CPU高速运行,低速时钟
¨o
1 电视投硝 ,一 …, 一…
V1deo applzcat]on protect I
鲤 瘗疆量 壁l
(ACLK,SMCLK)满足低速外设及低功耗需求。
3)超低功耗。供电范围1.8~3.6 V,在活动模式下
功耗为200 A@l MHz,2.2 V,待机模式下功耗为0.6 A。
AES3400和AFS8600,以及瑞典FingerPrints公司推出的
面接触式电容传感器FPC101 1C。
AFs86O【J,AEs34o0焊盘AEs25l0焊盘
FPclOl1焊盘
4)丰富的片上外围模块。包括看门狗(WDT)、定时
器A、定时器B、基本定时器、2个通用异步串口收发器、1
个12位A/D、16个可实现方向控制及中断功能的并行输
人输出端口等,可以满足对多种外设的支持。
1.3系统结构设计
系统结构如图1所示,分成指纹识别模块和外设主
控系统这2个独立的模块。指纹识别模块以ML67Q5250
为主控中心可以实现指纹图像的采集、预处理、特征提
取和匹配等指纹识别的全部功能;MSP430F149作为外
设主控中心负责系统的输入、输出、存储及执行机构。2
个功能模块通过改进的SPI协议进行通信,ML67Q5250
将指纹识别的结果发送给MSP430F149,MSP430F149再
将指纹识别结果转化为对执行机构的控制,不同的执行
机构接口可以实现多种应用。如果将电机作为执行机
构可以实现指纹锁、指纹保险箱等,如果将指纹识别结
果作为加密密钥,则可以实现指纹文档加密的功能等。
主控系统
指纹识别模块
指纹识别模块
:I[圃!竺 l :
厂] l
、
.. . .
._/
f蜂鸣器、’
l指示灯等 矩阵键盘
一
lI
图1 系统功能结构示意图
2 系统主要功能模块设计
2.1指纹识别模块
ML67Q5250具有多种接口,可以兼容多种指纹传感
器,在程序设计上,针对不同类型的传感器,需要开发相
应的不同驱动程序。驱动程序的主要工作包括初始化
传感器、控制传感器采集指纹图像、将图像转化为
ML67Q5250要求的标准格式,最后将数据传送给
ML67Q5250。
实验中,为了兼容多种传感器,系统设计了一个集
成接口,如图2所示,可以在不更改硬件结构的基础上同
时兼容4种传感器,分别是美国AuthenTec公司生产的划
擦式电容传感器AES2510,面接触式电容传感器
~一……一
里! 寸
l
'
。
8
[ ]
g
2
主
兽 g g 8 H
8
图2传感器集成接口电路图
为了方便开发不同传感器驱动及系统扩展的需求,
指纹识别模块硬件结构及程序架构采用了分层及模组
化设计,如图3所示。
} 指纹认证应片j程序(FI)sJ,) l
{
{} : 介 介
} {
软
件
层
毒 驱SP r动M U SB驱动
l l i指纹加速器!l r as 闪存l l SPI/GPIO l usB l
硬
件
一 … … ———
曼£~
{指纹图像; MSP430 PC i
层
l传感器} 微控制器
图3 指纹识别模块硬件结构及程序架构
图3中,传感器驱动是指纹图像传感器的驱动,需要
根据不同的传感器编写;指纹硬件加速驱动主要实现从
指纹图像生成模板及指纹特征模板匹配的功能;指纹认
证引擎提供了指纹认证的方案,实现指纹的注册、认证
和删除等功能。具体实现功能包括:
1)初始化必要的硬件设备、初始化指纹模块驱动库。
2)进入主状态机循环,如图4所示。
3)响应MSP430的控制信号,完成主状态机循环的
状态切换。
4)输出指示状态及结果给MSP430。
2011年第35卷第17期(总第367期) 铲 di c Ho 口 ei e i r n 1 1 1
l Video application project
l霾鳗堕围氢 壁
序号,Active_Index指示当前指向的菜单项,即当前活动
的菜单项序号,Temp_Index是一个中间变量,作用在于
当菜单项过多,超出一屏能显示的范围时,能滚动显示
多出菜单项。
多级菜单的实现采用了一种层标设计法,设置了层
标志量Floor,初始值为0,根据菜单的级数加1或减1,再
结合Active—Index标志量便可以准确进入相应的子菜单
图4 ML67Q5250主状态机循环
2.2显示功能模块
2.2.1液晶基础驱动程序
显示功能的实现采用一块128x64的点阵液晶屏
(LCD)与MSP430F149通过6800总线连接。液晶的驱动
及显示控制采用分层设计思想,如图5所示。
匝
l
f
GB.c l
] ,
l里竺 :
-・_ _
_、,
j L!
‘
!
’
:
‘
j
l【B mplib.cJl 。嗍 匝 固
L_———]
f
ILCD_P。rtC。nifg.h}- ̄LCD_Driver
图5 LCD基础驱动程序架构
LCD基础驱动程序由3个功能层组成,其中驱动层
的任务在于根据实际的硬件连接对使用到的端口进行
定义及配置,并负责MSP430F149与液晶模块进行数据
传输的任务,包括初始化模块、读写控制指令、写数据、
读数据、LCD复位等子函数功能;功能函数层提供了供用
户应用程序中调用的液晶显示驱动的API接口函数,如
写ASCII字符、写汉字字符、删除字符、画特殊符号等功
能函数;应用层可以根据具体的应用环境调用API接口
函数编写相应的用户程序,如本系统的人机交互多级菜
单界面就在该层中编写。
2.2.2人机交互多级菜单界面
人机交互设计的重点在于界面的多级显示、滚屏、
光标的管理以及参数的交互设置及保存等,这些功能主
要通过3个控制按键(向上、向下、确定)来实现。
滚屏功能的实现采用了一种“序标设计法”,设置了
3个序号标志量First_Index,Active
_
Index,Temp
—
Index,
其中Fimt_Index指示当前处在显示屏中最前面的菜单项
2n 粤 攀冀 2011年第35卷第17期(总第367期)
项,从而能够实现多级显示。
参数的交互设置及保存方法是系统在内存中的特
定区域开辟了一块缓冲区,用来存放参量数据。当更改
参量值时,LCD从此缓冲区读取数据到LCD的显示RAM
中,同时MCU将参量值保存到存储系统E
应用层 功能函数层 驱动层
PROM对应的
地址中去;当需要显示参量值时,MCU将E2PROM中的数
据读出到缓冲区中,再被LCD读取并显示出来。
2.2.3小结
基于分层设计思想的液晶基础驱动架构只须更改
底层驱动的配置文件,功能函数层和应用层不用任何改
动,就可以移植到不同的LCD上;基于序标和层标设计
法的多级菜单可以轻松扩展到任意级,便可满足不同实
际应用系统的使用。
2.3键盘输入模块
为满足不同应用场合的需求及系统扩展的要求,键
盘输入系统要求能输人
阿拉伯数字、26个英文字
母及简单符号等功能,为
节省按键数量,系统模拟
手机键盘的输入方式,采
用数字和字母复合输入,
如图6所示,右下角的“木’’
号键为输入法切换键,可
以切换数字或字母输入
图6复合键盘结构
方式。
数字输入方式下每个按键代表一个数字。字母输
人方式下,每个按键代表3 ̄4个字母,需要切换显示,具
体的功能分析如下:
1)首次按下按键,显示该按键对应的第1个字母。
2)在一定时间内连续第2次按下按键,切换成该按
键对应的第2个字母。
3)在一定时间内连续第3次按下按键,切换成该按
键对应的第3个字母,直到该按键对应字母全部切换完,
然后从头开始。
4)超出一定的时间间隔再按下相同按键,则保持
当前字母显示,光标切换到下一个位置开始新一个字母
Video application&projectl
顽频应用与工程l
显不。
5)2次分别按下不同按键,则保持第1次按键字母
显示,光标切换到下一个位置,开始第2次按键所代表字
母的显示。
对比项
6)长按功能,当一个按键按住不放超过一定时间则
显示该按键对应的数字。
通过分析按键按下所产生的电平图如图7所示,设
置相应的标志量及定时器可以实现上述功能。完成一次
第1次
第2次
第3次
第4次
第5次
第6次
第7次
第8次
均值
下,根据耗电量的不同,将验证环节分成系统休眠环节、
按键操作的电平变化是由高到低,再由低到高,可设置标
志量KEYEVENT标志此事件,完成上述的第1项功能;
在按键按下的瞬间,电平由高变低,此时启动定时器TIM.
ERO,并设置标志量Key_Down记录此事件,定时器TIM—
ER0每隔20 Ins监测一次按键值。若超过1 s(TIMER—
OUT0)按键还处于按下状态,则判断按键为“长按”,完成
上述的第6项功能;若1 S的时间内按键抬起,则此时停
止定时器TIMER0,开启定时器TIMER1,等待下一次按
键的按下。若超过0.75 s(TIMEROUT1)元按键按下,则
按上述第4项功能实现输入及显示;若在O.75 s内监测到
有第2次按键按下,若2次按键值不同,则按上述第5项
功能实现输人及显示,若2次按键值相同,则按上述第2、
第3项功能实现输入及显示。至此完成按键字母输入方
式的全部功能,且TIMEROUT0和TIMEROUT1值可以根
据具体应用情况具体设置,满足实际应用情况,实验测试
该方法实现的按键输入稳定准确,符合多数用户的使用
习惯
一
一 舛 舛
—B m ∞
图7按键电平分析图
3 系统实例应用及测试总结
采用分层及分模块设计的程序结构使得本系统方便
针对不同应用环境扩展相应功能,在实例中,写人指纹门
锁控制程序,执行机构配备为微型减速直流电机,即可
模拟指纹门锁的工作状况,并可进行相应的功耗测试。
在用户注册的过程中,在不开启液晶屏背光的情况
下,根据耗电量的不同,将注册过程分成系统休眠环节、启
动等待注册环节、采集指纹环节和注册成功环节,分别用
Ⅲ, ,c,,.s,代表各环节的电流值,测试数据如表1所示。
在用户验证过程中,在不开启液晶屏背光的情况
启动等待验证环节、采集指纹环节、验证成功电机转动环
节,分别用1112,WI2,C12,SI2代表各环节的电流值,测试
数据如表2所示。
表2用户验证各环节电流值
对比项HI211xA W12/inA CD/mA S12/mA
第1次 14.31 91.45 121.06 145-33
第2次 14.54 91.62 120.68 146.51
第3次 14.O8 91.33 121.18 146.O3
第4次 14.17 91.21 120.13 145.78
第5次 】4.21 91.79 12】-32 146_36
第6次 14-42 91.83 121.47 145.28
第7次 14.02 91.08 121.61 146.17
第8次 14.18 9】.53 120.73 】46.58
均值 14.24 91.48 121.02 146.01
在上述过程中若开启液晶屏背光,则电流值会增加
55~60 ITIA。
在不开启液晶背光的情况下,以每次开锁耗时6 s,每
天开锁6次计算,该指纹识别门锁系统一天的耗电量约为
1.669 mA・h。用普通5号干电池供电,1节电量以1 500 mA・h
计算,1节干电池可支持指纹系统运行898天,近两年半
的时间。
若开锁时开启液晶背光,还是以每次开锁耗时6 s,
每天开锁6次计算,该指纹识别门锁系统一天的耗电量
约为2.244 mA・h。用普通5号干电池供电,1节电量以
l 500 mA・h计算,1节干电池可支持指纹系统运行668
天,近22个月的时间。
从实验结果可以看出,双控制核心的系统架构极大
降低了系统在待机状态下的电流消耗,同时在指纹采集、
处理和识别的过程中,减少了ML67Q5250对外设的控
制,而将控制功能转移到功耗更低的MSP430中,使得指
纹认证处理的电流消耗进一步降低,从而极大延长了电
池供电指纹识别系统的使用时间。
参考文献:
[1]KUCHEN M.Models for fingerprint pattern formation[J].Forensic Science
Internationa1.2007(171):85—96.
【2】林喜荣,潘鹏,于政涛,等.一种基于DSP技术的指纹鉴别系统的
实验研究[EB/OL].[2010-01—15].http://cacp.ilib.cn/p—h044085 ̄
(下转第128页)
2011年第35卷第17期(总第367期) 矿 l d e ,0 n15 i n re i n ●1 2 -
l Video application&proiect
l塑鳗堕厘氢 垂
tionCamera2()函数获取摄像机的内外部参数和畸变系
数,并保存到相应的文档中。调用摄像机的内外部参
数、畸变系数文档,采用cvRemap()函数矫正需要检测的
————●
■—————●■一
一.
——■●一
—■—●—■——●
—■—_
目标图像。
对于矫正后的图像,采用3x3中值滤波去除图像噪
■—■●————●
a矫正后的图像 b中值滤波后的图像c亚像素角点检测
后的图像
声。采用cvGoodFeatureToTrackf)函数寻找像素级的角
点位置,确定像素级角点位置后,实现亚像素级角点位
置确认,获取亚像素角点坐标,根据采集的标准棋盘图
图4零件角点获取
如图4c,获取零件角点坐标分别为(63.883 3,253.943 4)
和(299.334 7,258.910 6),根据相机拍摄的标定板图像
可得每33.6个像素为0.2 cm,由此可得零件角点距离为
1.401 808 cm,偏差为0.001 808 cm。
像,计算像素点间的实际距离值,获取角点的距离。
5实验和结果分析
依据本文阐述的角点间距测量原理和算法,在Visu—
al Studio 2005环境下,调用
6 小结
通过实验和检测结果的分析比较,这种基于
OpenCV的高精度零件角点间距测量方法有效地提高了
测量精度,在OpenCV中采用该角点检测方法而编写的
OpenCV2.0库函数,开发了
基于MFC对话框结构的亚
像素级的角点间距测量程序,
程序经过严格测试,运行稳
检测程序具有运算效率高、标定结果精度高、角点定位
精度高、跨平台移植性好等特性,可以有效地应用于其
他计算机视觉系统中。
图3操作界面
参考文献:
2011,18(2):93—96.
定,没有出现内存泄露的情
况。操作界面如图3所示。
选取4x29的标准棋盘为标定目标,棋盘格子的宽度
1】高俊钗,雷志勇,王泽民.高精度测量的相机标定[J].电光与控制,
为0.1 ca。从不同的距离和角度,选取21幅656x492像
[
素的图像作为标定用图。标定得到的内参数矩阵、镜头
畸变系数如表1所示。
表1标定得到的内参数矩阵和镜头畸变系数
【2J邱茂林,马颂德,李毅.机器视觉中摄像机标定综述叨.自动化学
报,2000,26(1):43—55.
【3】SCHMID C,MOHR R,BAUCKHAGE C.Evaluation of interest point
_ 糨机内章}I参数 7 9 。4 舛,
( 。 .D..p2) -o.ooo 8099900 +O.00o 344476 5
detectors[JJ.hernational Journal of Computer Vision,2000,37(2):
151—172.
[4J刘瑞祯,于仕琪.OpenCV教程:基础篇【M】.北京:北京航空航天大
学出版社,2007.
根据公式E= 1∑ — )。+(y 一Yi) ]J/2可知跚,
¨
=
i
【5]于仕琪,刘瑞祯.学习OpenCV[M].北京:清华大学出版社,2009.
,
‰)为用图像处理得到的标定点像素坐标经过一系
[6】张云辉,谭庆昌,田原螈.图像测量系统精度影响因素的研究U】.
微计算机信息,2008,24(8):271—273.
列变换得到的图像物理坐标的理想坐标,( Y )为世界
坐标的点经过投影得到的理想状况下图像物理坐标系
下的坐标。
【7】王占全,徐慧.Visual c++数字图像处理技术与工程案例【M】.北京:
人民邮电出版社,2009.
[8]李明金,熊显名,张绍兵.一种基于OpenCV的摄像机标定新方法
【J】.激光与光电子学进展,2009。12:99—102.
◇
选取合适的零件图像,实现图像矫正、图像预处理、
亚像素级角点检测、角点间距测量。如图4所示,选取角
责任编辑:孙卓
点的实际距离为1.4 cm的零件。
(上接第121页)
263549~1.htm1.
收稿日期:2011.-05-30
北京:北京航空航天大学出版社,2008.
◇
【3】祝军生.基于ARM的自动指纹识别系统的设计[J】.电子设计应用,
2oo8(1o):81—84.
作者简介:
张金刚(1984一)。硕士生,主研指纹特征识别及其应用:
林喜荣【1945一),教授,从事生物特征识别方向的研究:
戴晓清(1984一)。博士生。主研掌纹特征识别及其应用:
李建荣{1982一),工程师.从事机电产品设计。
责任编辑:任健男 收稿日期:2011--04-18
【4】王新升,林喜荣,戴晓清,等.新型指纹识别芯片的原理及应用fJ].电
视技术,2009,33(s2):217—219.
【5】费文坤,陶维青.基于MSP430F149单片机的人机界面设计【JJ.微计
算机信息,2009,25(1—2):116—118.
【6】沈建华,杨艳琴.MSP430系列超低功耗单片机原理与系统设计【M】.
128 攀爨 2011年第35卷第17期(总第367期)
发布评论