基于ARM和滑动指纹传感器的采集系统-单片机
1、 前言
指纹因其唯一性,终身不变性等特点,在安全性要求较高的行业,如海关、金融和刑侦领域得到广泛应用。随着人们安全意识和隐私觉悟的提高,手机、笔记本、PDA等日常电子消费品中也逐渐开始使用指纹识别技术。此类电子消费品因为便携、手持等特点,在体积、重量、功耗方面都有很高的要求,而传统的指纹传感器面积较大,不适合此类产品的使用。
随之产生的滑动指纹传感器(sweep fingerprint sensor),因为它更小的体积、更低的价格和极低功耗,已经逐渐开始应用于电子消费领域和其他安全系统中。以ATMEL公司的AT77C104A FingerChip为例[1],与传统的指纹传感器相比,它具有以下优点:(1)体积小,仅为1.5×15mm;(2)强鲁棒性,采集到的相邻的指纹帧没有旋转形变等;(3)低功耗,图像采集时为4.5mA,导航时为1.5mA,睡眠模式小于10uA。 [2]中应用的图像传感器,获取的指纹图像大小为240×240,面积远远大于滑动指纹传感器。然而手指滑过滑动指纹传感器时,采集到的一个指纹帧序列而并非完整的指纹图像。如何将得到的指纹帧序列快速的拼接成一幅完整的指纹图像,达到与传统的面积较大的指纹传感器相同的效果,成为一个急需解决的难题[3]。
为了解决这个难题,本文实现了基于ARM9芯片AT91RM9200[4]和滑动指纹传感器AT77104A FingerChip的指纹采集系统,并在该系统中完成指纹有效拼接。
2、 指纹采集和拼接系统的硬件设计
AT91RM9200是ATMEL推出的ARM9 32位处理器,具有一下优点:运算速度快(在工作频率为180MHz的情况下它的运算速度为200MIPS)、低功耗、可提供片上或片外存储器以及一系列外围控制、通信和数据存储的灵活配置。这些特征使得这款芯片适合嵌入式指纹采集系统的开发。
在硬件核心电路中,使用两片16位的SDRAM来配置成32位宽度的高性能存储器,读取数据时候以四个字节为一个单位,从而加快了数据的读取速度。同时外扩一个8M的DataFlash,用于存放Uboot、Linux文件系统和应用程序。
在本系统中,包括的通信过程为:
(1)主机和ARM板之间的通信包括:首先PC主机在超级终端中使用Xmodem协议发送文件RomBoot.bin到AT91RM9200内置的ROM中,下载完毕后,自动运行;其次分别将RomBoot.bin和U-Boot.bin程序下载存储到DataFlash,复位后自动启动U-Boot;最后通过以太网口将Linux镜像文件和应用程序下载到DataFlash中。再次复位后,开发板进入Linux系统。
(2)AT77C104A和控制芯片之间的通信:通过SPI接口完成。控制芯片通过写寄存器,设置AT77C104A的工作模式;AT77C104A将采集到的数据传递到SDRAM中。
(3)在该嵌入式系统中,拼接采集到的指纹帧序列,通过USB接口导出拼接后的指纹图像。
图1指纹采集和拼接系统框图
3、AT91RM9200与AT77C104B FingerChip连接及通信过程
指纹采集芯片采用ATMEL公司的热敏传感芯片AT77C104A FingerChip,通过滑过传感阵列的指纹脊和谷的温度变化来获取指纹数据。与传统的指纹传感器相比,AT77C104A在体积、功耗、工作频率以及对工作环境的鲁棒性等方面均有优势。该芯片提供了SPI接口,有两种通信总线:
(1)SLOW总线:对应SLOW模式,起控制作用,控制和读写内部寄存器;
(2)FAST总线:对应FAST模式,用于获取象素,使主机获得所有的指纹象素。
在本指纹采集系统中,利用AT91RM9200的SSC接口与AT77C104B FingerChip相连。SSC 包含独立的接收器、发送器及一个时钟分频器。每个发送器及接收器有三个接口:针对数据的TD/RD 信号、针对时钟的TK/RK 信号及针对帧同步的TF/RF 信号。AT91RM9200与AT77C104B FingerChip 通信时,前者处于主机方式,后者处于从机方式,
评论排行