引言
生物认证技术信息时代的重要产物之一。体生物特征具有唯一性与稳定性,因此,人们开发了指纹、脸型、语音、虹膜、遗传基因(DNA)结构等多种生物特征识别技术。在各种生物特征中,指纹的特征性能优异,指纹识别技术也正日趋成熟。因此,针对汽车安防领域的市场需求,本文设计了一种基于OMAP架构的嵌入式指纹识别系统。该系统识别率高、处理速度快、可扩展性强,必然有着广阔的应用前景和研究价值。
开放式多媒体应用平台OMAP
TI公司的OMAP(Open Multimedia Applications Platform)平台是基于DSP的开放式多媒体应用平台。它采用双核结构,把高性能低功耗的DSP核与控制性能强的ARM微处理器结合起来,具有集成度高、硬件可靠性和稳定性强、速度快、数据处理能力强、功耗低、开放性好等优点。OMAP平台透过先进的操作系统平台不仅开放了ARM,而且开放了DSP。通过DSP/BIOS桥,DSP的资源就如同ARM的外设一样通过操作系统的API被调用。DSP/BIOS桥在OMAP平台上实现了双核的无缝连接。OMAP平台支持WinCE、EPOC、Nucleus、VxWorks和Linux等多种操作系统,提供了易于使用的开放式编程环境。
OMAP平台采用双核技术使操作系统的效率和多媒体代码的执行更加优化。实时性任务由DSP完成,非实时性任务和系统控制工作由ARM完成,从而使系统的功耗降至最低,成功地解决了性能与功耗的最佳组合问题。
系统硬件设计
基于OMAP架构的嵌入式指纹识别系统(以车载应用为例)主要由OMAP5912嵌入式微处理器、FPS200指纹传感器、人机界面、CAN总线接口、USB通信接口、电源管理等模块组成。
OMAP5912是整个系统的核心。它一方面要控制指纹传感器FPS200进行指纹样本的采集,建立指纹样本库,并对指纹库进行管理和维护;另一方面它还要控制DSP内核处理复杂的指纹识别算法,进行指纹图像的处理、指纹特征的提取和匹配。在系统的操作过程中,建立友好的人机界面特别关键。在触摸屏控制器ADS7846和OMAP5912的控制下,用户可以通过触摸屏以及LCD液晶显示屏方便快捷地进行人机对话,如用户个人身份码(PIN)认证、指纹库管理与维护等。开放式系统必然要求信息资源共享,CAN总线接口能使该系统与汽车上的多个控制器(即电控单元ECU)进行通信。USB通信接口的设计使得嵌入式系统的应用更加灵活、方便,令系统与多种类型的外设进行通信成为可能。功能强大的电源管理芯片TPS65010为系统核心部分提供了所需的1.6V、1.8V、3V、3.3V等工作电压,并合理地进行功耗分配。由于指纹图像数据量大、指纹算法复杂,设计时需要较大的存储空间,因此系统扩展了1个NOR闪存和1个DDR SDRAM。系统可通过JTAG接口进行在线调试。
OMAP5912嵌入式微处理器
OMAP5912微处理器是由192MHz的TMS320C55x DSP内核和192MHz的低功耗、增强型ARM926微处理器组成的双核应用处理器。
流量控制器(Traffic Controller,简称TC)用于控制对外部内存的存取,其最高工作频率为75MHz。TC提供了外部内存快速接口(EMIFF)、外部内存慢接口(EMIFS)和内部存储器接口 (IMIF)。其中,EMIFF可与SDRAM连接,而EMIFS只能与闪存和速度稍慢的ROM连接。OMAP5912内还有192K的内部存储器,由ARM和DSP共享。TC可以看作储存资源的守卫,由它内部的仲裁器来决定哪个核有权利存取些资源,以及是否可以让两个核同时存取这些资源。
OMAP5912中央有一个高性能的9信道系统直接内存存取器(DMA)。这个9信道DMA允许在不同的埠间传送数据,而无需ARM干涉。DMA可作业的端口包括EMIFF、EMIFS、IMIF和周边组件。
FPS200指纹传感器
FPS200 是Veridicom 公司基于标准CMOS工艺的指纹传感器。利用半导体硅电容效应,硅传感器成为电容的一个极板,手指则是另一极板,手指纹线的脊和谷相对于平滑的硅传感器之间的电容差,即可形成8位的指纹灰度图像。FPS200 指纹传感器的工作电压在3.3V至5V之间,低功耗、高效率,可以在较小(1.28cm×1.50cm)的表面上获得与光学技术同样好甚至更好(500DPI的较高分辨率)的图像质量。
在硬件设计方面,特别要注意的是需要在OMAP5912和FPS200之间增加1个74LV245收发器来解决时序冲突问题,这里不再赘述。
人机界面设计
由于触摸屏轻薄、输入方便快捷,本设计采用四线电阻式触摸屏作为人机界面的输入设备。人机界面系统由OMAP5912微处理器、触摸屏控制器、四线电阻式触摸屏以及LCD液晶显示屏4部分组成。触摸屏控制器采用 Burn-Brown公司的ADS7846芯片,它是一种典型的带有连续逼近型寄存器的12位ADC,内部自带2.5V考电压,有一个和微处理器相连的标准SPI据接口。ADS7846根据串行数据输入端 DIN 收到的不同命令字来打开相应的开关通道,并接收返回的模拟电压,通过A/D转换得出对应的数字量,再通过串行数据输出端 DOUT 传回微处理器。
CAN总线接口设计
嵌入式指纹识别系统完成车主身份认证后,需要立即向汽车发动机电子控制系统(EEC)发送点火控制信号,从而启动汽车发动机。因此,本系统设计了CAN总线接口来实现与EEC的通信。CAN总线与微处理器之间的接口电路通常包括CAN控制器和CAN收发器,本设计中采用了Microchip的 MCP2510 CAN协议控制器,以及飞利浦的 PCA82C250 CAN收发器。
USB通信接口设计
为了使嵌入式系统能与多种类型的外设进行通信,设计中扩展了USB通信接口。OMAP5912微处理器内置了对应于USB1.1的USB主控制器,并且该设计支持主从双重USB通信模式,只需要利用一个USB接口适配器就可以方便地进行主从模式转换。需要注意的是当选择Client模式时,需要设置FUNC_MUX_CTRL_D[5:3] = 000。
软件设计流程
OMAP5912的软件架构
OMAP5912的软件结构建立在两个操作系统之上:基于ARM的Linux操作系统以及基于DSP的DSP/BIOS。连接两个操作系统的核心技术是DSP/BIOS桥。DSP/BIOS桥提供了一种使用DSP的无缝接口,允许开发者在GPP(通用处理器)上使用标准应用编程接口访问并控制DSP的运行环境。利用TI公司的CCS(Code Composer Studio)集成开发环境,从开发者的角度来看,OMAP好像仅用GPP处理器就完成了所有处理功能。这样,开发者就不需要为两种处理器分别编程,从而使编程工作大为简化。在OMAP体系结构下,开发者可以像对待单个GPP那样对OMAP的双处理器平台进行编程。
系统软件流程
为了防止有人盗取指纹并利用指纹膜对指纹识别系统进行欺骗性攻击,采取"个人身份码(PIN)+ 指纹识别"的双重认证措施是非常必要的。用户输入PIN信息引导系统找到指纹库中对应的一个模板,即可与采集到的用户指纹进行1对1的"最佳"匹配,这样既能防止欺骗性攻击,又不需要每次都进行1对N的逐次匹配,可以高效率、快速地完成指纹识别过程。
指纹识别过程
1) 图像预处理。图像预处理包括3个步骤,即图像分割、图像增强和二值化。分割器读取并剪切输入的指纹图,在基本不损失有用指纹信息的前提下减少以后各步骤中所要处理的数据量;图像增强用以对分割后的指纹图像进行平滑、锐化、滤波等加工,以提高图像质量;二值化即把8位的灰度指纹图像转化成0和255的二值图像,阈值的选取采用了局部阈值法。
2) 细化处理。为了进一步压缩数据,还需要对二值化图像进行细化处理。细化时应保持纹线的连接性、方向性不变,还应保持纹线的中心基本不变。细化后的纹线会出现搭桥及豁口,因此必须进行细化后的去噪工作。
3) 特征提取。指纹的特征点信息是从细化后的二值化图像中提取的。从细化后的二值化图像中找到分叉点或终结点,然后从这些点开始寻找纹路轨迹。通过这些点,纹路的形状被计算出来。这些形状数据、点的类型以及点的位置就作为该指纹图像的特征点被存储下来。
4) 特征匹配。在提取出指纹特征点后,便会得到一组矢量点。同样,在指纹库中存储的指纹模板也是一组矢量点,要判断两个指纹是否匹配也就转化成判断两组矢量点是否匹配。指纹图像的匹配是根据两幅图像特征点的最大匹配点支持数来确定的,如果最大匹配支持点数大于规定的值,则认为两幅指纹图像匹配。
FPS200的寄存器设置
在初始化过程中,要往指纹传感器FPS200相应的寄存器中写入控制字,设置采集指纹的参数。其中最关键的是DCR、DTR、PGC这3个寄存器的参数设置。本文通过反复试验进行了寄存器的参数最佳设置。
结语
本文基于OMAP架构的嵌入式技术,设计了一个完整的、可独立运行的嵌入式指纹识别系统,该系统已在实验室成功通过测试,并正在申请立项。随着生物认证技术的快速发展,该系统的扩展空间会越来越广阔,系统设计也会越来越完美。车载多媒体网络的发展已经成为一个必然趋势,该系统可进一步开发GPS车载导航系统,OMAP开放式多媒体应用平台也为今后系统的拓展预留了足够的空间。相信该系统一定会有巨大的市场潜力。