STM32的条状指纹采集与拼接系统
摘要:针对移动嵌入式应用,设计并实现了一种基于STM32的条状指纹实时采集与拼接系统。选用STM32F103RD作为主控器件,通过SPI接口以DMA方式获取AES1711传感器采集到的条状指纹,并采用快速算法拼接成完整的指纹图像。实验结果表明,本系统具有速度快、鲁棒性好、功耗低、性价比高的特点,可方便地应用在移动嵌入式设备中。
关键词:STM32;指纹采集;指纹拼接;指纹传感器
引言
指纹识别作为生物认证中可靠性较高、方便性较好、性价比较高的一种技术,已经得到了全面的应用。指纹采集是指纹识别的重要组成,其核心硬件就是指纹传感器。随着移动嵌入式设备自身体积越来越小,以及对成本和功耗的更高要求,指纹传感器也向着小型化方向发展。其中条状指纹传感器(也称为刮擦式传感器)具有体积小、价格低、无指纹残留等优点,在移动嵌入式领域得到越来越多的应用。条状指纹传感器是一种窄条形半导体传感器,无法一次性采集到完整的指纹图像,要求连续采集划过传感器表面的手指指纹,并对采集到的窄条状指纹图像序列进行拼接,从而形成完整的指纹图像。
本系统采用STM32F103RD处理器作为主控器件,采用AES1711条状指纹传感器作为采集设备,实现对指纹的实时采集和快速拼接,具有速度快、鲁棒性好、功耗低、性价比高的特点,可方便地应用在移动嵌入式系统中。此外,本系统兼顾考虑后续指纹识别的应用需求,无需增加硬件设备即可实现对采集到的指纹进行特征提取和识别。
1 系统硬件设计
1.1 条状传感器
AES1711是AuthenTec公司推出的第4代低成本、高性能条状指纹传感器,具有功耗低、鲁棒性高、耐用性好、体积小的特点,非常适合对体积要求较高的移动嵌入式应用。AuthenTec专有的TruePrint指纹成像技术可实现活体手指检测,同时可很好地适应干、湿指纹,最大支持50 cm/s的手指移动速率。传感器采用42脚BGA封装,具有大小为6.5 mm×0.41 mm、500 ppi解析度的128×8的像素阵列,传感器体积仅为12 mm×5.2 mm×1.76mm。AES1711在进行图像采集时功耗仅为23 mA,而在以250 ms进行指纹检测时的平均功耗更低至8μA。AES1711与主控数据通信可采用并行或SPI串行方式,方便灵活,可适应多种主控系统。
1.2 主控芯片
本系统采用ST公司STM32F103系列处理器作为主控芯片。STM32F103采用ARM 32位Cortex—M3内核,具有功耗低、体积小、性价比高的特点,最高工作频率为72 MHz,在存储器0等待周期访问时可达1.25 DMIPs/MHz。STM32F103具备12通道DMA控制器,可支持定时器、ADC、DAC、SDIO、I2S总线、SPI、I2C总线和UART的DMA操作。
考虑采用AES1711进行指纹采集得到的指纹图像为128×8像素阵列,限定拼接后的指纹高度最大为288像素,假设手指在采集过程中最大存在64像素的横向位移,则指纹图像缓存一共为288×(128+64)B=54 KB。采用SPI DMA模式进行数据传输时,需要开辟双缓存共128×8×2B=2 KB,因此系统缓存一共为56 KB。系统同时兼顾考虑后续指纹识别的需求,以500枚指纹容量作为设计目标,如模板文件为512 B,则需要250 KB的Flash ROM空间。综合考虑以上需求,选择STM32F103RD作为本系统的主控。STM32F103RD具有64 KB RAM和384 KB的Flash ROM空间,在满足本系统开销的同时,可满足小容量指纹识别系统的需求。系统工作在72 MHz,可满足实时采集和拼接的需求,同时也可满足后续指纹识别的需求。
1.3 系统连接
STM32F103RD和AES1711的连接如图1所示。STM32F103RD通过GPIO口实现对AES1711 的控制,AES1711采用SPI方式和STM32F103RD进行连接通信,使用两组SPI。其中一组为AES1711向STM32F103RD传送数据使用,该组SPI数据量较大,采用AES1711 Master方式,利用主控SPI2接口,用DMA方式进行。通过DMA方式,主控和AES1711之间最高可以实现12 Mbps的传输速率,在进行DMA数据传输时,STM32F103RD同时可进行如拼接等其他进程的处理,大幅度提高效率。另外一组SPI为STM32F103RD向AES1711传送指令使用,因为数据量较小,这里采用普通GPIO口进行模拟。
评论