基于TMS320VC5402的虹膜识别系统(部分硬件设计)_第1页
基于TMS320VC5402的虹膜识别系统(部分硬件设计)_第2页
基于TMS320VC5402的虹膜识别系统(部分硬件设计)_第3页
基于TMS320VC5402的虹膜识别系统(部分硬件设计)_第4页
基于TMS320VC5402的虹膜识别系统(部分硬件设计)_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、DSP课程设计基于TMS320VC5402的虹膜识别系统(部分硬件设计)摘要本文是以TM320VC5402 DSP为核 心的虹 膜识别系统 的硬件 设计,提出了一种由 FPGA OV5017与TMS320VC5402组成的 DSP应用硬件平台,并详细介绍了系统 的设计方案和关键硬件的结构设计以及软件设计方法。关键词:DSP虹膜识别TM320VC5402概述在高度信息化的现代社会,信息安全问题日益受到人们的关注。近年来兴起的生物特征识别技术具有很好的可靠性,虹膜识别技术是一种最新的生物识别技术,它以虹膜识别算法为基础,可达到优异的识别准确度,即使全人类的虹膜信息都录入到一个数据库中,出现认假和拒

2、假的可能性也很小。由于虹膜识别技术所具有的高精度使它被广泛应用于各识别领域。本系统使用的核心处理器是德州仪器公司(TI)的TMS320VC5402(以下简称C5402),该芯片为一款性价比较高的定点数字信号处理器(DSP)。它采用先进的修正哈佛 (Harvard)结构体系,片内共有8 条总线、CPU、片内存储器和外围电路等硬件 ,加上高度专业化的指令系统 ,使 其具有功耗小、 高度并行等特点。下面着重讨论基于该芯片的系统设计。二虹膜识别核心算法程序的系统设计虹膜识别核心算法程序的设计本系统虹膜核心算法包括三部分:图像预处理、虹膜纹理特征提取与编码和模式匹配。具体算法如下:(1)图像预处理:获得

3、眼睛图像后的下一个任务就把虹膜部分从图像中分离出 来,即虹膜定位,这是虹膜识别系统中重要的一部分。虹膜是瞳孔和巩膜间的环 形可视部分,对虹膜的定位就是要找到虹膜内外边缘。为更好的说明定位过程,用I ( x , y)表示所获得的眼睛图像的灰度函数,虹膜内外边缘的圆形轮廓用中心点为(x0 , y0), 半径为r的参数模型表示。虹膜定位算法如下:其中:G(7是均值为r0 ,方差为 6的高斯函数,用来平滑滤波、消除噪声,以利于检测边界处的梯度变化;3表示卷积;a/ar为微积分算子表示求方向梯度。微积分算 子作用于图像,通过不断增大半径r ,沿以半径为r和中心坐标为(x0 , y0) 的弧ds进行线积分

4、。用式(1)算法定位虹膜内外边缘的过程就是在参数空间(r , x0 , y0)搜索灰度变化的最大绝对值的过程:(2)特征提取与编码:2D2Gabor滤波器具有方向选择性。利用这个特点对虹膜 图像提取局部相位信息,其实现公式如下:"x J,力口其中G( x , y , f , 小)为二维Gabor函数,小表示滤波方向,f 表示正 弦曲面的频率,Gabor函数具有方向选择性和频率选择性(二维Gabor函数的具体特性参见文献 5) 。Gabor滤波器的尺寸为M XN , ( i ,j)为每块图像的中心位置。式(2)得到的局部相位信息的值为复数,虹膜识别系统中选定一个阈值来量化信息的实部和虚

5、部,即如果大于阈值时值为0 ,小于阈值时值为 1。由于选取了四个方向的 Gabor基函数进行滤波,则每个方向可用 2bit 表示,并且每个图像块的编码为实部加虚部,所以每块用4bit 表示。虹膜图像分块的数目不同特征编码的长度就不同。(3)模式区配:编码后的模式匹配基于汉明距离:ED =十O 门L 产一 I其中?表示异或运算,L 为码长,x i 和t i为待识别图像编码和样板图像编码的第i个码字。如果两个编码相同,则HD为0 ;如果两编码各位相反,则HD为1。由于一幅虹膜图像的相位编码的码字为C和为1的概率等同,且不同虹膜之间不相关,因此E( HD)为0.图1系统硬件框图CCD机负责虹膜图像的

6、采集,SDRAM用于程序执行和虹膜数据暂存。FLASH实现OV5017配置、虹膜图像存储空间的地址生成、C5402寻址片外存储器的页地址管理和C5402与外围器件之间通信的仲裁等功能。RS2232用于数据传输,PC可以通过该接口得到虹膜特征数据,Flash存储器用于存储程序、初始化数据和虹膜特征数据库。键盘用于用户输入ID 号,系统依据用户ID号从虹膜特征库中读样本图像编码数据。3.2 虹膜图像采集硬件设计本文选用Omni Vision公司的OV5017作为图像采集芯片。OV5017是一种高度集 成的黑白数字摄像芯片,集成了 CMOS传感技术。带有一个1/ 4英寸镜头,并支持多种格式。像素数最

7、大可达384 X288。支持外部水平、垂直同步输入格式,包括8bit的A/ D转换器,支持模拟视频、数字视频输出。该芯片数字视频输出为不间断比特流 ,片内可实现包括帧速率、曝光设定以及图像大小编程等功能。OV5017与FPGA的接口如图 2 所示。图2 OV5017 与FPGA的接口中FPGA为一片 Altera 公司的 EPM9320215 ,用于初始化 OV5017的控制寄存器,图像数据地址生成以及把采集来的虹膜图像存入SRAM存储器中。FPGA具体功能如下:配置OV5017的控制寄存器 冏0. 3 为内部寄存器地址 ,D 0. 7 复用。设置CSB = 0、OEB =1、WEB = 0

8、,OV5017 进入写使能状态。写 0xC4 到寄存 器FCTL ,设置OV5017为单帧输出模式;写0x01到寄存器FDIV ,设置帧速率 FR(f rame rate) 为 25f/ s ,像素时钟 PR(pixel rate) 为 3. 579 5MHz ; 其他寄存器为系统默认值。虹膜图像取系统默认值384X 288。(2)图像数据地址生成并存储图像。图像数据地址由FPGA利用OV5017输出的行同步信号(HREF)、场同步信号(VSYNC)和图像像素时钟(PCL K)生成,并把 采集来的一帧图像存入图像存储器中。3.3 接口硬件设计C5402有两个多通道缓存同步用口(McBSP),若

9、要与计算机通信须把同步通信转换成异步通信。本模块中采用Maxim 公司 MAX3111E接口芯片,同 一 个McBSP实 现DSP与PC的通 信。MAX3111E芯片中集成了 UART、RS2232和可编程的 波特率发生器(可用于300baud230kbaud) 。 UART具有8 个字的接收存储 FIFO,使处理器的开销最小 ,并且可以提供 4个可屏蔽的中断。在保证UART和RS2232共同接地和供电的情况下,它们可以配套使用 ,也可以单独实现其功能。最大波特率为 230bit / s 。另外,本系统中还预留了一个McBS呼口 C5402的HPI接口,以备扩展使用。四系统软件设计4.1系统流

10、程系统流程图如图 3所示。图3系统软件框图(1 ) 系统 上电之 后首先 对OV5017和MAX3111E进行配置,其次经 并行16位数据线将程序从 Flash 存储器写入C5402的程序存储区,系统进入 等待状态;(2)用户从键盘输入个人ID ,C5402读取样本图像编码数据到数据缓存,当CMO激字摄像机采集触发信号传至FPGA时,FPGA利用OV5017提供的行场同步信号产生存储空间地址,将采集所得的数据存入图像存储器(SRAM), 一帧图像存储结束之后 ,FPGA 通知C5402 ( INTO);(3) C5402 利用DMM式从图像存储器读取图像数据,并进行虹膜识别核心算法处理3 4

11、。本系统中虹膜图像为 110 X8kbit ,在算法编号中是以32 x 8kbit 的数据为一个单元进行处理 ,中间结果存入数据存储器中,这样可以提高运算速度,简化了 FPGA中页地址管理寄存器的软件编写;(4) C5402处理结束后,计算结果经RS2232接口传回计算机。4.2 Bootloader程序设计C5402片内设置有 Boot程序,Boot 程序的主要作用是在开机时将用户程序 从外部装入到程序存储器。当用户程序很大超过了32K,必须采用以下特殊的Boot方法。(1)在Reset后,将Flash 存储器译码在数据区,RAM译码在程序区,利用片内Boot程序将自己编写的初始化程序从外部

12、数据区搬移至内部RAM中;(2)用户初始化程序发出一个I/ O命令(如XF),将Flash 存储器译码到程序区的高地址,开放数据用于其他的RAM。(3)用户初始化程序中包括第二次Boot程序(此程序必须用户自己编写 ),将Flash 存储器中没有 Boot的其他代码 搬移到RAM中。(4)开始运行用户处理程序。自己编写的第二次 Boot程序如下:.def load start.sect “ load prg ” load start :ssbx intmld # 0 , dp nop ld # address1 , a stm # address2 ,ar1 rpt # length read

13、a3ar1 +endboot :orm # 020h , 1dhId # address3 , a bacc a.End其中addressl 为Flash 存储器中没有 Boot的代码源地址 ,address2 为没 有Boot的代码目标地址 ,length为代码长度,address3为主程序代码开始执行地址。五实验结果根据以上的算法,DSP的编程实现被分解成三大任务模块:即图像预处理、特征提取与编码以及模式匹配。需要注意的是每一个模块都必须注意页面管理寄存 器的值,因为如果程序仅在SRAM中运行会浪费大量的时间,所以可以把部分程序和数据放入 DSP的内部运行。在 C和汇编混合编程的时候,存在

14、C语言和汇编语言的变量以及函数的接口问题。在进行C语言移植时也涉及到两个问题:一是库函数的使用,二是字长问题。TI的TMS320C54xC编译器提供符合 ANSI C的函数库。至于字长,要注意int型在不同的系统中的区别,如在VC环境中,int 型为32位,而对于TMS320C54x C编译器来说,int 型则为16位。因此,在将C 源程序由仿真环境向TMS320C54X平台移植时,应根据各变量的取值范围,尽可能地将int 型归类为short 型或long型6 。此外,虹膜算法的常用算子,如卷积、sobel算子和积微分算子等,都必须用汇编来实现,这样才能提高效率。 最后,因为C5402是定点型DSP ,所以还要对整个系统进行定标处理。六总结本文详细介绍了基于DSP芯片的虹膜识别系统。从实际的测试结果来看,该虹膜采集识别通用平台峰值处理能力可达60MIPS ,能够快速、有效、稳定地工作。另外虹膜识别系统处理核心部分是由DSP完成,这可以增强系统的保密性,防止非法拷贝。参考

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论