基于DSP的指纹采集系统研究与实现.docx

上传人:b****6 文档编号:8831220 上传时间:2023-02-02 格式:DOCX 页数:26 大小:356.07KB
下载 相关 举报
基于DSP的指纹采集系统研究与实现.docx_第1页
第1页 / 共26页
基于DSP的指纹采集系统研究与实现.docx_第2页
第2页 / 共26页
基于DSP的指纹采集系统研究与实现.docx_第3页
第3页 / 共26页
基于DSP的指纹采集系统研究与实现.docx_第4页
第4页 / 共26页
基于DSP的指纹采集系统研究与实现.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

基于DSP的指纹采集系统研究与实现.docx

《基于DSP的指纹采集系统研究与实现.docx》由会员分享,可在线阅读,更多相关《基于DSP的指纹采集系统研究与实现.docx(26页珍藏版)》请在冰豆网上搜索。

基于DSP的指纹采集系统研究与实现.docx

基于DSP的指纹采集系统研究与实现

设计报告

摘要:

本系统将DSP、CPLD、USB技术引入指纹采集领域,分析了指纹采集领域的国内外现状及发展状况,并给出了系统的总体设计、器件选型;深入研究了DSP、CPLD、FPS200芯片及其外围器件结构特性,设计出了系统的硬件原理图并制作硬件电路板;完成了基于VHDL语言的CPLD软件设计;设计了系统的USB通讯程序和上位机人机交互软件;最后进行了联机调试,得到了预期的实验结果。

关键词:

指纹采集,DSP,CPLD,FPS200,USB

Abstract:

ThissystemimportthetechnicsuchasDSP,CPLD,USBtoFingerprintAcquisitionfield.godeepintostudytheactualityanddevelopmentinthisfieldalloverthecountryandabroadanddesignedthewholeframeandselectthechip;godeepintostudythecharacteristicofthechipsuchasDSP/CPLD/FPS200etc,thendesignthecircuitryofthesystemandmakethePCBofthesystembasedonthetoolofPROTELwhichisasoftwareincircuitydesignfield;achievetheVHDLlanguageprogramdesignintheCPLD.designtheUSBprogramandtheWindowssoftware;Atlastachievedonlinedebugandgainedtheexpectantexperimentdata.

KeyWords:

FingerprintAcquisition,DSP,CPLD,FPS200,USB

1引言

生物识别技术根据人体自身的生理特征来识别个人的身份,这种技术是目前最为方便与安全的识别系统。

使用生物识别技术,我们无须携带身份证或智能卡,也不需要记住烦琐的密码,就可以进行个人身份识别。

生物识别技术已成为一种公认的最为方便和安全的身份认证技术。

而指纹采集作为指纹识别系统中的一个重要环节也越来越受到人们的重视,高质量的指纹采集技术已成为一个重要的研究课题。

90年代中期开始出现半导体的指纹传感器。

最初的这类传感器采集的图像质量和光学传感器有较大的差距,但是随着半导体技术的进步,它采集的图像质量也越来越高,现在这两种传感器采集的图像质量差距已经很小了。

半导体传感器具有价格低、体积小的优点,特别适合集成在普通的消费电子产品中,大有后来居上、取代光学传感器的趋势。

半导体型采集器是指纹产品进入民用市场的趋势,基于此,本文展开了基于半导体指纹芯片的指纹采集研究,从指纹技术的最前端环节——指纹传感器——开发出自己特有的图像采集系统是本课题研究的目标。

其目的明确,意义深远。

高质量的指纹采集不仅是降低指纹识别算法难度的关键,也是提高指纹识别准确率的关键,更是保证指纹技术得以大力推广应用的基石。

国内嵌入式指纹识别技术之所以得不到快速的发展,原因就在指纹采集技术的落后。

获取高质量的指纹数据是降低指纹识别算法复杂性一个最主要途径。

因此,在我国研究和开发拥有自主产权的指纹采集终端是紧迫的也是必须的。

本文研究从指纹图像的可采集性和指纹数据传输方式出发研究指纹采集系统的软硬件实现。

基于数字信号处理器TMS320VC5402的嵌入式指纹采集系统是以指纹传感器FPS200为采集头,以数字信号处理器DSP为控制和计算核心的,通过CPLD器件EPM7128为其外围逻辑设计,最终以USB的接口方式传给上位机。

2系统总体设计理论

2.1指纹采集系统概述

指纹采集技术是指纹识别技术的关键技术之一,它是由控制器控制指纹传感器进行指纹数据采集来实现的。

通过半导体指纹传感器采集到指纹数据后,传入微处理器进行数据的预处理,将处理好的指纹数据上传给上位机进行最终的识别。

指纹采集系统的基本原理框图如图2-1所示。

图2-1指纹采集系统原理框图

本系统主要由以下部分构成:

指纹图像采集部分、指纹图像预处理部分、程序和数据存储部分、全局逻辑控制部分以及数据上传部分。

结合硬件和系统的要求,采集系统设计到的软件部分可以概括成两部分,一是系统控制实现部分,二是指纹数据预处理部分。

系统软件框图如图2-2所示。

系统的硬件结构和处理算法基本确定之后,就该选定TMS320VC5402和CPLDEPM7128的应用软件调试开发环境。

这里DSP使用的是TI公司提供的集成编译调试环境CCS2.20,CPLD使用的是Altera公司提供的QuartusII5.1开发环境。

图2-2系统软件框图

2.2指纹采集理论基础

相对于其它身份认证技术,指纹识别技术具有许多独到的信息安全优点,具体体现在以下几个方面:

(1)个人的指纹是相当固定的,不会随着人的年龄的增长或身体健康程度的变化而变化,但是人的声音、面相等却存在较大变化的可能。

(2)指纹样本便于获取,易于开发识别系统,实用性强。

目前已有标准的指纹样本库,方便了识别系统的软件开发;另外,识别系统中完成指纹采样功能的硬件部分也比较容易实现。

(3)个人的十指指纹皆不相同,这样可以方便地利用多个指纹构成多重口令,提高系统的安全性。

(4)纹识别中使用的模板并非最初的指纹图,而是由指纹图中提取的关键特征,这样既使系统对模板库的存储量要求较小也保护了使用者的个人隐私。

另外,对输入的指纹图提取关键特征后,可以大大减少网络传输的负担,便于实现异地确认,支持计算机的网络功能。

上述客观理论是指纹识别的基础,也是进行指纹采集、预处理、特征值提取以及对比的理论基础。

2.3指纹数据预处理

优异的指纹识别系统不仅与硬件息息相关,而且与软件也是紧密相连。

指纹图像预处理的目的在于使指纹图像画面清晰,边缘明显,以便提取特征进行识别。

预处理技术的主要目的是对一个给定的指纹,突出指纹图像中的某些信息,削弱或除去某些不需要的信息,使它的结果对后面的识别来说比原始指纹灰度图像更合适。

预处理流程图如图2-3所示。

图2-3指纹图像预处理流程图

指纹图像预处理的各个步骤包括图像质量评估子模块、指纹图像分割、针对图像的模糊部分进行图像的增强、指纹图像二值化和对二值化后的指纹图像进行细化,最终产生单象素宽的骨架图像。

根据活体指纹传感器的特性以及自动指纹识别的系统要求,在图像处理之前,加入了一种新的图像质量评估的方法。

传统的图像质量评估主要利用方差或均值等统计量,缺少对指纹本身特征的分析,也难以给出质量改进的方向。

指纹图像预处理方法应用方向图,有效地解决了这个问题。

指纹图像经传感器获取后,首先对其质量进行评估,通过检查其有效面积及图像的清晰程度,决定是否对该图像进行下一步的处理。

若图像质量合格,则将其送入图像分割子模块,否则要求重新采集,同时给出提示:

是指纹太干还是太湿,或者手指放得太偏等。

图像分割是将要处理的有效图像部分从整个指纹图像中分离出来,这样一方面减少了后续处理步骤的数据量,另一方面也避免了因为部分图像区域不可靠而导致的伪特征的产生。

图像增强包括两个部分,首先是对原始图像上模糊但有可能恢复的部分进行增强,然后再对整幅图像滤波,消除指纹脊线间的断裂和粘连。

图像二值化是提取经增强处理的指纹图的脊线,用“1”表示脊线上的点,“0”表示背景和谷线,从而把原始灰度图像转化为二值化图像。

图像细化是进一步把二值化指纹脊线细化为单象素宽度的骨架线,这是为了方便以后的特征提取。

(1)指纹图像质量评估是指纹识别中的一个图像预处理的子模块。

现在流行的多种指纹采集器,其采集面积都比较小,图像质量易受外界环境影响。

为了保证整个系统的可靠性和稳定性,需要一种方法质量不能满足要求的指纹,特别是在指纹登记过程中,一定要保证指纹模块的可靠性。

从晶体传感器获取指纹图像后,首先减少图像的尺寸,因为经实验说明,使用抽样图像不会降低评估算法的性能,同时还减少了计算量和存储量。

图像抽样一般采用二中抽一的方法,如使用电容传感器获取的图像大小为300×300,经抽样后,减少为150×150。

对于抽样后的指纹图像,使用简单的方向图法把各个点分成前景或背景。

(2)指纹图像分割通常位于预处理的前端,其目的是把指纹图像中质量很差、在后续处理中很难恢复的图像区域与有效区域分开来,使后续处理能够集中于有效区域。

分割处理不仅能提高特征提取的精确度,而且还能大大减小指纹预处理的时间,因此是指纹图像处理中的重要组成部分。

它不仅要求尽可能地去除无效区域,还要尽可能完整地保留有效区域,这就需要有较精确的分割算法。

对于一幅指纹图像,可以把它分为4类图像区域,即背景区、不可恢复区、清晰区和可恢复区。

指纹分割的目的就是保持后两类区域,而去除前两类区域。

所谓多级分割,就是把分割的过程分为3级,使各级的搜索范围逐级递减,第一级分割为背景分割,第二级从前景中分割出模糊区域,第三级从模糊中分割出不可恢复部分,这样各级分割的搜索区域由大到小,所采用的特征量也由简到繁,把计算少的特征量作用于较大范围的区域,不仅节省了运算的时间,而且提高了分割的可靠性。

(3)图像增强用于图像不清晰的部分,依据某些已知条件,改善这些区域的质量,以保证后续处理的可靠性。

对于指纹图像增强,已有很多学者进行了研究,他们主要依据沿脊线垂直方向的灰度变化呈正弦波的假设,设计各种具有方向选择性的滤波器。

但实际上,即使同一幅指纹图像,脊线的宽度都有可能很大,为了适应不同的频率,滤波器的频率也需不断的变化,同时,指纹脊线方向的估计也并不是完全可靠,即使图像质量得到了一定的改善,但却大大增加了计算的复杂度。

在此利用了传统的傅立叶变换来增强指纹图像,同时在傅立叶增强后,又使用了两种方向滤波器来进一步修补指纹纹线。

(4)二值化的目的是把灰度指纹图像变成0-1取值的二值图像。

对一幅图像进行二值化,传统的方向是采用阈值法。

阈值法又分为固定阈值和浮动阈值,很明显,由于不同图像的灰度差异变化很大,甚至同一幅图像中各部分的明暗也大不相同,所以固定阈值的方法并不可取。

浮动阈值的方法,即根据图像中每一块的明暗度来调整阈值,块内大于阈值的像素被置为1,小于阈值的像素被置为0。

(5)细化就是将二值化图像变化为单像素宽度的骨架图像。

图像细化算法的种类很多,代表性的有Hildtch、Deutsch等方法,细化的方法不同,细化的结果就有差异。

指纹自动识别系统中的纹线细化要求满足收敛性、保持性、连接性、拓扑性、中轴性和快速性的要求,但如Deutsch方法有明显的纹线吞食现象且纹线骨架偏向右侧,显然不能满足指纹图像识别的要求。

这里对已有的经典算法进行改造,使之适合指纹图像处理的要求,使骨架能够更好地反映指纹图像形状上的本质特征。

3指纹采集系统的硬件设计

3.1系统硬件结构框图

系统的硬件结构框图如图3-1所示。

图3-1系统硬件结构框图

本系统的工作主要由以下部分构成:

指纹图像采集部分FPS200、数字信号处理单元DSP、程序与数据存储部分、全局逻辑控制部分CPLD以及数据通讯部分USB。

(1)指纹图像采集部分FPS200:

系统利用软件查询方式来判断是否进行指纹的采集,当进行指纹采集时,指纹传感芯片按照设定的参数采集指纹并将模拟图像转换成数字图像,然后在DSP的控制下将数据存储在外部数据空间中,等待进行下一步的处理。

(2)数字信号处理单元DSP:

本设计中选择TI公司的TMS320VC5402为主控制单元,主要完成采集系统的整个控制和指纹图像的预处理工作。

(3)程序与数据存储部分:

数据存储部分由片外SRAM和DSP片内DARAM构成,SRAM用于存放指纹图像并提供程序运行时所需要的临时数据空间;程序存储部分由片外的FLASH组成,用来存放DSP的程序代码。

(4)全局逻辑控制部分CPLD:

实现了3方面的功能,对DSP的数据空间进行分时寻址;产生系统中各个芯片的片选信号;产生系统中各个芯片的读写信号。

(5)数据通讯部分USB:

数据上传部分设计采用了USB的通讯方式。

其接口芯片选用南京沁恒电子公司的USB通讯芯片CH375,来实现计算机与目标系统数据通讯问题。

3.2指纹传感器FPS200

FPS200具有高性能、低功耗和低成本等特点,属于电容性传感器。

电容性传感器阵列由二维金属电极组成,所有金属电极充当一个电容板,接触的手指充当第二个电容板,器件表面的钝化层作为两电容板的绝缘层。

当手指触摸传感器表面时,指纹的高低不平就会在传感器阵列上产生变化的电容,从而引起二维阵列上电压的变化,并形成指纹传感图像。

FPS200的图象搜索功能(ImageSeek)通过改变电容阵列的参数值可在1秒种以内扫描多幅指纹图象并自动选择最好的一幅。

因此FPS200对人手指的适应面更广,可以获得各种类型手指(从干手指到湿手指)的高质量指纹图象,并能应用在各种气候条件下,甚至在高温或高湿度的环境下。

由于具有很高的成像质量,大大减低了误识率(FAR)和拒识率(FRR),因此FPS200可保证在各种恶劣环境有效的工作。

FPS200是可编程的传感芯片,它所具有的强大功能是通过内部寄存器设置完成的。

由于列地址最大为256,所以,FPS200只有一个列开始寄存器CAL和一个列结束寄存器CEL。

另外,THR用于在自动检测指纹时设置门限电压。

PGC用于在A/D转换时设置放大器的增益。

FPS200支持三种接口形式和四种操作模式,这四种操作模式相互独立,不能同时工作。

其功能如表3-3所列。

在微处理器接口模式中,可将FPS200与DSP相连,且其接口形式非常简单,在本设计中就是用的微处理器接口模式。

图3-2指纹传感器电路

表3-3FPS200操作模式

MODE[1,0]

描述

00

微处理器接口模式

01

SPI接口模式

10

USB模式,用内部ROM

11

USB模式,用外部ROM

3.3数字信号处理器TMS320VC5402

数字信号处理器DSP,是DigitalSignalProcessor的缩写,是一种专门用于数字信号处理的微处理器。

自20世纪70年代微处理器产生以来,就一直沿着通用CPU、微控制器MCU(即通常所说的单片机)、和DSP三个方向在发展。

三类微处理器虽然在技术上不断相互借鉴,但应用领域各自有所不同,DSP处理器是专门用来进行高速数字信号处理的微处理器。

3.3.1DSP特点

DSP芯片的内部采用程序和数据分开的哈佛结构,具有专门的硬件乘法器,采用流水线操作提供特殊的DSP指令,可以用来快速地实现各种数字信号处理算法,根据数字信号处理的要求,DSP芯片一般具有如下一些主要特点:

(1)在一个指令周期内可以完成一次乘法和一次加法;

(2)程序和数据空间分开,可以同时访问数据空间和程序空间;

(3)片内具有快速R.AM,通常可通过独立的数据总线同时访问两块芯片;

(4)具有低开销或零开销循环及跳转的硬件支持;

(5)快速的中断处理和硬件I/O支持;

(6)具有在单周期内操作的多个硬件地址产生器;

(7)可以并行执行多个操作;

(8)支持流水线操作,取指、译码和执行等操作可以流水执行。

TMS320VC5402是16位定点DSP采用改进的哈佛结构,是适应远程通信等实时嵌入式应用的需要。

TMS320VC5402有一组程序总线和三组数据总线,高度并行性的算术逻辑单元ALU,专用硬件逻辑,片内存储器,片内外设和专业化的指令集,使该芯片速度更高,操作更灵活。

它围绕八条总线和十大部分组成,包括中央处理器(CPU),内部总线控制,特殊功能寄存器,数据功能寄存器RAM,程序存储器POM。

I/O扩展口功能,串行口,并行口HPI,定时器,中断系统等。

由于采用先进的哈佛结构和八总线结构,使处理器的性能大大提高。

其独立的程序和数据总线,允许同时访问程序存储器和数据存储器,实现高度并行操作。

3.3.2DSP的存储器扩展

TMS320VC54022的片内存储器有:

4K字ROM和两个16K字的DARAM(双寻址RAM)。

通过工作方式寄存器PMST寄存器中的状态位:

MP/MC位、OVLY位、DROM位来决定“使能”和“禁止”程序和数据空间中的这些片内存储器。

程序存储空间定义在片内还是片外由MP/MC来决定。

(1)CPU工作方式控制位MP/MC决定4000H—FFFFH程序存储空间的片内、片外空间分配。

MP/MC=1,4000H--FFFFH程序存储空间全部定义为片外存储器;

MP/MC=0,4000H--FFFFH程序存储空间定义为片外存储器,FF00H--FFFFH程序存储空间定义为片上存储器。

(2)OVLY位决定0000H--3FFFH程序存储空间的片内、片外分配控制。

OVLY=1,0000H--007FH保留,程序无法占用。

0080H--3FFFH定义为片内DRAM;

OVLY=0,0000H--3FFFH全部定义为片外程序空间。

(3)DROM位。

DROM=1,则部分片内ROM安排到数据空间;

DROM=0,则部分片内ROM不安排到数据空间。

3.3.3DSP的BootLoader

在RESET时,若MC/MP=0,则执行VC5402片内ROM程序,完成BootLoader功能。

若MC/MP=1,则从外部程序存储器的FF80H开始执行,该位置有一个分支指令,用来启动引导模式。

DSP的引导模式有以下几种:

(1)HPI引导模式;

(2)串行存储器引导模式;

(3)16位/8位并行EPROM引导模式;

(4)16位/8位并行I/O引导模式;

(5)串口引导模式;

(6)WARM引导模式。

DSP的引导顺序如下:

通过驱动I/O选通信号(/IS)为低电平,引导程序读取地址为0FFFH的I/O端口。

从该地址读取的字的低8位指定数据传输模式。

引导程序选择(BRS)字确定引导模式。

引导程序先检查INT2,确定是否从主机接口(HPI)加载;若没有锁存INT2信号,则不是HPI模式,再检查INT3;若INT3被锁存,则为串行存储器引导模式;否则从I/O空间的FFFFH读取内容,若为有效的关键字,则开始传送;否则从数据空间的FFFFH读取内容,若为有效的关键字,则开始传送;否则,开始初始化串口,把XF设置为低,从串口1读取数据,若是有效的关键字,则开始传送数据;如果不是,从串口0读取数据,若是有效关键字,则开始传送数据;否则,检查BIO是否为低,是否有有效关键字,若有,则为I/O引导模式;否则再次检测HPI口,判断是否为HPI引导模式。

本设计采用8位并行存储器引导模式。

引导表放在4000H~FFFFH的数据空间中,引导程序通过读数据空间的FFFFH单元内容确定引导表的起始地址。

之后检查起始地址的内容是否为关键字。

若为关键字,则引导程序继续装载剩余引导表,并开始执行程序。

3.4全局逻辑控制单元CPLD

系统中大多数外围器件与DSP的握手信号都是通过可编程逻辑器件来完成的,按其所实现的功能可分为如下两个模块:

(1)DSP寻址空间模块:

VC5402可寻址的数据空间为64K,系统中由SRAM和FLASH分时占用这一空间,该模块根据DSP输出的控制信号和数据空间选择信号分时寻址这两个存储体。

(2)芯片读写信号模块:

一般而言VC54x系列DSP所提供的接口信号与外围芯片所需的信号不完全一致,为了解决这个问题可以根据DSP提供的相应信号进行适当的组合来满足不同芯片的要求。

3.4.1CPLD的选型

相对于其它从事可编程器件研发的厂家来说,ALTERA公司所开发的CPLD产品占有较大的市场范围,其MAX7000系列器件更是同性能产品中的佼佼者。

(1)MAX7000是用CMOSEEPROM单元实现逻辑函数的。

用户可编程的MAX7000结构可容纳各种各样,独立的组合逻辑和时序逻辑函数。

在设计开发和调试阶段,MAX7000器件可以快速而有效地重新编程,并保证可编程擦除100次。

(2)MAX7000有32~256个宏单元。

每个宏单元有一个可编程的“与”阵和固定的“或”阵,以及一个可以独立编程的时钟。

为了能构成复杂的逻辑函数,每个宏单元可使用共享扩展乘积项和高速并联扩展乘积项,向每个宏单元提供多达32个乘积项。

(3)MAX7000系列由QUARTUSII开发系统支持,该系统是个单一的集成软件包,它提供电路图、文本和波形等设计输入方式;执行编译和逻辑综合、仿真和定时分析,以及器件编程等工作。

QUARTUSII具有EDIF、VHDL、VerilogHDL,以及其它的网表接口,便于为工作在工业标准PC机和工作站上的各种EDA工具提供附加的设计输入和仿真支持。

鉴于MAX7000系列器件的资源情况,本系统采用了MAX7000中的EPM7128SLC84芯片来实现全局逻辑电路设计。

3.4.2DSP寻址空间模块设计

TMS320VC5402有3个片选管脚用于分配外部器件映射到那个存储空间中。

IS#:

I/O空间选择信号。

默认情况下为高电平,只有寻址外部的I/O空间时才为低电平。

DS#:

数据空间选择信号。

默认情况下为高电平,只有寻址外部的数据空间时才为低电平。

DSP数据空间是统一编址的,当DSP检测到所寻址的空间不在内部时,会自动到外部数据空间去寻址。

PS#:

程序空间选择信号。

默认情况下为高电平,只有寻址外部的程序空间时才为低电平。

DSP程序空间也是统一编址的,当DSP检测到所寻址的空间不在内部时,会自动到外部程序空间去寻址。

系统中的指纹芯片FPS200被映射到DSP的I/O空间中。

共分配了两个I/O地址空间给FPS200,其索引寄存器端口地址为0x8000,而其数据寄存器端口地址为0x8001。

系统中FLASH和SRAM都占据了DSP外部数据空间的0x4000~0xFFFF部分。

从时空的角度而言,这两者是分时占据数据空间的,所以在分时访问不同存储器芯片时需要分别为它们安排相应的选通信号,该选通信号由DSP的数据空间选择信号DS#和通用I/O口信号XF来实现。

系统上电复位后,XF管脚自动输出高电平,这时FLASH占据数据空间,通过“Bootloader”功能并行加载应用程序。

一旦程序加载完成,系统就不再需要程序存储器了,因此上电后,利用软件编程使XF输出为低电平,释放FLASH所占用的空间,由SRAM占用数据空间。

3.4.3芯片读写信号模块设计

TMS320VC5402的读写控制信号包括:

MSTRB#、IOSTRB#和R/W#。

MSTRB#:

外部存储器选通信号,用于访问外部程序或数据存储器,在默认状态下为高电平,只有在访问外部存储器时才为低电平。

IOSTRB#:

I/O设备选通信号,用于访问I/O设备,在默认状态下为高电平,只有在访问I/O设备时才为低电平。

R/W#:

读写信号,用于控制数据传输方向,在默认状态下为高电平,作为读信号来使用。

VC5402的R/W#信号为MOTOROLA格式,即读写信号是通过同一根信号线分时复用而得的。

当读外部芯片时,此信号线代表的是读信号,输出为高电平;当写外部芯片时,此信号代表的是写信号,输出为低电平。

然而系统中所有外围器件的读写控制信号都是INTEL格式的,即读写信号是通过两根不同的信号线来产生的,且读写信号的使能都是低电平有效。

为此,需将DSP的读写控制信号在C

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 农学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1