指纹识别技术把一个人同他的指纹对应起来,通过比较他的指纹和预先保存的指纹进行比较,就可以验证他的真实身份。每个人皮肤纹路在图案、断点和交叉点上各不相同,也就是说,是唯一的,并且终生不变。依靠这种唯一性和稳定性,我们才能创造指纹识别技术。
每个人包括指纹在内的皮肤纹路在图案、断点和交叉点上各不相同,呈现唯一性且终生不变。据此,我们就可以把一个人同他的指纹对应起来,通过将他的指纹和预先保存的指纹数据进行比较,就可以验证它的真实身份,这就是指纹识别技术。
指纹识别主要根据人体指纹的纹路、细节特征等信息对操作或被操作者进行身份鉴定,得益于现代电子集成制造技术和快速而可靠的算法研究,已经开始走入我们的日常生活,成为目前生物检测学中研究最深入,应用最广泛,发展最成熟的技术。
指纹识别模块是集指纹图像的采集、识别以及身份验证结果的显示为一体,软硬件相结合的系统。本文设计了一种基于DSP处理器和FPC 1011C电容式指纹传感器的嵌入式指纹识别模块,具有高性能、低功耗等特点。
1FPC1011C的工作原理和性能特点
FPC101lC是瑞典FingerPrint Cards公司推出的电容式指纹传感器。它利用了该公司的反射式探测技术,使指纹传感器的表面保护层厚度可以达到普通电容式指纹传感器的100倍左右,因此能够使指纹传感器具有更高的对干湿手指的适用性和更长的使用寿命。
2 硬件设计
本文设计的指纹识别模块是由DSP、FPC1O11C、16MB的SDRAM和2 MB的NORFlash、RS232接口,以及电源转换电路等组成。系统结构框图如图1所示。其中,DSP选用的是ADSF-BF531型数字信号处理器。它是由ADI和Intel公司合作,针对音频和视频信号的编解码、手持设备和移动通信设备而研发的16位定点处理器。
2.1 工作原理
用户通过PC端软件发送命令给指纹识别模块,由电容式指纹传感器FPC1011C采集用户的指纹。DSP通过SPI接口读取来自传感器的指纹图像,并将指纹图像存储到SDRAM中。DSP运用指纹识别核心算法对图像进行运算,将运算出来的特征点和存储在Flash中的特征点进行比对,再通过指纹识别模块将比对结果输出至PC端显示比对结果。
2. 2 指纹传感器部分的硬件设计
DSP通过SPI口读取FPC1011C的指纹图像,并通过PF口来控制片选控制信号。FPC1011C通过SPI口和外部进行通信。通信时,需要把传感器设置成从机模式,DSP设置成主机模式;同时,把从机CPOL和CPHA设置为0的数据传输模式。指纹图像的最大传输速率可达4 Mpixel/s。
传感器部分的硬件电路接口如图2所示。
3 传感器的驱动软件设计
采用ADI公司的VisualDSP++4.5集成开发环境软件进行C语言编程。按时序把指纹图像放在SDRAM的固定地址中,通过仿真器进行调试。读出所采集的指纹图像,观察指纹图像质量,进而调整指纹传感器的参数,使采集到的图像效果达到最佳。
FPC1011C的指令及其功能如表1所列。
3.1 传感器初始化程序设计
3.2 采集指纹图像程序设计
可调整DriveC、ADCRef的值,使采集到的图像达到最佳效果。
本文采用电容式指纹传感器FPC1011C,结合DSP的嵌入式技术,设计了一种独立运行嵌入式系统的指纹识别模块。该模块可实现指纹图像的采集、预处理、指纹特征提取以及指纹匹配等功能,从采集指纹到核心指纹识别算法处理完成仅需要1 s,完全可满足用户的需求;同时,留有RS232接口,可以方便地与计算机通信。