指纹是指人类手指上出现的条状纹路,他们的形成依赖于胚胎发育时的环境和遗传。世界上几乎没有两个完全相同的指纹。由于指纹具有稳定性、唯一性以及易于采集的特性,一直以来被认为是最可靠的利用生物特征进行身份鉴定的依据之一。
随着计算机技术的进步,图像处理与模式识别方法的发展,指纹处理技术日臻成熟,经历了人工处理,半自动化处理和自动化处理等三个发展阶段。美国于1963年首先开展关于指纹识别软件的研究,随后日本(1975)也开始这方面的工作,我国开展得较慢(约于1981年开始)。1975年美国推出第一个商用系统Printrak250,而日本的NECAFIS于1982年才投入使用。近年来,国内也相继推出了自己的指纹识别系统。
作为指纹处理的第一步的指纹取像技术也日益成熟,这使采集到的指纹数据更真实,图像更清晰,处理结果也就越加可靠,鉴定结果的可信度也越强。目前有利用光学全反射技术、硅晶体电容传感技术、超声波扫描技术等获得指纹图像的方法。
而且随着现代社会的发展,安全性成为许多系统首要考虑的问题,指纹因其不可复制、不可替代的特性成为鉴定身份的可靠手段。近年来有关指纹自动识别及认证研究已成为模式识别、图像处理及计算机视觉领域的热点,指纹识别已广泛的应用于银行、保险、公安、门禁、考勤等方面。
本文介绍了一种基于MC68HC908JB8的便携式USB指纹采集方案,实验表明,这种方案充分利用了USB支持即插即用,有较强的纠错能力,能总线供电等优点,简化了设计,降低了成本,实现了灵活可靠的指纹图像传输,有很好的应用前景。
USB是Universal Serial Bus的缩写,这是近几年逐步在PC领域广为应用的新型串行接口技术。相对于并口,串口等传统的计算机接口方式,USB有很多明显的优点。它支持即插即用(plug and play),有较强的纠错能力,能总线供电,低成本,具有强大的外设连接能力。因而选用USB接口来传送采集的指纹图像,能更方便灵活地和计算机通信,有着良好的应用前景。
一、设计概述
设计的目的是实现一个使用USB接口与主机通信的高性能指纹采集仪。指纹芯片选用了Veridicom公司的硅晶体电容传感器FPS110,主控芯片选用Motorola公司集成USB模块的单片机MC68HC908JB8。基本工作模式如图1所示,MC68HC908JB8控制FPS110采集指纹,然后通过MC68HC908JB8片上集成的USB模块将数据送给计算机进行存储和后期处理。
主机软件设计主要分为USB驱动和演示界面两个部分:采用Jungo公司的Windriver软件开发WINDOWS平台的USB驱动程序;采用Microsoft公司VC6.0软件开发演示平台和一些简单的指纹处理程序。
二、系统硬件设计
1.主要芯片特性
1) 集成USB模块的指纹采集仪主控芯片MC68HC908JB8
MC68HC908JB8是Motorola公司MC68HC08系列的一款高性价比单片机,芯片有256字节的片内RAM,8K字节片内FLASH,除传统的定时器、键盘中断、串行口、等I/O设备外,其主要特点是集成了通讯速率为1.5MB的低速USB模块。
2) 指纹采集芯片FPS110
FPS110是Veridicom公司的硅晶体电容传感器,该传感器采用先进的半导体CMOS工艺,面积只有邮票般大小,具有高灵敏度、高可靠性、高分辨率(500DPI)、低功耗、低价位等许多优点,特别适用于商业及户外指纹应用系统。
2.指纹采集仪系统硬件设计
指纹采集仪基本原理如图2所示,主要包含电源设计,单片机应用设计,指纹芯片应用设计。
1) 供电设计
MC68HC908JB8和FPS110都可以支持5V供电,而且MC68HC908JB8还可提供USB接口所需的3.3V参考电压,所以整板只采用外接5V电源。设计中为了方便调试,提供了三套可选5V电源输入,分别是USB供电,仿真器接口供电,和单独电源供电。 [page]
2) 时钟设计
MC68HC908JB8和FPS110分别供给时钟,MC68HC908JB8采用6M晶体接OSC1和OSC2间,FPS110采用12M晶体接XTAL1和XTAL2之间。
3) FPS110和MC68HC908JB8接口设计
MC68HC908JB8有五组通用接口PTA,PTB,PTC,PTD,PTE.。设计中选用PTB口和PTC口于FPS110连接,PTB口用于数据通信,PTC口用于控制。具体连接如图3所示
4) USB接口设计
MC68HC908JB8片上集成的是1.5MB的低速USB模块。根据USB协议,需要在D-上加一个1.5k的上拉电阻到3.3伏,连接如图4所示。
三、系统软件设计
系统软件设计分为四个部分,分别是MC68HC908JB8上的USB固件设计,指纹采集程序设计,计算机上的USB驱动设计和演示程序设计。
1.MC68HC908JB8上的USB固件设计
单片机的开发环境选用Metrowerks的CodeWarriorstudio集成开发软件,在线仿真和编程工具选用了P&EMicrocomputerSystems公司的MON08MULTILINK。
MC68HC908JB8片上集成了遵循USB1.1规范的低速USB模块,该模块有三个端点,端点0支持控制收发传输,端点1支持中断数据发送传输,端点2支持中断数据接收传输。对应的有USB控制积存器,USB中断寄存器,USB数据寄存器,USB状态寄存器。为了实现MC68HC908JB8和计算机之间的USB正常通信,必须在MC68HC908JB8中设计USB固件。如图5所示,USB固件主要包含控制传输和USB标准请求命令的处理,端点数据读写处理,其他中断处理。
2.指纹采集程序设计
MC68HC908JB8使用通用接口PTB和PTC与FPS110连接,通过控制FPS110片内的行寄存器和列寄存器就能很方便的完成整幅指纹或部分指纹的采集,指纹采集的基本流程如图6所示。 [page]
3.WINDOWS平台下的USB驱动程序设计
Windriver是美国Jungo公司出品的用于编写硬件驱动程序的一种工具软件,主要用于ISA插卡、PCI插卡和USB的驱动程序开发。使用Windriver开发驱动程序的优点主要在于不需要了解太多的操作系统和驱动程序方面的知识,而且Windriver带有功能强大的向导DriverWizard,能帮助开发者进行硬件诊断和自动生成代码。所以采用Windriver能让电子工程师在短时间内针对自制硬件开发出易用、兼容性好的驱动程序采用Windriver来设计USB驱动程序,如图7所示,实际上只是在用户模式下调用了用了Windriver通用驱动程序提供的API函数,并不用编写WDM驱动程序。
基本调用过程:程序运行时先调用WDU_INI函数初始化各种变量,等待回调函数结果;如果回调成功,则调用WDU_TRANSFER等函数完成收发数据;而程序运行结束时调用WDU_UNINIT释放变量,句柄等获得资源。
4.WINDOWS平台下演示程序设计
计算机上的演示程序主要包含计算机与MC68HC908JB8通信的简单控制,采集到指纹图像的显示,以及指纹图像的一些如细化、二值化等的简单处理。采用的工具是VC6.0,图8是一个演示界面的例子。
四、结束语
本文介绍了一种基于MC68HC908JB8的便携式USB指纹采集方案,实验表明,这种方案充分利用了USB支持即插即用,有较强的纠错能力,能总线供电等优点,简化了设计,降低了成本,实现了灵活可靠的指纹图像传输,有很好的应用前景。
上一篇:基于MSP430F249单片机的USB接口设计
下一篇:CPU卡加密系统与M1加密系统的比较
推荐阅读最新更新时间:2024-03-16 13:58