微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于SPCE061A的指纹识别系统

基于SPCE061A的指纹识别系统

时间:01-31 来源:互联网 点击:

值T(如令T=127),指指纹图像的灰度值分为两组R1和R2。

②计算两组的平均灰度值u1和u2。

③重新设定新的灰度阈值T。新的T定义为:T=(u1+u2)/2。

④依据新的T对指纹图像进行阀值分割。

这种方法是以自适应的阀值对指纹图像进行二值化处理。实验结果表明,该方法比设定固定阀值进行处理更有普遍意义,且行之有效。

4.1.3 特征点提取。采用脊跟踪法,其基本思想是直接对图象进行脊线跟踪,在跟踪过程中检测和提取特征点。

4.1.4分类算法。指纹被分成5大类:拱类、做环类、右环类、尖拱类和旋涡类,预先使用全局特征排序,可以加速指纹的匹配服务。

 

4.2程序流程

当系统处于空闲状态时,SPCE061A利用P_SystemClock单元写入CPUCLK STOP控制字,使系统从运行状态转入睡眠状态,关闭系统时钟(PLL振荡器)。当用户有指纹或按键输入时,系统接收到唤醒信号后接通PLL振荡器,同时CPU会响应唤醒事件的处理并进行初始化。利用IRQ3_KEY为触键唤醒源,利用FIQ为MBF300指纹传感器输入唤醒源。下面是程序流程图3和IRQ3_KEY唤醒程序的部分代码。

图3 程序流程图

R1=0x0000; //设置A口为带下拉电阻的输入口

[P_IOA_Attrib]=R1; //设置3个属性向量

[P_IOA_Dir]=R1;

[P_IOA_Data]=R1; //中断设置(允许IRQ3_KEY触键中断)

INT OFF; //关中断

R1=0x0080; //设置中断标置

[P_Int_Ctrl]=R1;

INT IRQ; //开中断

//读P_IOA_Latch单元,以锁存IOA[0~7]的数据,用于触键唤醒

R1=[P_IOA_Latch]; //锁存A口低8位的数据

//将P_SystemClock(写)7013H单元的第0~2位置为“111”,使系统进入睡眠状态,

R1=0x0007; //系统进入睡眠状态

[P_SystemClock]=R1;

//IRQ3子程序(端口A的触键唤醒源被触发后,调用IRQ3 中断服务子程序):

.TEXT

.PUBLIC _IRQ3

_IRQ3:

R1 = 0x0100; //比较是否为L_IRQ3_Ext1中断

TEST R1,[P_INT_Ctrl];

JNZ L_IRQ3_Ext1; //是,则进入;否,进行下面的判断

R1 = 0x0200;

TEST R1,[P_INT_Ctrl]; //是否为L_IRQ3_Ext2中断

JNZ L_IRQ3_Ext2; //是,进入该中断;否,执行下面的程序

L_IRQ3_KeyChange_WakeUp: //不是上面的两种中断则一定为键唤醒中断

R1 = 0x0080; //清除IRQ3触键中断请求

[P_INT_Clear]= R1;

:

(处理系统被唤醒后的任务)

:

RETI

L_IRQ3_Ext2:

[P_INT_Clear] = R1; //清除IRQ3_EXT2中断请求

RETI

L_IRQ3_Ext1:

[P_INT_Clear] = R1; //清除IRQ3_EXT1中断请求

RETI

5 总结

相对于其它指纹识别系统控制核心大多数是DSP运算能力强,但控制能力差的缺点,本系统最大的创新点是控制核心采用了既具有单片机的控制功能,又具有强大的DSP运算能力于一体的16位SOC芯片SPCE061A,使本系统在进行简单的扩展后即可以在指纹锁、无钥汽车、PDA设备、大型门禁系统等各种需要指纹控制的领域进行广泛的应用。

参考文献

[1]罗亚非等,凌阳16位单片机应用基础[M].北京:北京航空航天大学出版社,2003

[2] 彭宣戈,一种嵌入式Internet接口系统[J].微计算机信息,2005,2 8-9

[3]孙传友,孙晓斌.测控系统原理与设计[M].北京:北京航空航天大学出版社,2002

[4] 杨西明,朱琪,单片机编程与应用[M].北京:机械工业出版社,2004

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top