Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1351161
  • 博文数量: 206
  • 博客积分: 10571
  • 博客等级: 上将
  • 技术积分: 2610
  • 用 户 组: 普通用户
  • 注册时间: 2007-04-30 11:50
文章分类
文章存档

2014年(1)

2013年(4)

2012年(18)

2010年(14)

2009年(31)

2008年(3)

2007年(135)

分类:

2007-04-30 16:14:54

                   学校课题研究小论文

 

具有指纹识别功能的IC读卡器开发

作者:张新健 江汉轮 黄开敏 丁远辉

(肇庆学院、电子信息工程系 04点本2班)

 

【 摘要 】本系统采黑白数字CMOS传感器,以Atmel ATmega16单片机作为主要控制中心,由键盘、中文液晶显示屏及IC卡读取模块构成的具有指纹识别功能的IC读写器。指纹IC卡读写器集成了光学固态指纹传感器件、智能IC卡、高速DSP,应用指纹图象处理与识别算法,在读写器上独立完成指纹采集、图象处理、特征比对等功能,具有小型化、低价格、应用便捷等特点,是实现个人指纹特征比对鉴别的理想工具用户登记系统是运行在Windows环境下的一个应用程序,负责将用户的指纹登记到用户持有的IC卡上,并将用户的信息属性、如工号、性别等信息根据银行的需求写入IC卡上。同时,用户登记系统还根据相关配置将银行业务系统的认证信息写入IC卡上,以便认证需求。

 

【关键词】ATmega16单片机、IC卡读写器、黑白数字CMOS传感器、指纹识别算法、中文液晶显示。

一、              方案的选择与论证

1、单片机选择

方案一:采用传统的8位89C51单片机作为运动物体的控制中心。51 单片机具有价格低廉,使用简单等特点,但其运算速度低,功能单一,RAM、ROM空间小等缺点。本题目在确定圆周坐标值时,需要进行大量的浮点数运算,若采用89C51需要做RAM,ROM来扩展其内存空间,其硬件工作量必然大大增多。

方案二:采用Atmel ATmega16单片机具有丰富的资源:RAM,ROM空间大、指令周期短、运算速度快、低功耗、低电压,易于编写和调试等优点。尤其在复杂的数学运算,其运算速度快,精度高,在控制步进电机时运行速度比一般51单片机快。

基于上述分析,拟选择方案二。

2、指纹识别芯片选择

方案一:采用国外专用指纹识别芯片,如FCHIP芯片——其指纹识别处理过程是在芯片内部完成,指纹识别结果被加密保护。由于此种解决方案在数字身份认证的基础上增加了生物识别技术, 真正实现了身份认证的安全性。FCHIP芯片可与各种线形取指器和闪存相连接,使得指纹识 别过程简洁紧凑,数据安全的传输于芯片与使用界面之间。

方案二:采用COMS图像采集模块

图像采集模块中,由于指纹识别系统中并不需要实时观察图像,所以对传感器要求不是很高,一般的黑白数字CMOS传感器都能满足要求。采用了300万象素的高清晰度黑白传感器作为图像获取器件,作为指纹图像传感器使用。主要考虑到CMOS器件成本低、分辨率高、可靠性好的优点。缺点为当手指汗液多或干裂时成像质量可能变差。在图像识别过程中,采用了基于GABOR的增强算法,基本上可以克服由此造成的影响。

结合开发成本与ATmega16单片机的性能分析,采用方案二,更适合低成本的应用开发。

3指纹识别算法

方案一:指纹图像质量自动评测方法

该方法首先基于视觉特性的客观测度,给出几种评测参数的定义,然后利用边缘高细节点的信息计算这些评测参数,最后,用加权平均的方法得到指纹图像的质量分数。FVC2000数据库测试结果表明,该算法比较准确地定量反映了指纹图像的质量,其反映的指纹图像质量与人的视觉效果基本一致,保证了自动指纹识别技术的高性能。

方案二:指纹图像增强算法

指纹图像增强的主要目的是为了消除噪声,改善图像质量,便于特征提取。由于指纹纹理由相间的脊线和谷线组成。这些纹理蕴涵了大量的信息,如纹理方向、纹理密度等等。在指纹图像的不同区域,这样的信息是不同的。指纹图像增强算法就是利用图像信息的区域性差异来实现的。传统的指纹图像增强就是利用图像的纹理方向信息,构造方向滤波器模板来实现滤波的。滤波器构造的简单性和指纹图像复杂性的矛盾限制了其作用的有效性。系统中采用的是参考了指纹图像纹理频率信息,并且以GABOR变换这个能够同时对图像局部结构的方向和空域频率进行解析的最优滤波器作为滤波器的模板,因而极大的改善了增强算法的效果。

依照算法实现难度和安全深度的考虑,采用方案二的算法。

4、IC读卡器方案

方案一:普通接触式IC

普通接触式IC卡具有存储容量大、体积小,重量轻,抗干扰能力强,便于携带,易于使用对网络要求不高。但是安全性不高且易于磨损,对读写敏感性不搞。

方案二:非接触式IC

非接触IC卡又称射频卡,是射频识别技术、无线通信技术和IC卡技术有机结合的产物。它解决了卡无源和免接触的难题,具有方便快捷、不易损坏的特点。本设计采用的IC卡是Philips公司的Mifare One智能卡。该卡片有容量为8K位的EEPROM,分为16个扇区,每个扇区为4块,每块16个字节,以块为存取单位,每个扇区都有独立的一组密码以及访问控制,具有联冲突机制,支持多卡操作,读写距离10cm以内。这种卡同样具有存储容量大、体积小,重量轻,抗干扰能力强,便于携带,易于使用等特点。

基于以上分析,我们采用方案二。

  

5、显示方案

 

方案一:采用LED数码管显示器。LED 数码管亮度高,醒目,但是其电路复杂,占用资源较多,显示信息量较小。

 

方案二:采用汉字LCD液晶显示器。LCD有明显的优点:微功耗、尺寸小,超薄轻巧、显示信息量大、字迹清晰、美观、视觉舒适;可以用中文LCD液晶进行菜单显示,使整个控制系统更加人性化。

基于上面的比较分析和现有的LCD器件,拟选用方案二。

 

 

二、              系统的具体设计与实现

1)硬件电路设计

 系统具有指纹识别功能的IC卡读写器的硬件包括单片机、键盘、显示模块、EEPROM存储器、IC卡读写模块、指纹识别模块、指示信号电路、上位机RS232通信接口、RS485网络接口等,如图1所示。

 

主板电路采用ATMEL公司生产的AVR系列单片机ATmega16,它具有与MCS-51兼容、速度快、外围接口丰富等特点,可以满足本设计的需求,故选用它作为控制核心。主板简化电路图如图2所示。单片机P3口与读写模块MFRC531芯片D0D7口相连,用做MCU和读写模块之间的数据线;P25用于读写模块的片选线,与模块NCS脚相连;P17用于模块的软复位信号线,与MFRC531RSTPD脚相连;外部中断INT0P10)与模块中断请求IRQ脚相连,对应模块的请求中断;MCU读写控制的/RDWR分别与MFRC531NRDNWR相连;地址锁存控制ALEMFRC531ALE相连;P14P15分别用来控制指示灯和蜂鸣器;另外P3口还通过驱动芯片74HC245驱动分辨率为128×64的液晶显示模块;P27作为驱动芯片的片选;MCU的硬串口UART0与指纹识别模块的串行通信口相连,用于对指纹识别模块的控制;MCU的硬串口UART1作为上位机RS232通信端口或者RS485网络通信端口使用;P04P11作为软串口用于对键盘模块的控制,整个电路板的电源通过变压器以及直流电流转换芯片获得5V3.3V电压。其简化电路图如图二所示:

 

本系统基本上可以分为采集模块、图像处理及识别模块以及输出模块三部分组成。

1)图像采集模块

    图像采集模块中,由于指纹识别系统中并不需要实时观察图像,所以对传感器要求不是很高,一般的黑白数字CMOS传感器都能满足要求。本系统中采用了一款300万象素的高清晰度黑白传感器作为图像获取器件,非常适合作为指纹图像传感器使用。主要考虑到CMOS器件成本低、分辨率高、可靠性好的优点。缺点为当手指汗液多或干裂时成像质量可能变差。在图像识别过程中,采用了基于GABOR的增强算法,基本上可以克服由此造成的影响。

    2)图像处理及识别模块

    图像处理及识别模块的结构关系到系统的性能的总体水平,采用16单片机+CMOS传感器的体系结构有利于构建有效的数据处理流程和方便处理任务的分配,提高系统的并行程度和资源利用率。系统中的EEPROM通过驱动芯片连到单片机上供其使用。由于指纹识别过程中数学运算量大,因此程序设计不可避免的需要较大的存储空间,为了提高整体性能,需要把繁重的运算任务交给mega16处理,而图像采集部分则要尽可能少的占用单片机的时间。

 

3 输出模块

    作为独立的,经过系统识别的可以通过LCD直接显示出来。系统在设计时,也可以将系统作为终端使用,即通过RS232通信端口或者RS485网络通信端口链接到以太网接口,作为需要通过网络传送指纹库数据的大型指纹识别系统终端。

 

2)软件开发

读写器软件开发主要包括四部分:对读写器模块MFRC531应用程序的开发、对指纹识别模块应用程序的开发、液晶显示程序的开发以及其他相关辅助电路的开发。

1)读写IC卡工作流程

1)读写模块初始化,对MFRC531模块初始化。初始化相应寄存器使模块工作在符合ISO14443A协议的工作状态下,并且具有ISO14443的帧和错误检测功能,支持快速的CRYPTO1加密算法。

2)复位应答,复位应答操作通知模块在天线有效范围内寻找MIFARE ONE卡片,不断发出REQA的请求命令,天线范围内的卡片发出回应命令ATQA,返回卡片类型代码0004,代码返回给MCU进行卡片类型识别处理。

3)反冲突环操作,如果在读写器天线范围内有多张卡片存在,需要经过反冲突环的操作,通过卡片的唯一序列号,选出其中的一张卡片。

4)选择卡片操作,在成功进行反冲突环的操作后,根据已经得到的卡片序列号,必须进行选择卡片操作,建立与所选卡片的通信。

5)三轮认证操作,对卡的某个固定存储位置访问时,为了保证对卡片操作的保密性和合法性,卡片和读写器之间需要三轮密钥确认过程,成功确认后所有存储器操作都是保密和合法的。

    经过上述步骤后即可对卡片操作,可以执行读、写、增值、减值、重储和传送等命令。读写IC卡操作流程如图3所示。

 

2)指纹识别流程及主要指令

1)模块初始化,MCU对指纹识别模块初始化,设置其工作模式为命令工作模式,串口通信波特率为57600bps

2)生成模板,通过指纹传感器录入指纹图像三次并生成指纹模板保存在模板缓冲区(Mb_Buffer)中。

3)上传模块,将模板缓冲区中(Mb_Buffer)的内容上传到MCU

4)下载模块,从MCU下载一个指纹模板到模板缓冲区(Mb_Buffer)中。

5)生成特征,通过指纹传感器录入一副指纹图像并生成指纹征值,存在模块的特征值缓冲区(Tz_Buffer)中。

6)对比指纹,模板缓冲区(Mb_Buffer)与特征缓冲区(Tz_Buffer)中内容进行对比,并给出比对结果,返回给MCU

    指纹识别程序分指纹模板录入和指纹现场对比两种情况,图4、图5给出了流程图。

 

3)兼容指纹识别的IC卡读写器应用程序

    读写器根据不同的用途,主要分为发卡读写器和身份认证读写器。发卡读写器一般由系统控制中心发卡处使用。而身份认证读写器一般用在卡的使用终端,实现对持卡人合法性的认证。

    发卡读写器应用的主要流程是:首先刷卡录入用户的指纹图像,指纹采集过程需要对同一指纹录入三次,对三次指纹综合处理提取特征,生成指纹模板;然后将指纹模板上传到MCU,读写器对指纹模板进行加密处理后写入卡片;最后在卡中写入用户其他相关信息,完成发卡过程。

    终端身份认证过程的主要流程是:持卡人刷卡后,读写器将卡中存储的指纹模板信息解密后下载到指纹识别模块的模板缓冲区中,然后通过传感器采集持卡人指纹,指纹识别模块生成指纹特征值,并将值存在该模块的特征值缓冲区中并与模板缓冲区模板信息进行比对;根据比对结果判定持卡人的合法性,通过后才可以进行其他相关操作。

兼容指纹识别的IC卡读写器可以应用在需要身份认证的门禁系统、考试身份认证以及其他安全性要求比较高的身份认证管理系统中。

3)指纹识别算法

    指纹识别算法是指纹识别的核心,本系统中采用的指纹识别算法流程如图(2)所示。

   

增强是指纹图像预处理需要解决的核心问题,指纹图像增强的主要目的是为了消除噪声,改善图像质量,便于特征提取。由于指纹纹理由相间的脊线和谷线组成。这些纹理蕴涵了大量的信息,如纹理方向、纹理密度等等。在指纹图像的不同区域,这样的信息是不同的。指纹图像增强算法就是利用图像信息的区域性差异来实现的。传统的指纹图像增强就是利用图像的纹理方向信息,构造方向滤波器模板来实现滤波的。滤波器构造的简单性和指纹图像复杂性的矛盾限制了其作用的有效性。本系统中采用的是参考了指纹图像纹理频率信息,并且以GABOR变换这个能够同时对图像局部结构的方向和空域频率进行解析的最优滤波器作为滤波器的模板,因而极大的改善了增强算法的效果。

    3.1 脊线方向

    除奇异区外,指纹图像在一个足够小的区域内,纹理近似于相互平行的直线,这就是指纹图像的方向性特征。方向性特征是指纹图像中最为明显的特征之一,它以简化的形式直观的反映指纹图像的基本形态特征,因而被广泛应用于指纹图像的分类、增强、特征提取等方面。

    提取脊线方向方法为:

 

    将指纹图像分割成足够小的子块,以满足块中纹理近似平行的条件。

 

    3.2 脊线频率

    指纹纹理除了具有稳定的方向性特征外,还具有稳定的频率性特点。在指纹图像的一个局部区域内,脊线和谷线的纹理走向平行,同时沿脊谷方向的灰度分布近似于正弦包络。

    脊线频率被定义为两条脊线之间间距的倒数。通过定位该包络中极大、极小值点,就能得到相应的脊线间距和谷线间距,进而计算出脊线频率。

 

    3.3 GABOR滤波器

    GABOR变换由于具有最佳时域和频域连接分辨率的特点,能够同时对图像局部结构的方向和空域频率进行解析,可以很好地兼顾指纹图像的脊线方向和脊线频率信息。

    本系统中采用GABOR滤波器函数的实部作为模板,以与子块纹线方向垂直的方向作为滤波器方向,以脊线频率作为滤波器频率来构建滤波器。滤波过程如下式所示:

 

 

    其中, 为原始图像灰度, GABOR滤波后的图像灰度,W为滤波器模板大小,S为模板系数和, 为子块的域方向值。需要注意的是GABOR滤波器中的 与指纹文理方向垂直。对 的取值需要进行折衷,取值越大,则滤波器的抗噪性能越好,但也容易声成假的脊线。这里取和

3.4指纹匹配

系统中指纹匹配采用基于特征点集合匹配的校准算法,该算法多为简单的比较逻辑和加减运算

 

3、结论

本作品采用ATmega16位单片机作为运动物体的控制中心,mega16具有比51单片机更多、更强的功能。使用mega16单片机、指纹识别技术和IC卡技术的结合使用,大大提高了系统的可靠性和安全性。系统采用的原件基本上价格较实惠,具有较高的实践意义和指导意义。

 

参考资料:

 

1}沈文    AVR单片机C语言开发入门指导。清华大学出版社

2}马潮    ATmega8原理及应用手册。清华大学出版社

3}徐爱钧.单片机高级语言C51Windows环境编程与应用.电子工业出版社

4}电子先锋网-

5}陈振初,蔡宣平. 计算机图形显示原理(软件).国防科技大学出版社

6}王力虎.李红波. PC控制及接口程序设计实例. 科学出版社

7}李朝青.无线发送/接收IC芯片及其数据通信技术选编

8}何立民.单片及应用技术选编

9}朱善君 孙新亚 吉吟东  单片机接口技术与应用

10}涂时亮. 张友德. 单片微机控制技术. 复旦大学出版社

阅读(1717) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~