Analog Devices

第42卷第3期

PDF下载全文 (1,149K)

利用指纹传感器和 Blackfin处理器改进生物识别设备设计

作者:Jayanti AddepAseem Vasudev

生物识别与安全
当今世界需要有效的安全措施,并能有效地加以实现,必须对每个个体进行识别,以允许或禁止访问安全区域,允许或者禁止他们使用计算机、个人数字助理 (PDA)或者移动电话。生物签名或生物识别技术通过测量某种独特的部分或者行为特征来对人进行识别。几乎所有的生物识别技术都是依靠传感器来实现,利用传感器来获得原始的生物信息数据;对获得的数据进行处理以提取表征生物个性特征的特征组;模式匹配 ——将保存在数据库中的模板与获得的特征组进行比较;做出判断 ——判断用户提出的身份认证申请是否有效。

指纹传感器
指纹是一种独特而固定的特征,已经成为最广泛认可身份的识别方法之一。指纹的图案是由曲线组成,这些曲线又是由脊状凸起区域和沟壑状的低矮区域组成。一些微小的细节,例如局部凸起走向的不连续被用做识别特征。指纹传感器将“读取”手指表面,将获得的模拟信号通过模数转换器(ADC)转换成数字信号。指纹传感器可以大致分为光学传感器、超声波或固态传感器—包括电容性、RF、压电器件。由于指纹最外面干燥的死皮细胞的导电率很低,因此RF传感器是从具有一定湿度和导电性的活细胞与角质化皮肤的过渡边界区域来获取指纹数据。这个活性表皮层构成了指纹图案,它很少受到指纹表面的损伤或磨损影响。

AuthenTec®1 TruePrint®2传感器利用了在硅片内置的导电层和皮肤表面下的导电层之间的微弱的RF信号。射频场测量指纹表皮层的凸起和沟壑区域的电位等位线。通过从未受伤或污染的部分皮肤上获取数据,传感器能产生比光学或电容性技术更准确的、可重复的指纹采样,因为后者只读取皮肤的表面。

热电材料根据温差产生一个电压。当手指接触到传感器表面时,传感器会感应到热量,指纹上的凸起部分由于更接近传感器的表面,因而比远离传感器表面的沟壑部分的温度更高。Atmel®公司的AT77C104B3 FingerChip®传感器使用这种热成像技术来实现指纹采集。它是一种线性传感器,在单个CMOS IC中集成了检测和数据转换电路。通过在感应区域扫描指纹来获得指纹图案。当首次发生接触时就产生指纹图像,但是由于很快产生了热平衡,图像会很快消失,因此需要一种扫描方法来获得稳定的指纹图像。

当手指垂直扫过传感器窗口时,如图 1所示的传感器捕获到指纹图案(见图2)。手指扫描技术确保传感器的表面保持清洁。与触摸传感器不同的是,当手指拿开后不会产生隐约的指纹印。传感器不需要外部的热、光或射频源。由于片上的温度稳定特性,因此可以识别出指纹和传感器之间的温度差异,扩大温度差异可以获得更高的图像对比度。本文将讨论基于这种热传感器的指纹识别系统。

AT77C104B FingerChip IC
图1:AT77C104B FingerChip IC

典型的指纹以及扫过传感器的手指
图2:典型的指纹以及扫过传感器的手指

描述指纹传感器的主要参数包括分辨率、面积、动态范围以及像素数。分辨率是以每英寸的点数(或像素)即dpi表示。更高的分辨率可以获得更佳的凸起和沟壑轮廓,以及更精细的细节,这对于指纹匹配来说很重要,因为绝大多数的算法依赖于这些细节的匹配来确定两个指纹印是否来自同一个手指。更大的感应区域通常可以获得更清晰的指纹,但是用小的传感器扫描手指能更快地获得数据并处理数据,使得小型低成本传感器可以获得与更大、更昂贵的传感器媲美的清晰度。动态范围(或深度)是指对每个像素进行编码所用到的比特数。可以通过分辨率和面积数值来获得某个特定的帧中指纹图像的像素数。

AT77C104B传感器在0.4 mm × 11.6 mm的面积上具有500 dpi的分辨率,每帧共有8 × 232个像素,即1856个像素。每个像素用四比特编码,即16级灰度。图3显示了传感器的功能框图,它包括阵列、模数转换器、片上振荡器、控制和状态寄存器、导航与点击单元,以及针对慢速和快速工作模式的分离接口。慢速模式可以运行在200 kHz,用于编程、控制和配置传感器。快速模式可以运行在16 MHz,用于数据采集。片上的加热器用于增加手指和传感器之间的温差。为限制电流的消耗,采用了一个看门狗定时器来在指定的时长后停止对模块的加热。

指纹传感器功能框图
图3指纹传感器功能框图

工作模式

传感器可以实现六种工作模式:

  • 休眠模式:这是一种具有极低功耗的模式,在该模式下,内部时钟被禁止,并对寄存器进行初始化。
  • 待机模式:这是一种低功耗模式,用于等待主处理器的动作。低速串行接口(SSPI)和控制模块被激活;振荡器保持在工作状态。
  • 点击模式:等待指纹触摸到传感器。SSPI和控制模块保持在工作状态;本地振荡器、点击阵列、点击模块被激活。
  • 导航模式:当手指在传感器上移动时计算x和y轴方向上的运动量。SSPI和控制模块依然处于激活状态;本地振荡器、导航阵列以及导航模块也被激活。
  • 采集模式:指纹采集片段被发送到主机进行指纹的重构和识别。SSPI和控制模块依然处于激活状态;快速串行端口(FSPI)模块和采用阵列被激活。当需要看门狗定时器时,本地振荡器被激活。
  • 测试模式:该模式预留用于工厂测试。

将指纹传感器连接到 Blackfin®处理器的串行外设接口
选择Blackfin ADSP-BF5334低成本高性能处理器用于该应用,是因为它结合了快速信号处理和强大的微控制器功能。其四线全双工同步串行外设接口(SPI)具有两个数据管脚(MOSI和MISO)、一个器件选择(SPISS)管脚以及一个时钟选通管脚(SCK)。如图4所示。SPI支持主控模式、从模式和多主控环境。SPI兼容外设还支持可编程的波特率和时钟相位/极性。

Blackfin处理器的SPI端口功能框图
图4:Blackfin处理器的SPI端口功能框图

该接口实际上就是一个移位寄存器,在它与其它SPI器件之间以SCK速率串行发送或接收数据 —— 一次一个比特。移位寄存器使得串行数据的同步发送和接收成为可能。SCK对两个串行数据管脚上的数据的移位和采样进行同步。

SPI端口可被配置为主模式(产生SCK和SPISS信号)或从模式(在外部接收SCK和从选择信号)。当SPI端口被配置为主模式时,它驱动MOSI管脚上的数据并接收MISO管脚上的数据。它驱动针对SPI从器件的从选择信号,并提供串行时钟(SCK)。通过使用时钟极性(CPOL)和时钟相位(CPHA)位提供的组合,Blackfin处理器的SPI支持四种功能模式。关于Blackfin SPI端口的详细信息,请参考《ADSP-BF533 Blackfin处理器硬件参考手册》。5

硬件接口
图5给出了ADSP-BF533处理器的SPI端口和AT77C104B之间的无缝硬件接口,它不需要任何的外部胶合逻辑。传感器的从选择信号SSSFSS通过可编程标志管脚PF1和PF2进行驱动。其中一个标志管脚应该在另外一个标志管脚被配置为输出之前被配置为输出,并置为高(这些标志管脚不会同时被配置为输出,因为 Blackfin处理器的默认设置为低电平,将使传感器切换到扫描测试模式)。传感器的中断是通过 IRQ管脚产生的,并通过输入 PF4读取。复位管脚RST由PF3驱动。复位信号的有效信号为高电平,因此在该连接线上使用了一个下拉电阻。

ADSP-BF533处理器和AT77104B FingerChip
传感器之间的接口
图5:ADSP-BF533处理器和AT77104B FingerChip 传感器之间的接口

应用软件
应用程序执行例如传感器控制、获取指纹数据,以及使用VisualDSP++®,6开发工具的Image Viewer插件来重新安排数据,以显示接收到的指纹图像等任务。

当传感器检测到一次触摸(即表明手指出现的信号),它将产生一次中断请求。Blackfin处理器接收到这个中断请求,并在时钟的下降沿产生一次中断。“STATUS”寄存器将标示出产生这次中断的事件。该过程被用于导航、读取错误以及其它中断。图6中给出了简化的完整应用程序流程图。

应用程序流程图
图6:应用程序流程图

数据采集
在采集模式下,传感器的加热功能被激活,同样看门狗计时器也激活,确保加热功能处于受控状态。因此,当要求加热时,将对传感器进行n秒钟的加热。然后,设置DMA参数来采集数据。将可变长度的DMA flex描述符被加载到DMA参数寄存器中,寄存器的顺序必须是固定的,但是描述符的长度是完全可编程设定的。利用一个2D阵列来配置DMA参数。1D阵列为单独的描述符。第一个描述符是为空描述符,用于接收开始的五个字节,因为在第一个数据到达之前,传感器必须发送40个空时钟周期,以对芯片的管线进行初始化。因此,在40个时钟周期后将出现第一个同步序列。然后数据在每个时钟周期达到,以便后续的阵列读取。

传感器以“帧”的形式发送数据。每个帧的开始部分为空字段,它包含了同步字。从左上到右下,逐列从上到下读取像素阵列。

数据重新排列
数据必须重新排列,才能对获得的指纹图像进行显示。对重新排列的数据进行保存,通过VisualDSP++ Image Viewer工具浏览指纹图像。图7所示获得的图像和设置。在这个过程中执行了以下功能:

  • 半字节交换:传感器以半字节交换的方式发送数据。将整个帧按奇偶像素进行交换。
  • 4比特到8比特的转换:每个传感器的像素为4比特,但是“Image Viewer”显示的图像最小像素为8比特,因此需要对每个像素增加4比特的0填充位,转换为8比特。
  • 等级调整:接收到的数据中的每个像素都具有一个0-15的亮度等级,而显示的亮度范围为0-255。每个像素的等级转换可以产生较好的显示效果。
  • 阵列顺序变换:传感器的数据是按列进行发送的,而二维的DMA是按行接收数据,因此为了能连续地显示图像帧,必须对接收到的数据进行顺序变换。利用一个三维阵列来获得连续显示的帧。


图7:VisualDSP++的图像获取截屏图

指纹重构与识别
如果以合适的速度在传感器窗口上对指端进行扫描,利用Atmel公司提供的软件,连续帧之间的重叠部分可以实现整个指纹图像的重构。重构后的图像通常为25mm ×14mm,或者500像素×280像素,分辨率提高到8比特。因此每个图像需要140KB的存储空间。利用标准的图像处理方法可以获得更大或更小的图像。在将这些帧组合起来以获得一个完整的指纹图像后,识别算法可以将采样样本与模板进行匹配。

信任与验证
指纹处理有三个主要的功能:登记、查找与验证。登记的过程就是从传感器获得指纹图像,并保存到SRAM中。将获得的图像进行处理并压缩,产生指纹模板。利用各种滤波器对图像进行清理,并转换成算数表示,使其不可能通过盗取一个模板,然后直接重新产生一个指纹图像。

查找—将备选的图像与之前录入的模板进行对照比较。通过一串筛选的过程,算法程序将模板数缩减到一个可以管理的规模。通过筛选的模板与备选的图像进行对比,并提供一个验证分数值。如果分数值超过预设的门槛值,则认为是一个肯定的验证结果。

验证—通过将备选的图像与之前录入的模板进行实时比较来确认用户的身份,这是一个闭环的图案匹配算法。处理的结果返回一个分数值,该值可以表明备选手指图案与模板的相似度,用于产生一个肯定或否定的匹配判决。

结束语
Blackfin处理器和AT77C104B FingerChip传感器组合起来可以提供一种简单而可靠的指纹识别解决方案,实现对建筑内的敏感区域或膝上型电脑中敏感数据的访问控制,从事提高安全性。

进一步阅读

  • ADI website: www.analog.com (Search) Blackfin Processors (Go)
  • ADI website: www.analog.com (Search) VisualDSP++ (Go)
  • ADSP-BF53x/ADSP-BF56x Blackfin Processor Hardware Programming Reference. Analog Devices. 2007.
  • ADSP-BF531/ ADSP-BF532/ADSP-BF533 Blackfin Embedded Processor Data Sheet.
  • AT77C104B Data Sheet. “FingerChip Thermal Fingerprint Sweep Sensor.” Atmel Corporation.
  • “AuthenTec Speeds Fingerprint Matching with Blackfin.” Blackfin Customer Case Studies. Dec 2004.
  • Interfacing Atmel Fingerprint Sensor AT77C104B with Blackfin Processors. Engineer to Engineer Note EE-325. Aug 2007.
  • Kreitzer, Kelvin and Alan Kasten. “New Fingerprint Subsystem Brings Biometrics to the Mass Market.” Embedded Computing Design. 2007.
  • Maltoni, David, Dario Maio, Anil K. Jain, and Salil Prabhakar.Handbook of Fingerprint Recognition. Jun 2003.

参考文献
1www.authentec.com.
2www.zvetcobiometrics.com/Documents/Trueprinttechnology.ppt#303,1. TruePrint Technology The Fundamentals.
3www.atmel.com/dyn/resources/prod_documents/doc5347.pdf.
4ADI website: www.analog.com (Search) ADSP-BF533 (Go)
5www.analog.com/static/imported-files/processor_manuals/892485982bf533_hwr.pdf.
6www.analog.com/zh/embedded-processing-dsp/blackfin/ VDSP-BF-SH-TS/products/product.html.

作者
Jayanti Addepalli (jayanti.addepalli@analog.com)是位于印度班加罗尔的产品开发中心(IPD)应用部门的一位DSP应用工程师。她于2006年6月从印度瓦朗加尔的国家理工学院毕业后加入到ADI公司,她拥有电子和通信工程学士学位,她主要从事涉及Blackfin处理器的应用开发工作。
Aseem Vasudev
Aseem Vasudev (aseem.v@analog.com)于2002年加入ADI,工作于印度班加罗尔市,是一位处理器应用工程师。在加入ADI之前,他是Tata Infotech、Wipro Technologies和Force Computers公司的高级系统设计工程师和VLSI工程师。他于1997年获得电子与电气工程学士学位。
(返回顶部)

 

 

Copyright 1995- Analog Devices, Inc. All rights reserved.