1 引言
指纹识别是一项高新技术,而指纹识别的前期工作就是指纹图像采集。采集的图像质量对指纹识别丁作有重要影响。S3C2410是为手持设备设汁的一款低功耗、高度集成、内含一个ARM920T核的微处理器。该处理器拥有独立的16 KB指令Cache和16 KB数据Cache、MMU、支持TFT的LCD控制器、NAND闪存控制器、4路DMA、4路带PWM的Timer、I/O端口、RTC、Touch Screen接口、2个USB主机接中、1个USB设备接口、SD主机接口和MMC接口、2路SPI端口、最高运行频率为203 MHz。指纹传感器MBF200具有体积小、低功耗和低成本等特点,属于电容性传感器,其传感器阵列由二维金属电极组成,所有金属电极充当一个电容板,接触的手指充当另一个电容板,器件表面的钝化层作为两板的绝缘层,指纹纹理的凹凸会在传感器阵列上产生变化的电容。进而引起二维阵列上电压的变化,形成指纹图像。结合两器件上述特点,这里选用S3C2410和MBF200构成指纹采集系统。
2 系统硬件设计
S3C2410与MBF200通讯支持MCU通讯方式、USB通讯方式和SPI通讯3种数据传输方式。此系统采用MCU和USB通讯方式。由于MCU通讯方式具有操作简单、数据传输速度快等优点,这里讨论基于MCU通讯的指纹采集系统。MBF200与S3C2410通讯的硬件框图与指纹采集系统原理图分别如图1、图2所示。
D[7:0]实现与S3C2410的通讯,索引寄存器对应存储空间的最低位为0,功能寄存器对应最低位为1;当跳针JP1,JP2,JP3跳到右边时为MCU通讯方式;nGCS2与选通信号CSO连接,用于选通MBF200;S3C2410引脚nOE与MBF200的RD引脚连接,产生读信号;S3C2410引脚nWE与MBF200的WR引脚连接,产生写信号;电路中接2个LED,与MBF200引脚P1、P0相连,低电平亮,用于测试硬件电路;JP4连接EINT与MBF200的INTR中断引脚;WAIT引脚用于在指纹采集时查看A/D转换是否完成,防止在A/D转换未完成时读出随机数据,导致数据采集失败;MBF200供电电源选择S3C2410引脚49提供的VDD33 V。
硬件平台搭建好后通过向MBF200的CTRLC写数据验证是否能控制两个LED灯的点亮和熄灭。通过向索引寄存器写MBF200功能寄存器的索引号来锁定该寄存器,当功能寄存器被锁定时,才可以对该寄存器进行读写操作。MBF200进行数据采集必须正确配置几个功能寄存器,它们配合使用才能完成指纹采集工作,下面对MCU工作模式下几个重要寄存器进行说明。
中断控制寄存器ICR主要控制指纹传感器的两个中断源:内部中断与外部中断。其IT[1:0]位与IP[1:0]位需配合使用,通过产生中断唤醒传感器,当IT[1:O]被设置成电平触发时,IP [1:0]位要设置为上升沿或高电平有效;控制寄存器CTRLA写非“0”值开始A/D转换,读该寄存器获取指纹图像数据,当A/D转换正在进行时,不能对该寄存器进行写操作,否则A/D)转换不能继续进行,要等到上一个A/D转换完成才能可读该寄存器,否则会读出错误的数据;控制寄存器CTRLB在初始化时要将AFDEN置位,以使能器件的自动检测功能,AUTOINCEN置位以实现图像采集时自动进行A/D转换。
3 软件接口设计
3.1 主程序设计
软件设计主要实现S3C2410控制MBF200驱动程序的编写。在ADS 1.2开发环境下采用移植性强的C语言编写程序,目标板上电后初始化整个采集系统,包括ARM系统的初始化和MBF200的初始化。
MBF200器件采集图像通过检测中断开始,首先使能中断,中断寄存器清零。本程序采用电平触发方式,在无指纹时引脚INTR是高电平,当有指纹时变为低电平。因此,检测中断信号就是检测引脚INTR的信号。程序向CTRLA寄存器写0x02,采集整个区域的指纹图像,图像数据存储在CTRLA寄存器。注意要等到上一个A/D转换完成才能读该寄存器,否则会读出错误的数据。主程序流程如图3所示。
MBF200的功能寄存器中除SRA、CIDH、CIDL外,在指纹采集前必须对其初始化。指纹采集主程序源代码如下:
3.2 寄存器参数选择
(1)门限值THR的选择门限值THR和周围环境的温度、湿度等有关,周围环境不同,门限值也不同。当门限值不合适时,器件在空闲状态会被认为是有手指按下,中断信号为低电平。因此,在采集时必须选择门限值。门限值选择流程如图4所示。
(2)DTR、DCR、PGC寄存器参数选择DTR、DCR、PGC 3个寄存器参数选择直接决定采集图片的质量。DTR寄存器控制电容放电时间,它对图片的背景有很大影响,如果过小,则背景区域较暗,不利于后续处理,经实验验证其值最好不小于0x2e;DCR寄存器控制电容放电电流,它对图片的前景区和背景区都有很大影响,如果过小,则背景区域较暗,不利于后续处理,如果该值过大,则图片很淡,亦不利于后续处理,经实验验证其值最好为0x01;PGC寄存器是可编程增益寄存器,它对图片的前景背景都有很大影响,如果过小,则前景区域较浅,不利于后续处理,经实验验证其值最好不小于0x0c。图5为凋整好参数后所采集的图片。其中,DTR=0x32,DCR=0x01.PGC=0x0e。
4 结束语
随着社会发展,信息安全被提到更高的位置,指纹自动识别系统会有更广阔的应用前景。指纹采集模块对识别工作有很大影响。结合S3C2410与MBF200的特点,设计由S3C2410控制的基于MCU通信方式的指纹采集系统,该指纹采集系统结构简单、操作方便、采集速度快,适合于嵌入式系统应用。