S3C2410和MBF200在指纹采集系统中的应用
扫描二维码
随时随地手机看文章
1 引言
指纹识别即指通过比较不同指纹的细节特征点来进行鉴别。由于每个人的指纹不同,就是同一人的十指之间,指纹也有明显区别,因此指纹可用于身份鉴定。随着计算机和信息技术的发展,FBI和法国巴黎警察局于六十年代开始研究开发指纹自动识别系统(AFIS)用于刑事案件侦破。目前,世界各地的警察局已经广泛采用了指纹自动识别系统。九十年代,用于个人身份鉴定的自动指纹识别系统得到开发和应用。S3C2410处理器是Samsung公司基于ARM公司的ARM920T处理器核,采用0.18um制造工艺的32位微控制器。该处理器拥有:独立的16KB指令Cache和16KB数据Cache,MMU,支持TFT的LCD控制器,NAND闪存控制器,3路UART,4路DMA,4路带PWM的Timer ,I/O口,RTC,8路10位ADC,Touch Screen接口,IIC-BUS 接口,IIS-BUS 接口,2个USB主机,1个USB设备,SD主机和MMC接口,2路SPI.S3C2410处理器最高可运行在203MHz.指纹传感器MBF200具有体积小、低功耗和低成本等特点,属于电容性传感器,其传感器阵列由二维金属电极组成,所有金属电极充当一个电容板,接触的手指充当另一个电容板,器件表面的钝化层作为两板的绝缘层,指纹纹理的凹凸会在传感器阵列上产生变化的电容。进而引起二维阵列上电压的变化,形成指纹图像。结合两器件上述特点,这里选用S3C2410和MBF200构成指纹采集系统。
2 系统硬件设计
MCU(Micro Control Unit)中文名称为微控制单元,又称单片微型计算机(Single Chip Microcomputer)或者单片机,是指随着大规模集成电路的出现及其发展,将计算机的CPU、RAM、ROM、定时计数器和多种I/O接口集成在一片芯片上,形成芯片级的计算机,为不同的应用场合做不同组合控制。
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 寄存器参数选择
寄存器是中央处理器内的组成部分。寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、数据和位址。在中央处理器的控制部件中,包含的寄存器有指令寄存器(IR)和程序计数器(PC)。在中央处理器的算术及逻辑部件中,包含的寄存器有累加器(ACC)。寄存器通常都用来意指由一个指令之输出或输入可以直接索引到的暂存器群组。更适当的是称他们为"架构寄存器".
(1)门限值THR的选择门限值THR和周围环境的温度、湿度等有关,周围环境不同,门限值也不同。当门限值不合适时,器件在空闲状态会被认为是有手指按下,中断信号为低电平。因此,在采集时必须选择门限值。门限值选择流程如图4所示。
(2)DTR、DCR、PGC寄存器参数选择DTR、DCR、PGC 3个寄存器参数选择直接决定采集图片的质量。DTR寄存器控制电容放电时间,它对图片的背景有很大影响,如果过小,则背景区域较暗,不利于后续处理,经实验验证其值最好不小于0x2e;DCR寄存器控制电容放电电流,它对图片的前景区和背景区都有很大影响,如果过小,则背景区域较暗,不利于后续处理,如果该值过大,则图片很淡,亦不利于后续处理,经实验验证其值最好为0x01;PGC寄存器是可编程增益寄存器,它对图片的前景背景都有很大影响,
4 结束语
随着社会发展,信息安全被提到更高的位置,指纹自动识别系统会有更广阔的应用前景。指纹采集模块对识别工作有很大影响。结合S3C2410与MBF200的特点,设计由S3C2410控制的基于MCU通信方式的指纹采集系统,该指纹采集系统结构简单、操作方便、采集速度快,适合于嵌入式系统应用。