0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

润欣科技Fortune 来源:互联网 作者:佚名 2018-03-09 10:08 次阅读

作者:上海润欣科技股份有限公司创研社

前言

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

1.png

如上图所示,这是一个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的数据吞吐量将影响用户体验。UARTI2C等低速接口在吞吐量上无法达到要求,SPI接口简洁而且传输速率完全可以达到要求,是最合适的通信接口

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

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

2.png

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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    5068

    文章

    19008

    浏览量

    302989
  • 指纹识别
    +关注

    关注

    43

    文章

    1741

    浏览量

    102153
收藏 人收藏

    评论

    相关推荐

    基于嵌入式指纹识别系统

    求教基于嵌入式指纹识别系统 要用什么软件写程序?
    发表于 10-27 18:57

    基于ARM的嵌入式指纹识别系统 65页 1.0M

    基于ARM的嵌入式指纹识别系统 65页 1.0M
    发表于 09-27 08:45

    基于ARM的嵌入式指纹识别系统 65页 1.0M

    基于ARM的嵌入式指纹识别系统 65页 1.0M
    发表于 09-29 08:49

    基于单片机系统指纹识别有什么设计要点

    随着指纹识别在智能手机上面的普及,指纹识别技术在越来越多的场合得到应用。除了手机应用之外,在移动支付、门禁系统、智能家庭等嵌入式场景
    发表于 03-11 08:07

    怎样去设计一种基于嵌入式架构的指纹识别系统

    基于嵌入式架构的指纹识别系统是由哪些部分组成的?怎样去设计一种基于嵌入式架构的指纹识别系统呢?
    发表于 11-11 06:03

    嵌入式数据库在指纹识别系统的应用

    指纹识别技术近年来逐渐成熟,在门禁、安防和金融等方面得到了越来越广泛的应用。随着指纹识别嵌入式系统的发展,我们对嵌入式
    发表于 07-08 10:00 11次下载

    指纹识别系统的设计与实现

         本文研究了嵌入式指纹识别系统的设计方法与实现技术。通过构造以ADI ADSP-BF533 DSP 为平台的硬件环境,实现
    发表于 09-04 09:56 36次下载

    基于OMAP架构的嵌入式指纹识别系统设计与应用

    文介绍了基于开放多媒体应用平台(OMAP)架构的嵌入式指纹识别系统的设计方案及其在汽车安防领域的应用,具体说明了嵌入式指纹识别系统的硬件设
    发表于 05-29 14:40 1184次阅读

    基于stm32的指纹识别系统设计与实现_杨磊

    基于stm32的指纹识别系统设计与实现嵌入式指纹识别系统,32位单片机,功能强大。
    发表于 03-22 15:27 29次下载

    关于ARM的嵌入式指纹识别系统

    用性提出了更高的要求,指纹识别技术正向着小型化和嵌入式的方向发展。在微电子领域,以 ARM、DSP、FPGA 为代表的嵌入式微处理器的性能飞速提高,为构建嵌入式
    发表于 09-01 17:33 8次下载
    关于ARM的<b class='flag-5'>嵌入式</b><b class='flag-5'>指纹识别系统</b>

    嵌入式指纹识别系统的设计

    的模式识别系统,包括指纹图像获取、处理、特征提取和比对等模块。)设计方案,同时对该指纹识别系统的硬件架构进行了说明。该方案具有结构简单、可扩展性和移植性强等诸多优点。 图 1 所示是本嵌入式
    发表于 10-17 16:19 10次下载
    <b class='flag-5'>嵌入式</b><b class='flag-5'>指纹识别系统</b>的设计

    基于单片机系统指纹识别方案和设计要点介绍

    随着指纹识别在智能手机上面的普及,指纹识别技术在越来越多的场合得到应用。除了手机应用之外,在移动支付、门禁系统、智能家庭等嵌入式场景
    发表于 01-08 10:40 1971次阅读
    基于单片机<b class='flag-5'>系统</b>的<b class='flag-5'>指纹识别</b>方案和设计<b class='flag-5'>要点</b>介绍

    有单片机就能做的指纹识别系统

    随着指纹识别在智能手机上面的普及,指纹识别技术在越来越多的场合得到应用。除了手机应用之外,在移动支付、门禁系统、智能家庭等嵌入式场景
    的头像 发表于 03-12 16:18 1.3w次阅读

    指纹识别在嵌入式IoT系统的应用

    随着指纹识别在智能手机上面的普及,指纹识别技术在越来越多的场合得到应用。除了手机应用之外,在移动支付、门禁系统、智能家庭等嵌入式场景
    发表于 10-25 17:30 952次阅读

    基于DSP的嵌入式指纹识别系统

    电子发烧友网站提供《基于DSP的嵌入式指纹识别系统.pdf》资料免费下载
    发表于 10-12 10:10 0次下载
    基于DSP的<b class='flag-5'>嵌入式</b><b class='flag-5'>指纹识别系统</b>