导言
跟着网络技能和通讯技能的开展,传统的身份认证技能关于信息安全体现得越来越有些无能为力了。因为人的身体特征具有唯一性和稳定性,人们开端把目光转向了生物辨认技能,如指纹、虹膜、DNA、掌形辨认等。在很多的特征辨认中,指纹收集设备因为具有体积小、功耗低、稳定性好、误判概率低一级长处,而遭到人们的喜爱。指纹传感器是指纹收集设备中的中心器材,在此选用富士通公司的MBF200。它是一款先进的固态指纹传感器芯片,具有功用高、功耗低、成本低、接口便利等特色。这使得在嵌入式体系中完结数据的传输愈加便利。S3C2410是三星公司推出的ARM920T核微处理器,首要面向手持设备以及高性价比、低功耗的运用,且在片上集成了丰厚的组件,有利于其扩展。
1 MBF200的结构和特色介绍
MBF200是为嵌入式体系规划的高功用、低功耗的电容指纹传感器。该芯片传感区域为1.28 cm×1.50 Cm,具有256×300传感器阵列和500 dpi的分辨率,集成8位A/D转化器,作业电压为3.3~5 V,且有指纹主动检测功用。供给3种总线接口:8位微处理器总线接口(MCU)、串行外围设备接口(SPI)和集成USB全速接口。鉴于接口简略,完结简略且占用的I/O较少,本文选用SPI接口方法。
MBF200的内部结构如图1所示。其间256×300传感器阵列用于产生感应电压;功用寄存器用于对芯片进行操作操控;操控电路用于传感器与外部接口电路的操控,担任数据的读出与写入;地址索引寄存器与数据寄存器别离用于对功用寄存器的地址挑选及数据的读写;采样坚持及A/D转化电路用于对传感器阵列所产生的电压进行采样。别的,多频振荡电路用于为芯片供给时钟信号。
MBF200共有19个寄存器,对芯片的读/写操作实际上便是对寄存器的操作,所以了解寄存器的功用才干学会芯片的运用。因为本文选用的是串行外围设备接口(SPI)的从操作形式,这儿仅对用到的一些重要寄存器进行阐明。
(1)CTRLA(操控寄存器A)
操控寄存器A的功用阐明如表1所列。
写该寄存器开端图画转化,读该寄存器来获取A/D转化成果。GETSUB、GETIMG和GETROW三位选定了相应的一种图画存取形式,并且初始化了A/D转化器的转化序列。ANISEL位确认了A/D转化的来历。置GETSUB位为1,开端捕获由RAH、RAL、CAL、REH、REL、CEL确认的矩形图形区域。置GETIMG位为1,开端捕获整幅图画而不必考虑队伍寄存器。置GETROW位为1,开端捕获由RAH、RAL确认的行单元数据。向GETSUB、GETIMG和GETROW中的恣意一位写入1个“1”,都将抛弃当时对应形式的图画获取并重新开端该新形式的图画获取,并且这3位每次最多只能有1位被置成1。假如这3位中有多于一位被置成1,那么图画的转化就不会开端。当GETIMG被置成l后,MBF200会完结以下一系列动作:
①行地址被置成O;
②列地址被置成O;
③主动开端图画的行获取;
④第一个像素的A/D转化主动开端。
当向CTRLA中写“O”时,除了会铲除ANSEL之外,并不会使MBF200抛弃当时的图画。读CTRLA的状况能够得到A/D转化的成果。
(2)CTRLB(操控寄存器B)
操控寄存器B的功用阐明如表2所列。
在SPI形式中,AFDEN与ENABLE联合运用,经过产生中止来唤醒微处理器和发动A/D转化使能,这样能够节约电量。操控寄存器CTRLB中的AUTOINCEN位用于设置是否发动主动添加队伍地址寄存器的值。当此位被设置1时,若某一个像素的A/D转化值被读取,则列地址主动添加,一起下一个像素的A/D转化主动开端。一旦某行的最终一个像素的灰度值被读取,则行地址主动添加,一起这行的第一个像素的A/D转化主动开端。
(3)ICR中止操控寄存器
这个寄存器首要操控指纹传感器的2个中止源,中止请求O与手指勘探中止对应,中止请求1与引脚EXTINT的外部中止对应。各位的具体阐明请查阅参考文献。
2 硬件接口规划
2.1 MBF200的SPI接口特性
在SPI从形式中,传感器支撑的数据传输格局为SPImode(O,0)和SPI mode(1,1)。如图2所示,MBF200的时序要求如下:
①在数据传输中,SCS坚持低电平;
②MOSI线上的数据在SCK的上升沿被采样;
③SCK在闲暇状况时,可为高电平,也可为低电平;
④MISO线上的数据在SCK的下降沿产生变化;
⑤最高位先被移出;
⑥指令格局是8位指令码加8位地址码和8位数据。
2.2 S3C2410的SPI接口特色
S3C2410有2个串行外围设备接口(SPI),每个SPI接口都有2个别离用于发送和接纳的8位移位寄存器。在SPI通讯中,数据一起被发送(串行移出)和接纳(串行移入),8位串行数据的传输速率由相关的操控寄存器决议。
SPI的接口特性:与SPI接口协议v2.11兼容;8位用于发送的移位寄存器;8位用于接纳的移位寄存器;8位预分频逻辑;查询、中止和DMA传送形式。
把S3C2410的SPI装备为主设备,完结对MBF200的接口规划,硬件衔接如图3所示。SPIMOSI0作为主设备的输出,SPIMISOO作为主设备的输入,SPICLK0用作SPI通讯的串行时钟。且S3C2410支撑4种不同的传输格局,能够确保主从设备时序的一致性。
S3C2410的SPI接口操作:经过SPI接口,S3C2410能够与MBF、200一起发送和接纳8位数据。串行时钟线与两条数据线同步,用于移位和数据采样。数据传输速率由SPPREn寄存器操控,经过修正预分频值来调整波特率。当GPGO输出为低电平时,向SPDATn寄存器写入字节数据,SPI发送和接纳操作就一起发动。
3 软件规划
软件规划首要完结S3C2410操控MBF200型指纹传感器进行操作,选用移植性强的C言语在ARM的集成开发环境ADS1.2下编写,主程序流程如图4所示。方针板上电后就对整个收集体系进行初始化操作,包含ARM体系的初始化和MBF200的初始化,对它们进行参数装备。初始化完结后就开端检测指纹传感器上是否有手指,假如有就产生中止,在中止服务程序进行指纹图画的收集,并保存起来。
3.1 S3C2410体系的初始化
任何一个体系发动的开端使命都是硬件的初始化,为后边的运用程序的履行预备好一些根本的硬件环境,包含看门狗和中止的设置、CPU的速度和时钟频率的装备、相关存储器的设置,以及与SPI通讯相关的寄存器的设置。部分代码如下:
3.2 MBF200的初始化
MBF200共有19个寄存器,除了SRA、CIDH、CIDL之外,在指纹收集之前有必要对其初始化。
3.3 指纹收集程序规划
指纹收集作业由检测到手指中止开端,向CTRLA寄存器写入0x02开端整个区域的指纹图画数据收集;行捕获时刻和A/D转化时刻完毕后,读取CTRLA寄存器,即当时像素点的8位数字量数值。每次读取当时像素点的数值后主动进行下一像素点的A/D转化,循环读取CTRLA的值到指定的空间就能够取得一枚指纹图画的数据。指纹收集程序流程如图5所示。
因为MBF200与指纹传感器FPS200的结构和收集原理相似,依据FPS200的行捕获时刻和A/D转化时刻的算法,可估算出MBF200的行捕获时刻TROW和A/D转化时刻TA/D。计算方法如下:
其间:TS为传感器时钟周期,DT[6:O]为放电时刻常数。因为2个等待时刻不易过短,所以估算出丁RROW为
结 语
跟着信息安全越来越受注重,指纹主动辨认体系会有更宽广的运用空间。本文所研讨的是指纹辨认体系的最前端——指纹收集模块,结合MBF200本身的特色,提出了与S3C2410间的SPI通讯方法。这种方法结构简略,运用便利,易于嵌入。