指纹识别技术近年来逐渐成熟,在门禁、安防和金融等方面得到了越来越广泛的应用。典型的指纹识别系统是以指纹
传感器和DSP处理器为构成。指纹传感器采集指纹图像,DSP处理器实时实现指纹识别算法。同时,通常的指纹识别系统还具有较强的通信能力,除了具有RS485通信外,的指纹识别系统还要求具有以太网接口和Internet连接能力。Atmel公司新推出的智能互联网芯片AT75C220集成了ARM内核、DSP协处理器以及以太网MAC接口,用AT75C220和指纹传感器结合可构成高性能的指纹识别系统。
1 AT75C220主要特点
AT75C220是定位于智能互联网应用的高性能ARM处理器,采用ARM7TDMI微处理器核,具有OadDSP核,强大的外设(如中断控制器和外设数据控制器),其DMA通道增强了
微控制器的实时性能。主要特点有:
集成ARM7TDMI ARM Thumb处理器核
一个16b定点DSP核
双以太网10/100Mb/s MAC接口
88kB的完整快速RAM(支持DMA方式)
多媒体数字信号编解码器(CODEC接口)
集成SDRAM控制器
这样,AT75C220就很适合于需要图像处理功能并具有互联网通信能力的设备,比如高性能的指纹识别设备和VoIP应用等。单芯片集成多种功能可以降低成本,提高系统可靠性。同时,该芯片完备的开发软件支持(包括LINUX操作系统和DSP算法程序支持等)也有利于减少产品上市时间。
2 芯片结构
AT75C220主要由运行速度达40 MI/s的基于ARM7TDMI的RISC处理器、运行速度为60MI/s的DSP处理器和双以太网10/100Mb/s的MAC接口组成。其内部机构如图1所示。
AT75C220包含2种不同的总线ASB和APB,ASB用于连接ARM核、DSP核等模块,而APB总线则连接串行通信接口、通用I/O口等,两总线之间用AMBA总线桥连接。
ARMTTDMI微处理器是一个高性能的嵌入式CPU,他功耗低,运算速度快,内含Thumb指令解码器,可支持16b指令,同时支持调试和快速乘法等功能,并可通过模块互交总线与其他功能模块进行数据交换。
ARMTTDMI(Thumb)是公司授权用户多的一项产品,将ARM7指令集同Thumb扩展组合在一起,以减少内存容量和系统成本。同时,他还利用嵌入式ICE调试技术来简化系统设计,并用一个DSP增强扩展来改进性能。选择基于ARM核的产品的另一个理由是,ARM公司的处理器得到了大量厂家的支持,便于产品的开发和升级换代。
同其他集成DSP核的芯片相比,AT75C220的DSP子系统资源是相当丰富的,如图2所示,除包含一个60MI/s,16b定点DSP内核外,还具有不同用途的RAM:2kB×l6X-RAM,2kB×l6Y-RAM,16kBXl6通用数据RAM,24 kB×l6可程序RAM,一个256×16双端口的RAM邮箱用于
MCU-DSP通信。完整的CODEC接口允许大量的工业声音、多媒体或数据的连接。
芯片集成的以太网接口包括了2个独立的10/100Mb/s以太网MAC接口和一个32kB的数据包缓冲区。双端口MAC的设计使设备嵌入到现有的以太网中而不需要另外的
电缆,由于2个MAC接口之间用局部总线连接,大量的数据包可以不受延迟地从一个MAC传送到另一个MAC,其间无需软件的参与。数据包缓冲区由MAC接口通过DMA的方式操作,用于临时保存接收和发送的数据包,在大多数情况下可以满足较大的通信量。
3 指纹识别算法
指纹自动识别作为一个有较大难度的模式识别研究分支,其研究难点主要集中在如何对采集进来的各种有噪声图像进行滤波和增强、如何抽取指纹的全局和局部特征以及如何进行在图像不能完全定位和图像可能发生扭曲变形情况下的特征匹配上。一般可以分为以下几个步骤,如图3所示,指纹识别算法流程主要包括灰度滤波、二值化、二值滤波、细化、细化后的去噪等步骤,进行特征提取和匹配。
本系统的指纹识别算法的灰度滤波采用基于块方图的方向滤波,接着进行二值化并细化指纹图像,在二值化和细化的过程中进一步去噪声,消除导致错误的特征点的可能性。用模板匹配的方法分别获取指纹的特征点,如端点、叉点等。指纹匹配采用基于中心点的匹配算法。通过在PC机上验证,该算法可以达到较好的效果。
4 指纹识别系统
指纹识别系统一般由指纹传感器、DSP处理器和外围电路组成,为增加系统的处理能力,系统中往往还包括另外的处理器管理诸如通信、人机接口、指纹数据库等。本系统结构如图4所示,电容式的指纹传感器FPSll0采集指纹图像并交由AT75C220内部的DSP协处理器进行指纹识别,完成图像的预处理、提取指纹特征码,并同指纹库中的指纹特征进行匹配,给出判别结果。ARM核运行于LINUX操作系统之上,实现了TCP/IP协议栈,由于指纹识别器的网络系统对实时性和吞吐率要求并不高,但是要求可靠性和保密性比较高,所以传输层协议选择TCP协议,并且传输的数据经过了加密。ARM处理器上还包括了人机接口和控制输出,控制输出用于对
电子门锁进行控制。另外,ARM软件还包括门禁系统、考勤系统中的一些专有控制模块,比如门禁权限管理、考勤数据库管理等
5 算法的移植
指纹识别算法开始时在PC机上实现,需要移植到AT75C220的DSP子系统中。如果直接用C语言移植,难以发挥DSP的实际处理能力,执行效率相当低。关键的算法模块用汇编语言实现后,指纹的采集、图像预处理和匹配可以在1s中完成,算法效率和识别率与PC机上计算相当,达到了实际应用要求。
6 结 语
由于硬件采用集成多功能的AT75C220构成系统,系统硬件设计简单,使整个系统达到了小型化、网络化、智能化的要求。实践证明,采用这种结构的设备处理能力得到了提高,代表了未来门禁系统发展的方向。
硬件功能的集成使主要的设计工作集中在软件设计上,如何进一步提高识别率,分布式数据库系统的完善,数据的保密性传输是今后设计的要点。
参考文献:
[1]. RS485 datasheet https://www.dzsc.com/datasheet/RS485_585289.html.
[2]. AT75C220 datasheet https://www.dzsc.com/datasheet/AT75C220_810052.html.
[3]. ARM7TDMI datasheet https://www.dzsc.com/datasheet/ARM7TDMI_139812.html.
[4]. 16b datasheet https://www.dzsc.com/datasheet/16b_2177774.html.
[5]. RISC datasheet https://www.dzsc.com/datasheet/RISC_1189725.html.