自动指纹识别系统设计方案白皮书摘要:介绍基于FPGA处理器的嵌入式自动指纹识别系统的实现方法;具体说明自动指纹识别系统的基本原理、系统总体结构、硬件结构设计、用户自定义指令的设计,以及指纹识别算法的处理流程和实现方法。关键词:嵌入式;指纹识别;FPGA;定制指令引言指纹识别作为生物特征识别的一种,在身份识别上有着其他手段不可比拟的优越性:人的指纹具有唯一性和稳定性的特点;随着指纹传感器性能的提高和价格的降低,指纹的采集相对容易;指纹的识别算法已经较为成熟。由于指纹识别的诸多优点,指纹识别技术已经逐渐走入民用市场,并应用到许多嵌入式设备中。目前的嵌入式处理器种类繁多。Altera公司的FPGA处理器是用于可编程逻辑器件的可配置的软核处理器,与Altera的低成本的CycloneFPGA组合,具有很高的性能价格比。本系统采用FPGA和CycloneEP1C20嵌入式系统开发板,以及Veridicom公司的FPS200指纹传感器芯片,实现了一个嵌入式自动指纹识别系统。1总体设计及系统架构本系统有两大功能:指纹登记和指纹比对。指纹登记主要包括指纹采集、指纹图像预处理、特征点提取、特征模板存储和输出显示;指纹比对的前三步与指纹登记相同,但在特征点提取后,是将生成的特征模板与存储在指纹特征模板库中的特征模板进行特征匹配,最后输出显示匹配结果。自动指纹识别系统的基本原理框图如图1所示。本系统在结构上分为三层:系统硬件平台、操作系统和指纹识别算法。系统层次结构如图2所示。图1自动指纹识别的基本原理框图图2系统层次最底层——系统硬件平台,是系统的物理基础,提供软件的运行平台和通信接口。系统的硬件平台在Altera的FPGACyclone嵌入式系统开发板上实现,指纹传感器采用美国Veridicom公司的FPS200。FPS200可输出大小为256×300像素、分辨率为500dpi的灰度图像。第二层是操作系统,采用μC/OSII。μC/OSII是一个基于抢占式的实时多任务内核,可固化、可剪裁、具有高稳定性和可靠性。这一层提供任务调度以及接口驱动,同时,通过硬件中断来实现系统对外界的通信请求的实时响应,如对指纹采集的控制、对串口通信的控制等。这种方式可以提高系统的运行效率。最上层是指纹识别核心算法的实现。该算法高效地对采集到的指纹进行处理和匹配。采用C语言在FPGA的集成开发环境(IDE)中实现。2系统硬件的设计与实现2.1FPGA嵌入式软核处理器简介FPGA嵌入式处理器是Altera公司于2004年6月推出的第二代用于可编程逻辑器件的可配置的软核...