设为首页   在线评论   推广技巧   发布求购   免费注册   激活帐号
一卡通世界
当前位置:一卡通世界 >> 技术文章 >> 生物识别 >> 基于ARM&Linux的考场指纹识别系统设计

基于ARM&Linux的考场指纹识别系统设计

来源:一卡通世界      作者:周国运,王海琳      2012-5-11 13:05:38

    摘 要:使用s3c2440微控制器、指纹模块等硬件,应用Linux操作系统、sQLite数据库、Qt可视化开发工具等软件 及编程技术,设计实现了考场指纹识别系统,具有指纹采集、指纹识别、数据库与信息管理、网络数据传输等功能, 可以脱机独立工作,使用方便。

    0 前言

    指纹识别在消费服务、考试管理、门禁安全、物品主人识别等方面得到了应用,以后将会在更广泛的领域得到应用。指纹识别的应用,提高了身份识别的客观性、公正性和效率等。考场指纹识别系统与其它指纹识别系统相比,需要满足识别的信息量大、能够便携移动、操作方便、最好能够脱离计算机独立使用等要求。

    从指纹识别方式来考查,当前主要有如下三种考场指纹识别系统:

    第一种是指纹采集器直接连接计算机识别方式?。该方式的考试管理系统由计算机、考试管理软件和指纹采集器构成,其中的指纹采集器一般只有基本的指纹成像和A/D转换部分,而指纹的处理算法和指纹数据都在计算机中。在指纹的采集和识别时,采集器和计算机必须联合使用,通过串行接口或usB接口连接。这种方式的优点是指纹采集器造价低、可靠性高,不足之处是需要计算机数量大、造价高,并且在考场中使用体积较大计算机也不方便。

    第二种是网络计算机识别方式旧1。该方式与第一种方式的系统构成基本一样,不同之处在于采集器和计算机的连接使用RJ45接口,采集器所采集的指纹信息通过网络传送给计算机,计算机比对后将结果再返回到远端的采集器。该方式的优点是需要计算机数量少、造价低,不足之处是计算机负担重、网络传输信息量大、可靠性低。

    第三种是指纹卡识别方式¨1。该方式由计算机、考试管理软件、指纹采集器和指纹存储卡构成。

    这里的指纹采集器功能比较强,不仅具有指纹采集功能,而且还具有指纹数据处理、运算比对和读写射频Ic卡功能。该系统的工作原理是:在计算机的控制下,将指纹采集器采集及处理后的指纹特征数据保存到计算机中,然后将指纹等考生信息写到IC卡中,在考场用指纹采集器采集考生指纹,并与Ic卡中的指纹信息比对识别身份。这种方式的优点是可靠性高,不足之处是需要制卡,致使工作量大,Ic卡仅一次性使用造成浪费,另外指纹采集器的造价较高。

    以上三种考场指纹识别系统都存在不足,本文所设计的“基于ARM&Linux的考场指纹识别系统”(简称为“嵌入式考场指纹识别系统”),相对于第三种采集器,减少了IC卡功能而增加了数据库功能,使其具有存储姓名、指纹、身份证号等考生信息的数据库以及信息管理功能,使采集器能够脱离计算机,独立在考场比对指纹,从而克服了上述三种系统的不足。

    1 系统设计

    1.1 系统功能

    本文所设计的“嵌入式考场指纹识别系统”,主要具有如下功能:
    一是指纹采集、指纹比对和指纹数据处理功能;
    二是数据库与信息管理功能,能够保存和管理大量考生的信息;
    三是系统与Pc机数据库的数据交换功能;
    四是系统与PC机的数据传输功能;
    五是系统与用户的交互功能,具有较好的人机界面,便于操作使用。

    1.2 系统组成

    根据上面所说的系统功能,对系统的软硬件都有较高的要求,因此,需要使用操作系统,设计选用Linux操作系统。在硬件方面,根据所使用的操作系统,选用ARM9微控制器,存储器使用64MB的nash和64MB的SDRAM,需要网络接口芯片、串行接口芯片、液晶显示屏,以及指纹模块等。

    1.3系统工作原理

    “嵌入式考场指纹识别系统”中的学生信息,只是考试管理系统的一部分,安装在PC机上的考试管理系统中保存着考生的全部信息。对用户来说,系统的主要用途是指纹采集和指纹识别,在指纹采集前,需要将Pc机上的考生基本信息(如姓名、身份证号等)通过网络下载到系统中,对各个考生采集完指纹后,再将含有指纹信息的数据通过网络上传给PC机。在指纹识别时,把Pc机上包含有考生指纹的数据下载到嵌入式系统中,使系统能够使用数据库中的信息进行指纹比对。

    2 硬件结构

    根据系统功能的要求,其硬件主要由五个部分构成:微控制器模块、带触摸屏的液晶显示模块、指纹识别模块、网络接口模块、串行接口模块等。其电路构成如图l所示。

 考场指纹识别系统结构图

图1 考场指纹识别系统结构图

    2.1 ARM9微控制器模块

    微控制器模块包括s3c2440微控制器H1、64MB同步DRAM、64MB的Nand nash ROM、2MB的Nornash ROM、基本的震荡电路和复位电路等。s3c2440微控制器功能强大,使用的是 ARM920T内核,具有16KB指令cache和16KB数据cache、存储器管理单元和外存控制器、LCD控制器、触摸屏控制器、3通道的uART接口等功能和外设。SDRAM选用2片32MB的HY57V561620,构成32位的存储器,接系统总线,其片选信号用nGcs6管理。Nand nash选用1片64MB的K9F1208,与S3C2440的Nand nash接口信号相连。Nor nash选用l片2MB的39VFl60l,接系统总线,片选信号接S3C2440的nGCSO引脚。

    2.2液晶显示模块

    S3c2440的LCD控制器,可以控制4K色STN或16M色TFT液晶显示模块,本设计试验用的是3.5英寸的彩色液晶显示模块。S3C2440有专门的LcD控制器和接口信号,其信号主要是数据信号和视频控制信号,与液晶模块有一一对应关系。触摸屏控制器接口只有4个信号,控制测量触摸点x和y方向坐标的电压,电路连接比较简单。

    2.3指纹采集与识别模块

    指纹识别模块使用的是广州迈科技术公司的“Mc—E指纹模块””3,该模块使用DsP作为处理器,采用先进的商业指纹识别算法,识别速度快,1:500比对需时不足1秒,识别率高达99.99999%。“Mc—E指纹模块”接口方便,使用标准的uART协议,rI’I'L电平。在系统中,MC—E与S3C2440的uARTl口的Rxdl、Txdl相连,应用程序通过uARTl口发送指纹操作命令和传送数据,控制Mc—E执行各种操作。

    2.4网络接口模块

    网络接口使用的是高速以太网接口芯片“DM9000”,该芯片遵循IEEE的802.3以太网传输协议,自适应10M/100M网络速度;内部带有16K字节sRAM用作接收发送的FIFO缓存;支持8/16/32 bit三种工作模式;10ns I/O读写速度。“DM9000”与微控制器的接口比较简单,数据信号sDO~SDl5、读/写控制信号10R和IOw与s3C2440的相应信号相连接,片选信号、中断请求信号INT、数据/地址选择信号CMD分别接S3c2440的nGcs4、EINl7、ADDR2引脚。将DM9000作为一存储器,通过读/写操作进行网络数据收/发。

    2.5串行接口模块

    为了使系统与PC机连接下载数据和调试系统,将s3c2440的uART0口接TTL—Rs232转换芯片MAX232。UARTl口接指纹识别模块。

    另外,用s3c2440的GPB5一GPB8引脚接4个LED,用于显示指示。用定时器O的输出引脚TOUT0接一蜂鸣器,用于发声控制。

    3 软件设计

    该“嵌入式考场指纹识别系统”运行在Linux操作系统之上,使用嵌入式数据库SQLite做信息管理,使用嵌入式可视化编程软件Qt编写应用程序,在S3C2440微控制器上实现了图形界面的指纹采集、指纹识别、网络数据传输,以及与Pc机数据交换等功能。

    3.1数据库设计

    sQLite是一款轻型的嵌入式数据库管理系统。sQ“te只需要几百KB内存,虽然小巧但却支持高达2TB的数据记录;支持Windows、Linux、Unix等操作系统;能够与多种程序语言相结合,如PHP、Java等,支持sQL语句;有ODBC接口等功能。sQLite在处理速度上,比Mysql、PostgresQL等著名数据库都快。

    可视化编程软件Qt¨o中集成了用户访问各种数据库的模块Qtsql,Qtsql模块具有与各种数据库连接的功能,还有使用sQL语句操作各种数据库的QSQuery类。在Qt中创建SQLite数据库的过程为:首先使用连接函数QsqlDatabase::addDatabase(“QsQLITE”)建立Qt与sQLite的连接,然后使用创建数据库函数QsqlDatabase.setDatabaseName(“DatabaseName”)创建sQLite数据库,之后就可以使用sQL操作函数QSqlQuery.open()打开数据库,使用函数QsqlQuery.exec()创建表、添加记录和数据等操作,操作之后使用函数QsqlQuery.close()关闭数据库。

    在“嵌入式考场指纹识别系统”的数据库中,建立了两个数表,一个是“Collect”,用于采集指纹,另一个是“Ident”,用于识别指纹,其字段分别为“姓名、性别、年龄、身份证号、照片、指纹、状态”和“姓名、性别、年龄、身份证号、准考证号、考场、照片、指纹、各个科目状态”。实际上这两个数表并不是在嵌入式系统创建的,而是在Pc机上创建并分发过来的。

    关于系统数据库的容量,每条记录5KB(包括照片),系统nash ROM能用空间按30MB计,系统数据库至少可以容纳5000人的信息,对于较大的考点也足够用了。

    3.2指纹采集与识别程序设计

    “MC—E指纹模块”为用户应用开发提供了良好的接口,编程和应用都比较方便。在设计的系统中,主要使用的是指纹采集、指纹特征值下载、指纹比对等操作。

    图2给出了指纹采集流程图,这些命令、应答信息和指纹特征值,都是通过ARM微控制器的串行口传递的,为确保指纹信息的可靠性,每个指纹需要采集三次,正确采集后,将指纹写到对应考生的记录中。

 指纹采集流程图

图2指纹采集流程图

    图3为指纹识别流程图。对于指纹特征值下载,是将数据库中各个考生的指纹,下载到指纹识别模块中,每次可下载一个或多个考场的考生指纹,便于提高识别速度,其操作过程较简单,不再赘述。

 指纹识别流程图

图3指纹识别流程图

    3.3网络数据传输程序设计

    在设计的系统中,与Pc机中的数据文件交换,都是通过FTP服务传输的。在windows或Linux操作系统下,利用FTP的“get”和“put”命令,能够方便地实现从联网计算机中获取文件和发送文件,但是必须在Qt可视化应用程序中实现这些命令操作,不能让用户再回到Linux操作系统的命令行下进行操作。Qt中提供了操作Linux命令和运行脚本文件以及其它应用程序的“system()”函数。在设计的程序中,将文件上传和获取的FTP操作写成了脚本文件“ftpget.sh”,通过函数“8ystem(“/my/ftpget.sh”)”运行脚本文件“ftpget.sh”,实现了嵌入式系统与Pc机的数据文件交换。至于液晶触摸屏模块、网络接口模块、uART等模块的驱动,均由Linux操作系统来完成。

    4 结束语

    在“嵌入式考场指纹识别系统”设计试验中,其主要问题是应用软件设计,因此系统的硬件使用的是广州友善之臂公司的“mini2440”ARM9开发板?。通过设计与试验,实现了指纹采集、指纹识别和数据库及信息管理,通过网络与PC机数据交换,以及可视化界面操作等功能。该设计作为一项产品技术,还有不少有待改进和提高的地方。虽然文中研究开发的是考场指纹识别系统,但其技术完全可以应用到其它领域中的指纹识别系统,特别是嵌入式数据库及信息管理功能,对于设计开发各种手持式设备具有借鉴意义。

分享到新浪微博      分享到腾讯微博         责任编辑:苏洁   投稿邮箱:editor@yktworld.com
关于 指纹识别  指纹采集器  考试管理 的文章
  • 指纹识别的原理和方法
  • 基于AT77C101B的指纹识别系统
  • 指纹识别技术综述(扫盲篇)
  • 智能卡与指纹识别技术的结合
  • 指纹锁新时代之单芯片指纹锁设计与研究
  • 一种基于指纹识别技术的汽车门锁软硬件设计
  • 基于指纹和智能卡的PKI双向认证系统
    基于指纹和智能卡的PKI双向认证系统
    监狱大门虹膜识别门禁系统探讨
    监狱大门虹膜识别门禁系统探讨
    基于Mallat算法的人脸识别的应用研究
    基于Mallat算法的人脸识别的应用研究
    基于校园网身份管理的指纹考勤系统的设计与实现
    基于校园网身份管理的指纹考勤系统的设计与实现
    一周点击热点
    相关产品
    最新收录
    新闻   产品   企业   招标   求购
    技术   方案   下载
    关于我们
    网站介绍   广告服务   会员分类   联系方式
    企业推广   产品推广
    Copyright © 一卡通世界网 (粤ICP备11061396号)