收稿日期:2009-11-23作者简介:刘慧英(1956 ),女,陕西西安人,教授,主要从事智能控制理论与智能交通系统的研究;李飞(1982 ),男,硕士研究生,研究方向为控制理论与控制工程。
基于T M S320VC5501和DSP /BI OS 的指纹识别系统设计刘慧英,李 飞,宁 飞,傅 磊(西北工业大学自动化学院,陕西西安 710129)摘要:针对目前嵌入式指纹识别系统设计的不足,提出了基于单DSP 处理器结构的指纹识别设计方案。
系统硬件采用TMS320VC5501作为处理核心,C MOS 图像传感器HV7131R 为图像采集器件,片上系统芯片CY8C21534设计的电容性触摸按键提供系统控制输入。
系统软件以嵌入式实时操作系统DSP /B I OS 为开发平台进行实时多任务设计,并对指纹识别算法进行了硬件平台优化和改进。
调试结果表明,该系统运行稳定可靠,匹配精度高,满足设计要求。
关键词:TM S320VC5501;图像采集;DSP/BI OS;指纹识别算法中图分类号:TP39 文献标识码:A 文章编号:1000-8829(2010)07-0028-05D esign of Fi ngerpri nt R ecognition Syste m B ased onT M S 320VC 5501and DSP /BI O SL I U H u i ying ,LI Fe,i N I N G Fe,i FU Lei(Schoo l of A uto m a tion ,N orth w este rn Po lytechn i ca lU n i versity ,X i an 710129,Chi na)Abst ract :A fi n gerpri n t recogn iti o n syste m is pr oposed based on sing le DSP pr ocessor str ucture because of desi g n fla w s of the presen t e m bedded syste m.T M S320VC5501is used as the processor ,and HV7131R C MOS co lor i m age senso r is used as i m age acqu isiti o n ch i p .C ap sense touch keyboard is i n troduced for input contro l usi n g C Y8C21534SoC chip .The real ti m e mu lti task desi g n o f syste m soft w are is based on the e mbedded real ti m e operation syste m DSP /B I O S .The fi n ger pri n t recogniti o n algorithm is opti m ized and i m proved in the hard w are platfor m .The test resu lt sho w s t h at th is syste m r uns stable and the precisi o n o f m atch i n g m eets the re quire m en ts o f syste m .K ey w ords :TM S320VC5501;i m age acquisiti o n;DSP /B I O S ;fi n gerpri n t recogn iti o n algorithm 随着现代社会数字化、信息化和网络化进程的不断加快,人们之间的信息交流愈加频繁,对身份鉴别技术的要求也越来越高。
传统的身份识别(如钥匙、证件和密码等)存在容易丢失、磨损以及遗忘等缺点,因此人们把目光转向生物识别技术。
所谓生物识别技术是指利用人的生理特征或行为特征来进行个人身份的鉴定。
指纹的唯一性和终生不变性,使其成为当前生物识别的主要研究对象[1]。
指纹识别技术具有很高的可行性和实用性,因而成为目前应用最广泛的个人身份认证技术之一。
指纹识别技术的应用系统可以分为两大类,即联机(PC)识别系统和嵌入式识别系统。
嵌入式识别系统结构上相对独立,不需要连接计算机就可以独立完成其设计功能,具有速度快、体积小、接口多等优点,被应用到各种领域。
但是该系统存在两方面的问题:一是缺少操作系统,程序处于!裸跑∀状态,降低了系统运行的可靠性;二是更多地采用!DSP +FPGA ∀的处理器结构,增加了系统功耗与成本,从而限制了其应用的范围。
因此,开发基于操作系统的DSP 指纹识别系统具有很大的实际意义。
1 系统设计方案本系统以T M S320VC5501(以下简称C5501)DSP 为核心处理器,它是T I 公司最新推出的高性能、低功耗16位定点DSP 芯片,器件上集成了多种先进的外设[2]。
电容式触摸键盘和LCD 构成的人机交互模块控制整个系统的运行。
通过C MOS 图像传感器HV7131R 采集指纹图像,再经过DSP 提取特征信息与用户信息一起存放到Flash 存储器中,而SDRAM 则提供程序数据的暂时存放空间。
系统提供的UART 接口可以实现系统与其他设备的双向数据通信。
软件设计以嵌入式实时操作系统DSP /B I O S 为平台,使用其种类丰富的API 函数,采用C 语言和汇编语言混合编程的方式完成程序的编写。
指纹识别算法是对现有的先进算法进行改进,充分利用C55xx 专用汇编指令,使之在该系统平台上达到最优的图像处理效果。
2 硬件平台设计系统硬件平台由以下几个部分组成:核心处理器(C5501)、存储模块(SDRAM 和Flash)、指纹图像采集器、人机交互模块(键盘和LCD )、数据传输接口(UART 接口)和系统电源管理模块。
整个系统硬件结构如图1所示。
图1 硬件平台设计图首先,通过键盘控制发出指纹注册或识别的命令,指纹传感器接到命令后并在有指纹按下的条件下开始采集指纹,然后通过主机接口以D MA 方式将指纹图像暂存到DSP 中,最后DSP 将经过预处理的指纹图像数据存到数据存储器SDRAM 中。
Flash 为操作系统程序、用户程序以及后续的指纹识别算法提供存储空间。
键盘除了用以发出注册或识别命令外,还可以进行系统复位等操作。
外扩的LCD 可以为键盘控制提供文字提示,并显示处理结果,提供良好的人机交互。
2.1 控制电路设计系统按键采用Cypress 公司生产的可编程系统级SoC 芯片C Y8C21534设计的电容性触摸按键。
CY8C21534共有28个管脚,其中24个管脚除了可以配置为数字I/O 或模拟输入端口外,还可以通过其内部模拟总线作为模拟多路输入[3]。
控制按键的软件设计是在PSoC Desi g ner5.0开发环境中进行的,硬件电路如图2所示。
配置16个管脚为触摸感应按键,用作系统控制;配置1个管脚为触摸感应导线,检测指纹采集器上有无手指;参考电压来自模拟调制器(ASE11)。
硬件设计中,反馈电阻R b 选择4.7k 电阻;外部调制电容C mod 选择0.01 F 电容;其他事项参考相关技术手册,这里不在赘述。
控制键盘用I 2C 主机方式向C5501发送命令,DSP 进入软件中断选择执行的任务,LCD 为每一步骤提供文字显示。
2.2 存储电路设计T M S320VC5501的内部仅有32KB DARAM,需要通过外部存储器接口(E M I F )来扩展存储器。
本系统同时扩展了SDRAM 和F lash 。
其中,SDRAM 采用了图2 控制电路原理图H yn i x 公司的HY57V 161610D ,用于用户程序与指纹数据的暂存。
针对图像算法在片内DARAM 上运行效率要远远高于外扩存储器的问题,将指纹采集器输出的图像大小设置为280&280,采集到的图像经过各行抽取变成大小为140&140图像,再把16位数据空间按高低位分开放置图像数据,整个图像数据就不到20KB ,并且指纹图像处理算法的程序也不超过8KB ,整个运行程序不超过30KB 。
图像处理过程中的程序和数据都可以在片内DARAM 上完成,缓解了E M I F 总线接口的压力并提高了系统的数据处理能力。
系统扩展F l a sh 主要有两个作用:一是用以存放程序代码,上电以后,F lash 中的程序代码被装入DSP 内部DARAM 中,系统开始正常工作;另一个作用是存放指纹处理程序处理完指纹后所获得的指纹特征以及一些相关的信息数据等。
本系统采用的Flash 芯片为SST39VF3201,存储容量为2M B 。
C5501仅有20根地址线,因此最多可以扩展到1M B 。
设计中将GPI O 7连接到Flash 的A22管脚,使用GPI O7扩展地址线来访问F lash 空间。
高地址空间存储指纹库,低地址空间存储系统程序,有效地利用了Flash 空间资源。
2.3 采集电路设计系统采用M agnaChip Se m iconductor 公司的HV7131R 彩色C MOS 图像传感器采集指纹图像。
该款芯片具有很强的适应性,支持VGA 模式,有效像素为640&480,可通过编程设定成像窗口和帧传输速率。
芯片集成I 2C 总线接口,10位A /D 输出,但是通常仅用高8位传输像素点灰度值,最大帧速度为30f/s ,最高工作频率为25MH z [4]。
C5501的8位主机接口H PI .HD [7∋0]配置为GPI O ,通过读写H GPI O DAT1寄存器来实现数据传输。
图像采集电路如图3所示。
图3 图像采集电路图图中,HV7131R 外接25MH z 时钟,A /D 转换输出的高8位DATA [9∋2]接H PI .HD [7∋0]作为数据输入,由于A /D 输出是10位,因此将低2位DATA [1∋0]悬空;帧同步信号(VSYNC )和行同步信号(H SYNC )作为信号源分别接到T I M 0和TI M 1管脚;通过C5501片上集成的I 2C 总线可以访问或修改传感器内部寄存器值,设置采集参数。
系统运行过程中,HV7131R 读取指纹数据,LCD 接收写入数据。
所以,LCD 采用并口方式连接,并行接口线的读写时序使用6800模式,同时与指纹采集器复用H PI .HD [7∋0]管脚。
这种连接方式不仅可以节约核心处理器片上管脚资源,而且编程紧凑,易于移植。
3 软件设计软件设计是在嵌入式实时操作系统DSP /B I O S 下采用C 语言与汇编语言混合编程,兼顾二者的优点,使程序既有较好的可读性和可移植性,又具有较高的效率。