选择具有最佳性价比的处理器设计指纹识别系统

2010-12-18 11:39:26 来源:《半导体器件应用》2009年03月刊 点击:1214
指纹识别的应用领域和前景
随着安全意识的日益增强,生物识别技术使我们既不用记住复杂的密码,也无需随身携带钥匙、智能卡等“身外之物”,仅通过每个人的生物特征即可进行身份认定。每个人的生物特征都具有与其他人不同的唯一性和在一定时期内不变的稳定性,这使得生物识别技术成为目前公认的最为方便与安全的识别技术,并促使其逐步渗透入汽车、政府、军队、金融、电信、信息、制造,以及教育等多个应用领域。在众多生物识别技术中,指纹识别是目前最为成熟,且应用最为广泛的一种技术。国际生物识别集团(IBG)在一份报告中指出,预计2012年全球生物识别产业将增长至74亿美元,其中指纹识别将占近60%的份额。中国的相关机构也预测,2011年中国指纹识别的市场规模将高达46.51亿元。
指纹识别系统的重点和挑战
指纹识别系统主要涉及指纹图像采集、图像预处理、特征提取,以及特征匹配等过程。其核心在于指纹识别算法以及对相应数据的处理。其中,指纹识别算法的流程主要包括灰度滤波、二值化、二值滤波、细化、细化后的去噪等步骤,最后再进行特征提取和匹配。其难点主要集中在如何对采集后的各种原始噪声图像进行滤波和增强、如何抽取指纹的全局和局部特征,以及如何能在图像不能完全定位和图像可能发生扭曲变形的情况下进行特征匹配,这些都对指纹识别算法提出了严峻的挑战。
由于有关法律认为,指纹图像属于个人隐私,不能直接保存,所以很多公司及研究机构针对指纹信息的采集、提取、分割和匹配,研究出许多数字化的算法。同时,为了获得更好的性能,研究者们还根据不同的应用,采用不同的数学模型,针对算法进行不断的优化和改进,但是这也带来了数据处理的复杂度和计算量的迅速增加。为了能够有效、高速、准确、稳定地实现这些算法,指纹识别系统核心芯片就需要具有更高的数据信号处理能力。
对指纹识别系统来说,除了处理性能之外,还要面对安全性方面的挑战。这里的安全性主要指两个方面:芯片内部算法代码的安全和用户指纹特征码的安全。在指纹识别领域,成熟的硬件平台和激烈的市场竞争使得系统方案提供商都把精力集中于研发、优化指纹识别算法,以提高自己的核心竞争力。因此,在通过这些算法为用户提供更好的指纹识别性能的同时,能否保证其核心算法代码的安全性是系统方案提供商极为关注的问题。而对于用户来说,如果指纹特征码泄露而被利用,则会给自己造成不可预计的损失,因此,用户对指纹信息安全性的担心,也是几年来指纹识别技术推进缓慢的原因之一。
此外,指纹识别系统的功耗直接关系到产品的使用成本和潜在竞争力。尤其对于一些集成进其他便携终端的应用来说,指纹识别系统的功耗和体积将直接影响系统的可用性。成本是决定系统方案是否具有竞争力的又一个重要因素。对于系统供应商来说,其方案的成本不仅仅指芯片本身的价格,同时还应考虑芯片开发工具的成本、人力成本,以及学习成本等。因此,性能、安全、功耗、体积,以及成本成为指纹识别系统方案面临的五大挑战。
传统方案的缺陷
传统指纹识别系统的核心架构主要有MCU、FPGA、DSP+MCU、DSP+FPGA/CPLD(协处理器),以及DSP+ARM几种方式。其中,基于MCU的指纹识别系统虽然成本低、门槛低,而且从理论上讲除了控制功能之外,MCU也可以进行一定的信号处理操作,但采用这种架构需要相当高的设计技巧,并可能需要增加大量价格昂贵的外围器件,另外,MCU主频低、处理能力有限的缺点也无法支持指纹识别应用中越来越复杂的算法。因此,即使在很低端的应用中,这种方案也在逐渐淡出市场。
对于基于FPGA的指纹识别系统架构来说,虽然它在性能上可以实现高速的数字信号处理,但成本和功耗是其最大的问题。高昂的成本和功耗不仅来自FPGA芯片本身,同时,处理大量复杂算法还意味着需要更大的存储空间,对于FPGA芯片来说,存储空间的增加就意味着芯片本身价格的成倍提升。
DSP+MCU的指纹识别系统架构是传统上相对流行的设计方法。这种方案在性能上虽然可以满足一些低端应用的需求,但由于需要DSP和MCU两块芯片,所以成本较高。同时,在这种系统中,DSP和MCU完全独立地执行任务,因此无法共享资源,从而造成处理资源的浪费。此外,由于DSP和MCU基于不同的开发环境,所以工程师必须熟悉DSP和MCU两种芯片及各自的开发工具。而现实中,工程师在技术领域的个人偏好、开发工具的再学习、系统联调的复杂度将是系统供应商面临的艰巨任务。
由于传统上应用于指纹识别系统的DSP的处理能力往往比较低,而且不具备控制能力,因此某些指纹识别系统会选择采用DSP+FPGA/CPLD的方案,将FPGA/CPLD用作协处理器来弥补DSP本身的不足,但这种方案与DSP+MCU一样会给工程师带来系统设计的成本和复杂度的增加。
为了对上述双芯片架构进行改进,以实现更低的系统成本和更小的尺寸,包括IP核供应商、MCU供应商,以及DSP供应商等在内的业界公司逐渐认识到“汇聚式平台”的意义所在,正在试图把DSP功能和MCU功能融为一体,从而为指纹识别系统提供单芯片的解决方案。
基于IP核的融合主要是在传统MCU内核中增加用于DSP应用的算术运算指令集。不过,这种方案增加的DSP处理能力非常有限,在很多应用中还需要外加一个进行数据处理的协处理器引擎。MCU对DSP功能的融合主要是在传统的MCU RISC内核中增加可提供紧耦合指令流的DSP指令。而在DSP厂商方面,则是通过把DSP核和ARM核进行集成,从而实现DSP+ARM的双核、单芯片方案。对于后面两者来说,与双芯片方案相比,这些方案虽然在集成度方面有一定的优势,但是同样面临着资源浪费,以及需要两套开发环境的问题。
另外,传统方案主要通过纯软件的实现方法和增加安全芯片的方法来提供安全性。对于前者,入侵者往往通过简单的软件攻击和硬件攻击(如使用仿真硬件或者代码注入方法),以及内存分析等方式就能使系统不再安全。而对于后者,一方面会增加系统的成本,同时黑客也可以在数据出入安全芯片的过程中或当数据还在安全芯片之外时通过总线监测和软件攻击的方法来窃取核心代码。因此,如何实现一种真正的安全方案成为系统供应商和用户共同关注的焦点。
BF51x处理器的特性
Blackfin BF51x处理器专门针对指纹识别等应用而开发,是具有最佳性价比的汇聚式处理器平台,它基于ADI公司和Intel公司联合开发的微信号体系结构(MSA),通过将一个双MAC(乘法累加)16位DSP引擎的处理能力与一个巧妙、正交的RISC微处理器精简指令集的优势进行结合,从而允许开发人员采用单指令集和单一的编程环境。
包括BF512、BF514、BF516和BF518在内的四款新型16/32bit BF51x处理器都具有高达400MHz(800M MACS)的时钟速率,而且由于MSA架构集MCU功能和DSP功能于一身,并允许在控制和信号处理需求方面进行灵活划分,因此为复杂的指纹识别算法和数学模型提供了充分的性能保证。此外,Blackfin在指令集上为图像处理做了专用扩展,增加了多条像素处理和矢量处理指令,比如SAA(Subtract-Absolute Accumulate),矢量乘加等专用指令,配合Blackfin内核的双MAC单元,可以在一周期内处理多个图像像素的读写,乘法及累计运算,大大提高占指纹处理算法大部分时间的图像预处理时间。而且客户并不需要手工编写大量汇编代码,ADI提供的C编译器可以自动利用这些优化功能。
同时,BF51x处理器还打破了传统上提高性能必须以牺牲功耗为代价的固有模式。借助可编程电压与频率调节、时钟周期分辨率动态时钟门控、支持深度睡眠与休眠模式的多电源域、可实现总线激活能量最小化的高代码密度、以及用于实现最佳性能与电源效率的混合阈值电压晶体管等各种低功耗技术,BF51x处理器在100MHz下的单位功耗性能高达8.5M MACs/mW,动态功耗仅为24mW。从而实现了高性能与低功耗的完美结合。
由于指纹识别过程中的数学运算量较大,因此往往需要较大的存储空间。对于传统指纹识别处理器,工程师经常抱怨内部存储空间太小,而外接存储器则会带来设计复杂度的增加和传输速度的延迟。BF51x处理器通过内置的116kB RAM,以及可选择的4Mbit串行(SPI)闪存很好的解决了这些问题。同时,BF51x还允许工程师通过内置的高级存储控制器实现与多组外部SDRAM、SRAM、Flash或ROM的无缝连接。
对于指纹识别系统中的安全问题,BF51x通过集成ADI专有的Lockbox安全技术,利用软、硬件相结合的方式实现了各种安全保护功能。该技术从来源的验证、内容的完整性、机密性、以及可更新性等多个方面、不同层面为系统中的指纹识别算法代码和用户指纹特征码提供了软硬件结合的真正安全环境。
此外,为更好的支持指纹识别系统应用领域和应用环境的多样性,BF51x处理器还集成了丰富的外设,包括两个双通道同步串行通信端口(SPORT)、一个高速并行外设接口(PPI)、一个I2C兼容2线接口(TWI)、两个PC兼容的UART,以及两个SPI兼容的串行外设接口端口,并内置片上可移动存储接口。这种高集成度不仅拓展了指纹识别系统的应用范围,同时,与分立处理器与器件的组合方案相比,这种集成适当外设的单一汇聚式处理器还能够实现更小的占板空间、更低的功耗,以及更低的BOM成本。
学习曲线和生态系统
除了处理性能、安全性、功耗、体积,以及成本之外,对于系统提供商来说,核心处理器的学习曲线和生态环境也是其选择产品时重点考虑的因素之一,这直接关系到工程师招募的难易程度,以及产品的研发周期和成本等。
对于汇聚式处理器平台BF51x来说,其单核MSA架构意味着从底层的操作系统、设备驱动程序,到上层的协议栈、文件系统,以及用户的应用程序,乃至各种数据处理算法,都运行在同一平台上。在指纹识别系统设计中,与传统的双芯片或双核架构相比,这种单一的软硬件开发平台能够消除系统设计对工程师苛刻的技术要求,以及对两套开发环境的需求。同时,由于所有Blackfin处理器均基于汇聚式的MSA架构,这意味着BF51x和Blackfin处理器系列中的任何一款产品都具有软件源代码和目标代码的兼容性与可复用性。
在开发环境方面,ADI公司不仅能提供高效的编译器,使程序开发人员可用C或C++语言编写信号处理和控制代码,而且还能通过VisualDSP++软件开发环境自动鉴别需要编程人员作进一步优化的部分所在。同时,VisualDSP++开发工具还与Green Hills软件公司的MULTI环境、NI公司的LabVIEW软件,以及MathWorks公司的MATLAB和Simulink软件相兼容。另外,针对中国市场,ADI还可帮助中国区合作伙伴提供包括仿真器、开发板和软件模块在内的全系列Blackfin本地开发工具,从而最大限度的缩短了工程师的学习曲线,能够帮助他们更快的开发、调试基于BF51x处理器的指纹识别设备,并进一步完善了生态系统。
总结
指纹识别应用市场巨大,但是要提供真正有竞争力的指纹识别系统,核心处理器的选择至关重要。BF51x处理器从性能、安全、功耗、体积,以及成本方面解决了指纹识别传统上面临的五大难题。同时,通过宜用的开发工具、完善的生态系统,BF51x处理器还为指纹识别系统设计工程师缩短了学习曲线,加速了产品的上市时间。
本文为哔哥哔特资讯原创文章,未经允许和授权,不得转载,否则将严格追究法律责任;
Big-Bit 商务网

请使用微信扫码登陆

x
凌鸥学园天地 广告