zoukankan      html  css  js  c++  java
  • 基于ARM的指纹采集仪的设计与实现

    1 引言

        在个人身份识别领域,指纹识别作为目前最为成熟的生物识别技术之一,成为很多应用场合的首选。和PC环境相比,嵌入式系统有着体积小,功耗低的特点,由于功能相对专一,在稳定性,可靠性和安全性上有一定优势。所以现在嵌入式系统不仅应用在移动设备上,而且在固定场合的身份识别系统也被越来越多的采用。

        WinCE.Net嵌入式操作系统是微软公司推出的一种全新开发的操作系统,具备抢先式多任务功能以及强大的通讯能力,专门应用在信息设备,移动应用,消费类电子产品以及嵌入式应用等非PC领域,目前已经发展到5.0版本。本文涉及的指纹采集设备工作在以ARM920T为内核的嵌入式系统上。设计这套系统的目的是进行便携式指纹识别仪器应用研究,并提供一个指纹识别算法平台。

    2 指纹采集系统的设计与实现

        系统采用嵌入式32位ARM器件S3C2440作为主控CPU,由指纹图像的采集模块,核心处理模块,RAM,EEP一ROM,外部存储器,LCD显示模块,接口模块7个部分组成。图l给出系统结构框图。

    2.1 指纹采集模块

        现有的光学传感器的体积都较大,成像结果要经过变换才可以使用。该采集系统采用Veridicom公司的FPS200固体指纹识别传感器设计而成。FPs200是一种性能优越,功耗低,价格便宜的指纹识别传感器。由于其特殊的EDS保护,特别窄小的物理尺寸,以及独特的省电特性,使传感器尤其适合嵌入式系统使用。主要原理是,在指纹图像感知区域集成了二维金属电极阵列,每根电极充当电容一极,在传感器表面,二极之间有一层钝化层作为电容的介电层。由于指纹的脊和谷与传感器接触时会产生不同的电容值,测量这些不同的数值即形成图像。

        与同类产品相比,FPS200的性能特点如下: 

       (1)支持多接口模式。FPS200有3种接口模式,8位的系统总线接口,集成全速的USB接口和集成的串行外设接口,使芯片的应用设计更加灵活。芯片集成USB控制器,大大减少了USB电路设计的工作量,同时USB接口协议支持更高的传输速率;

        (2)自动指纹检测功能。FPS200可自动检测手指是否放在传感器上,如果有,则进入工作状态;否则,进入睡眠状态。此设计不需轮询检测指纹,提高了芯片的丁作效率;

        (3)FPS200内部包括一个新的二阶的A/D转换器,功耗低(75%);FPS200传感器单元间距变小,提高了传感器阵列的机械强度。

        系统采用USB接口模式,设计中请注意:①FPS200的工作电压是3.3~3.6 V,而USB的供电电压是5 V,所以要用电压转换芯片实施电压转换;②FPS200通过MODEl和MODEO 2个引脚来实现接口模式的选择。在USB接口模式下,将微处理器接口模式和SPI予以屏蔽。此时MODE[1:0]=l0b,采用FPS200内部ROM;其他部分引脚CS0,CSl,MOSI,MOSO被屏蔽,引脚悬空;XTAL1与XTAL2之间接12MHz晶体电路;FPS200内部的多频振荡器不工作。图2给出FPS200传感器和系统的连接电路。

    2.2 数据处理与显示

        系统微处理器模块采用ARM2440开发系统,该系统采用Samsung公司的ARM处理器S3C2440,由6层板设计。该开发系统在尽可能小的面板上(120mmx90mm)集成64MBSDRAM,64MB NAND Flash,lMB B00T Flash,RJ一45 网卡,音频输入和输出,USB Host,USB Slave,标准串口,SD卡插座等设备接口,支持LCD/STN液品屏接口,可以接各种单色,伪彩,真彩液晶屏,并含有触摸屏接口。通过预留的USB口可实时地将数据导入U盘或者PC机硬盘中。

        现在的SD卡成本低,容量大,所以存储模块采用SD卡进行图像存储。液晶显示模块采用Samsung公司的3.5寸TFT(带触摸),通过液晶屏的触摸功能或USB鼠标,可以方便的对测试系统进行窗口化操作。

    3 系统软件设计及实现

        采用EVC工具开发上位机软件,可直接在Windows CE[5]环境下运行。上位机软件是控制系统运行的重要部分,主要完成人机接口,指纹图像的采集并处理系统和采集模块的通讯。系统软件可分为主程序模块、通许模块和指纹采集模块。主程序模块主要完成界面显示,人机接口,模块调用等功能;指纹采集模块完成指纹图像的采集;通讯模块负责接受数据和发送由人机接口控制的寄存器的修改指令。

        为了能够采集指纹,首先必须初始化FPS200的相关寄存器,按照传感器的技术要求,初始化寄存器CTRLB,DTR,DCR和PGC的值,以设置传感器的工作方式,调整传感器灵敏度,为指纹采集做好准备。改变DTR的值可以改变电容的放电时间,DCR控制放电电流的大小,PGC控制放大器增益,当DTR和DCR值增大时,图像变白,对比度降低。

        通过写寄存器CTRLA可选择采集指纹的方式,有3种指纹采集方式:采集某行(GETROW);采集子图像(GETSUB),采集整幅图(GETIMG)。选择不同的采集方式,需要初始化的行列寄存器则不同。图3给出系统软件流程图。

    4 试验结果分析

        图4给出采集部分试验结果,对比图像后发现,FPS200的放电参数DCR,DTR和PGC对指纹的清晰度有一定影响。其中DTR参数控制电容的放电时间,延长放电时间可减少指纹图像的背景噪声;增加DCR参数值同样能起到减少指纹背景噪声的作用,但升高DCR同时减少DTR时可维持图像的清晰度;PGC参数控制指纹图像和背景的对比度,需要根据不同的工作条件进行参数调整。图4(a)的图像是在DCR=0x0l,DTR=0x40,PGC=0x0B(g=3)下采集的;图4(b)的图像是在DCR=Ox0l,DTR=0x23,PGC=Ox00(g=1)下采集的。当手指情况较好时,图4(a)的参数要比图4(b)的参数得到的图像更好。

    5 结语

        本文设计了一个基于ARM的指纹采集系统,使用FPS200固体指纹传感器作为指纹采集元器件。减少了许多软件优化图像的过程。以Samsung的S3C2440为硬件平台,WindowsCE系统为软件平台.非常容易地对外实施扩展,为下一步的指纹识别打下了良好的基础。系统操作简单,携带方便,尤其适合不宜使用基于PC构架的指纹采集仪器的场合,且成本低廉,易于推广。

  • 相关阅读:
    SpringBoot多数据源:动态数据源
    cron 表达式
    6种@Transactional注解的失效场景
    spring boot 整合mybatis 的xml版本
    MySQL函数大全 及用法示例
    后端必备 Nginx 配置
    详解SpringBoot应用跨域访问解决方案
    Lombok使用
    前端必备 Nginx 配置
    随便写写插入排序
  • 原文地址:https://www.cnblogs.com/junzhkevin/p/1425505.html
Copyright © 2011-2022 走看看