DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 110|回复: 0
打印 上一主题 下一主题

基于S3C2410和MBF200的指纹采集系统设计

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-17 23:39:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
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通信方式的指纹采集系统,该指纹采集系统结构简单、操作方便、采集速度快,适合于嵌入式系统应用。
                          
                       
                          
                               
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-9-28 19:14 , 耗时 0.095386 秒, 19 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表