电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>DSP>基于TMS320VC5402 DSP芯片的自动指纹识别系统的

基于TMS320VC5402 DSP芯片的自动指纹识别系统的

2010-12-06 | rar | 51 | 次下载 | 10积分

资料介绍

介绍了一种基于TI公司的TMS320VC5402来构造指纹识别系统的方法。详细论述了系统的各个组成部分以及指纹识别算法的实现流程,结合VC5402的指令集和自身结构特点,讨论了如何高效的设计应用程序的方法。文章对如何将DSP的主机接口(HPI)改造成通用输入输出口(GPIO)、将多通道缓冲串行口(McBSP)设置成SPI接口进行了详细的说明,对数据图像处理需要较大空间而DSP可寻址的数据空间又过小的矛盾,提出了切实可行的解决办法。
    关键词:指纹识别;DSP;混合语言编程
指纹识别技术是以数字图像处理技术为基础,而逐步发展起来的。相对于密码、各种证件等传统身份认证技术和诸如语音、虹膜等其它生物认证技术而言,指纹识别是一种更为理想的身份认证技术。使用指纹识别具有许多优点,例如:每个人的指纹都不相同,极难进行复制或被盗用;指纹比较固定,不会随着年龄的增长或健康程度的变化而变化;最重要的在于指纹图像便于获取,易于开发识别系统,具有很高的实用性和可行性。
1 指纹识别系统的架构
本课题设计了一个嵌入式系统,通过DSP来完成指纹图像的采集和指纹识别的算法。另外为使系统有更广阔的应用领域,在设计上还采用异步串行通讯方式实现了DSP和PC之间的数据交互。据此,系统由指纹传感芯片、复杂可编程逻辑器件、闪烁存储器和UART硬件组成。系统的结构框图和主要程序流程图如图1和图2所示:
2 系统各部分设计要点
2.1 DSP的选择和存储空间的设计
TMS320VC5402具有很高的性价比,可以访问1M的程序空间和64K的数据空间。内部自带的16K 双寻址RAM,可以在一个指令周期内完成两次读操作或一次读和一次写操作。锁相环电路则可提供高达100MHz的工作频率,从而使VC5402完全有能力在较短的时间内完成指纹的识别操作。
由于指纹图像具有数据量大特点,因此程序的设计不可避免的需要较大的存储空间。系统中所采集到的8bits灰度图像大小为300×256,则存储一幅图像就需要75K的空间,而VC5402可寻址的数据空间范围总共才有64K。为此,可以参照VC5402空间分配结构图,通过程序空间页扩展功能来解决图像的存储和运算问题,运用RPT、READA和WRITA指令完成图像数据在程序空间和数据空间的搬移操作。
图1 系统结构框图
图2 系统主要程序流程图
2.2 指纹采集电路的设计
指纹传感芯片选用Fujitsu公司的MBF200。它由256列×300行电容阵列组成,芯片内设计有两套采样保持电路用于指纹图像的采集。图像传输速度最大可达30帧/秒,能够满足连续指纹图像的采集和比对。MBF200具有手指自动检测电路(AFD),它允许DSP在没有指纹时处在低功耗待命模式,当有手指时才通过中断唤醒它进行相应的处理。然而实验证明,AFD功能的可靠性较差,不能满足设计要求。为此,在设计上采用了手动开关加软件查询方式来判断是否进行指纹的采集。当主机接口(HPI)中的HPIENA管脚通过电阻接地,则系统复位上电后,HPI接口将作为通用输入输出口(GPIO)来使用。将手动开关的输出信号线和GPIO的一个指定的输入口相连接,当要进行指纹采集时,通过开关产生一个输出信号;而系统初始化后DSP不断的查询GPIO中指定的输入口状态,一旦发现状态发生变化,就进行指纹图像的采集。实验证明,这种方式很好的解决了图像采集的问题,提升了系统的可靠性。除此之外,GPIO中其它的管脚可作为输出管脚来使用,用于控制声光报警电路。
2.3 DSP与PC接口的设计
为了充分利用VC5402的片上资源,降低成本。系统中使用MAXIM公司的通用异步串行收发器MAX3111E实现DSP和PC的通信。MAX3111E应用SPI接口与主控制器进行通信,它具有四个RS-232电平转换器,这样无需再接入MAX232进行电平转换,从而应用一个芯片就实现了具有SPI接口的主控器与PC进行异步数据传输的功能。
VC5402的时钟停止模式兼容SPI通信协议。当McBSP被设置成时钟停止模式时,可将发送帧同步信号(FSX)用作SPI协议中/SS,将发送时钟(CLKX)用作SPI协议中SCK;接收串行数据(DR)和发送串行数据(DX)分别作为协议中的MISO和MOSI。由于发送器与接收器在芯片内部实现了同步,所以接收时钟(CLKR)和接收帧同步信号(FSR)不用于SPI模式中。当将VC5402配置为主器件,MAX3111E配置为从器件时,系统中McBSP各个寄存器参数的设置如表1所示:
表1 DSP作为SPI协议主器件时,McBSP的配置信息
需要设置的位 所在寄存器 功能描述 系统所采用的值
CLKSTP SPCR1 禁止或使能SPI模式 11b
CLKXP PCR 控制BCLKX信号的极性 0b
CLKXM PCR 控制BCLKX信号的方向 1b
CLKSM SRGR2 采样率时钟从CPU时钟中取得 1b
CLKGDV SRGR1 设定采样率分频系数 29
FSXM PCR 控制BFSX信号的方向 1b
FSGM SRGR2 BFSX在每次数据传输时有效 0b
FSXP PCR 控制BFSX信号极性 1b
XDATDLY XCR2 给BFSX信号提供正确的建立时间 01b
RDATDLY RCR2 给BFSX信号提供正确的建立时间  01b
RWDLEN1  RCR1  控制接受数据包长度  010b
XWDLEN1  XCR1  控制发送数据包长度  010b
2.4 握手信号与程序加载的设计
系统中使用EPM7128SLC84作为全局逻辑控制器件。FLASH用于存储系统的应用程序,当系统复位后,通过Bootloader完成程序的搬移。设计上将FLASH映射到数据空间的后32K处,选用XF来区分是对SRAM寻址还是对FLASH寻址。当系统上电复位后,XF引脚输出高电平,这时FLASH将映射到数据空间中;当程序加载结束后,在系统初始化期间拉低XF信号屏蔽FLASH,从而使SRAM占据数据空间。另外,将MBF200映射到I/O空间的前32K处,使用A15和/IS作为片选信号。在设计上采用原理图形式编写CPLD程序,部分程序代码如图3所示:
图3 CPLD原理图程序
3 指纹识别算法设计概述
原始指纹图像通常含有较多噪声,因此需要进行预处理来改善图像的质量,以便进行特征提取和比对。预处理包括方向图计算、图像增强、二值化及去噪、图像细化及去噪。
由于指纹的纹线具有缓慢变化的特点,在局部通常具有明确的方向性,所以可以利用方向图对图像进行平滑和锐化处理。沿纹线的切线方向对图像进行平滑,以起到连接不应有的间断的作用:沿纹线的法线方向对图像进行锐化,以突出纹线的边缘信息。二值化就是把8灰度的指纹图像变成0和255的二值图像。二值化后的图像通常在脊线上会有白色的斑点,程序上使用种子填充法把斑点去掉。为了进一步压缩数据,需要对二值化图像进行细化处理。细化时应保持纹线的连接性、方向性不变,还应保持纹线的中心基本不变。细化后的纹线会出现搭桥及豁口,因此必须进行细化后的去噪工作。预处理中各步骤的图像如图4所示。
设计中使用纹线端点和分叉点作为指纹特征点,这不仅是因为这两类特征点出现的几率最高且容易检测,更重要的是它们足以描述指纹的唯一性。程序中使用纹线跟踪方法提取特征点,其中纹线端点的属性由横纵坐标和纹线角度来表示;分叉点的属性由横纵坐标,纹线角度和三个分支间的夹角(从大到小)来表示。在提取出指纹特征点后,便会得到一组矢量点,同样在指纹模板库中保存的指纹模板也是一组矢量点,要判断两个指纹是否相同的问题也就转化成判断两组矢量点是否相同的点模式匹配问题。
下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1电子电路原理第七版PDF电子教材免费下载
  2. 0.00 MB  |  1489次下载  |  免费
  3. 2单片机典型实例介绍
  4. 18.19 MB  |  91次下载  |  1 积分
  5. 3S7-200PLC编程实例详细资料
  6. 1.17 MB  |  27次下载  |  1 积分
  7. 4笔记本电脑主板的元件识别和讲解说明
  8. 4.28 MB  |  18次下载  |  4 积分
  9. 5开关电源原理及各功能电路详解
  10. 0.38 MB  |  9次下载  |  免费
  11. 6基于AT89C2051/4051单片机编程器的实验
  12. 0.11 MB  |  4次下载  |  免费
  13. 7基于单片机和 SG3525的程控开关电源设计
  14. 0.23 MB  |  3次下载  |  免费
  15. 8基于单片机的红外风扇遥控
  16. 0.23 MB  |  3次下载  |  免费

本月

  1. 1OrCAD10.5下载OrCAD10.5中文版软件
  2. 0.00 MB  |  234313次下载  |  免费
  3. 2PADS 9.0 2009最新版 -下载
  4. 0.00 MB  |  66304次下载  |  免费
  5. 3protel99下载protel99软件下载(中文版)
  6. 0.00 MB  |  51209次下载  |  免费
  7. 4LabView 8.0 专业版下载 (3CD完整版)
  8. 0.00 MB  |  51043次下载  |  免费
  9. 5555集成电路应用800例(新编版)
  10. 0.00 MB  |  33562次下载  |  免费
  11. 6接口电路图大全
  12. 未知  |  30319次下载  |  免费
  13. 7Multisim 10下载Multisim 10 中文版
  14. 0.00 MB  |  28588次下载  |  免费
  15. 8开关电源设计实例指南
  16. 未知  |  21539次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935053次下载  |  免费
  3. 2protel99se软件下载(可英文版转中文版)
  4. 78.1 MB  |  537791次下载  |  免费
  5. 3MATLAB 7.1 下载 (含软件介绍)
  6. 未知  |  420026次下载  |  免费
  7. 4OrCAD10.5下载OrCAD10.5中文版软件
  8. 0.00 MB  |  234313次下载  |  免费
  9. 5Altium DXP2002下载入口
  10. 未知  |  233045次下载  |  免费
  11. 6电路仿真软件multisim 10.0免费下载
  12. 340992  |  191183次下载  |  免费
  13. 7十天学会AVR单片机与C语言视频教程 下载
  14. 158M  |  183277次下载  |  免费
  15. 8proe5.0野火版下载(中文版免费下载)
  16. 未知  |  138039次下载  |  免费