向右滑动:上一篇 向左滑动:下一篇 我知道了
广告

详解指纹识别在嵌入式IoT系统中的实现及设计要点

时间:2018-01-05 作者:资深物联网MCU研发工程师 张平 阅读:
在系统实现上面,智能手机本身拥有强大的计算能力和丰富的内存资源,实现指纹识别并不困难,但在嵌入式系统中特别是基于MCU的应用场合,其运算能力、内存资源等都受到限制,本文介绍了一种基于单片机系统的指纹识别方案和设计要点。

随着指纹识别在智能手机上面的普及,指纹识别技术在越来越多的场合中得到应用。除了手机应用之外,在移动支付、门禁系统、智能家庭等嵌入式场景中也逐渐普及开来。在系统实现上面,智能手机本身拥有强大的计算能力和丰富的内存资源,实现指纹识别并不困难,但在嵌入式系统中特别是基于MCU的应用场合,其运算能力、内存资源等都受到限制,本文介绍了一种基于单片机系统的指纹识别方案和设计要点。

003ednc20180105

如上图所示,这是一个WiFi指纹识别前端的系统框图,其应用场景是:手指按压指纹识别模块时,指纹数据被采集并传输到单片机,单片机经过识别算法对指纹数据进行处理后,把处理结果通过WiFi模块无线传输到云端参与身份识别的业务。

在具体实现上面,由于指纹识别算法涉及较多的浮点运算,以及需要暂存指纹点阵的原始数据和中间运算数据,故对于运算能力和存储空间有硬性的要求,在目前主流的单片机架构中Cortex-M4架构集成FPU浮点处理单元,在100MHZ主频下,其浮点数运算能力可以达到要求。指纹识别算法代码编译后占用上百K字节的代码空间,考虑到WiFi网络连接、应用层代码等整体上以1MB左右的Flash代码空间为宜,数据存储的需求以512KB的SRAM空间为宜。系统工作时,在指纹识别过程中需要强大的运算能力,而在没有指纹按压的时候则需要运行在低功耗状态,以适应嵌入式系统对功耗的要求。

在我们的方案中,选择了具有XIP特性的MCU,把代码存放在外置SPI Flash中并可以在系统执行,从而大大扩展了代码存储空间。外置SPI Flash中的代码在执行中由于需要内部Cache缓存,故执行速度略低。对于识别算法的核心代码,则可以在Boot阶段拷贝到SRAM中运行,从而提升运行速度。XIP + SRAM的代码空间分配方案兼顾了性能和成本,是此设计的一个亮点。

指纹识别芯片是系统实现的核心部件,当前比较主流的技术指标,要求指纹识别芯片基于电容技术、支持活体检测(Live Finger Detection)、按压式、采用玻璃盖板,可以实现360度任意方向的触摸,能够支持滑动导航。活体检测技术具有防止假指纹破解的特点,集成心率检测功能,方便用户实时查看心率值。传感器集成化方便整机厂商的设计和整机集成,使得其方便应用于嵌入式单片机系统。

指纹识别芯片和主机的数据接口要求在指纹数据采集的过程中达到5Mbps以上的传输速率,低于5Mbps的数据吞吐量将影响用户体验。UART、 I2C等低速接口在吞吐量上无法达到要求,SPI接口简洁而且传输速率完全可以达到要求,是最合适的通信接口。

指纹识别芯片周期性检测Pixel传感器区域是否有手指触摸,检测到传感器有手指触摸时,会立刻采集活体检测数据,数据采集完成后会通过中断通知Host读取,MCU读取完活体检测数据后芯片进行指纹扫描,指纹扫描开始后就会通过中断通知Host读取数据。指纹数据的扫描和Host数据的读取同步进行。

单片机接收到指纹芯片传输来的Pixel原始数据后通过识别算法运算后通过WiFi模块传输到云端。由于MCU本身资源的限制,WiFi模块本身需要集成WiFi驱动、TCP/IP协议栈,并可以做作为一个相对独立的单元运行应用层代码,这样就极大的减轻了MCU host端的负担. WiFi模块通过串口和MCU进行数据交互。推荐基于Qualcomm QCA4004的WiFi IoT模块。

004ednc20180105

低功耗和抗干扰也是系统设计的一个要点,指纹识别模块在没有手指按压时仍然周期性的进行传感器扫描,虽然功耗低于数据传输期间,但为适应电池供电的场合,希望在没有按键触摸期间可以关掉指纹识别模块的电源,为此如上图所示增加了触摸按键,检测到有手指靠近的时候打开指纹识别芯片的电源,进行指纹扫描采集数据,当长时间没有手指触摸的时候关闭指纹扫描模块的电源,从而达到降低功耗的目的。另外在数据采集期间为了防止触摸按键对指纹识别传感器的影响,在触摸按键后增加一级模拟开关,在采集开始前MCU输出一个控制信号将触摸按键的模拟信号进行隔离。

(原文发表于Aspencore旗下EDN姐妹媒体EETC)

20160630000123

本文为EDN电子技术设计 原创文章,禁止转载。请尊重知识产权,违者本司保留追究责任的权利。
  • 微信扫一扫
    一键转发
  • 最前沿的电子设计资讯
    请关注“电子技术设计微信公众号”
您可能感兴趣的文章
  • 让微控制器进入休眠状态后,到底能省多少能耗? 低功耗模式如何在真正的微控制器(MCU)上实现?这些模式如何影响嵌入式系统?在这篇文章中,将更详细探讨如何让微控制器进入睡眠状态,并看看到底能够节省多少能耗。
  • 打造一座智能工厂需要哪些核心技术和软硬件装备? 智能制造的终极目标是实现能够自我管理的无人工厂,将人工智能、机器学习等功能引入厂房的机器内部,让机器可以自行学习、解除困难。那么,打造一座智能工厂需要哪些核心技术和软硬件装备?
  • 2019年中国最需要的十款创新国产IC 5月10日,一年一度的“松山湖中国IC创新高峰论坛”再次盛大举行。松山湖IC论坛已迈进第九个年头,2019年中国最需要的十款创新国产IC有哪些?
  • 2018 EDN Hot 100产品:处理器及系统 在2018 EDN Hot 100产品中,“处理器及系统”部分包括SoC、MCU、FPGA、微处理器等。
  • 拆解:专为残疾司机设计的半自动驾驶汽车 若让你设计一款让严重残疾人士也能开车的系统,你会怎么做?艾睿电子用半自动驾驶汽车(SAM)项目回答了这个问题。SAM团队的工程师主要依靠现货(OTS)产品,并设计了一些市面上买不到的东西,集成了一个系统,它可以获取传感器输入并将其发送到线控驱动系统。
  • 创新的企业一定要做的事 有人问,为什么你要创立一个公司?对于我来说,我在高中时就决心创立一家自己的公司。当时并没有具体的愿景要成立多大的公司,只是希望有机会控制自己的命运。后来发现很多创新、创业者的想法都是一样的。
相关推荐
    广告
    近期热点
    广告
    广告
    广告
    可能感兴趣的话题
    广告