指纹识别在嵌入式IoT系统中的实现和设计要点
随着指纹识别在智能手机上面的普及,指纹识别技术在越来越多的场合中得到应用。除了手机应用之外,在移动支付、门禁系统、智能家庭等嵌入式场景中也逐渐普及开来。在系统实现上面,智能手机本身拥有强大的计算能力和丰富的内存资源,实现指纹识别并不困难,但在嵌入式系统中特别是基于MCU的应用场合,其运算能力、内存资源等都受到限制,本文介绍了一种基于单片机系统的指纹识别方案和设计要点。
如上图所示,这是一个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模块。
低功耗和抗干扰也是系统设计的一个要点,指纹识别模块在没有手指按压时仍然周期性的进行传感器扫描,虽然功耗低于数据传输期间,但为适应电池供电的场合,希望在没有按键触摸期间可以关掉指纹识别模块的电源,为此如上图所示增加了触摸按键,检测到有手指靠近的时候打开指纹识别芯片的电源,进行指纹扫描采集数据,当长时间没有手指触摸的时候关闭指纹扫描模块的电源,从而达到降低功耗的目的。另外在数据采集期间为了防止触摸按键对指纹识别传感器的影响,在触摸按键后增加一级模拟开关,在采集开始前MCU输出一个控制信号将触摸按键的模拟信号进行隔离。
基于单片机指纹电子密码锁——硬件设计1
给大家个主观认识,先上实物图
在硬件设计中,包括51单片机最小系统,5v电源模块,稳压3.3v模块,液晶显示模块,指纹识别模块,按键电路模块,数据掉电保存模块。
51单片机最小系统就不进行介绍了,自行百度。
5v电源模块
5v电源模块设置了开关和LED指示灯,其实就是一个串联电路。对于5v电源的选取,电脑USB,充电宝,手机适配器等都有5v电源输出,都可以作为电源。在原理图中,也可以并联电容滤波,这样可以避免电压扰动。在这设计中,对于电源的要求并不是很高,所以也可以不用。
稳压3.3v模块
关于AMS1117,是一个贴片稳压3.3v芯片,引脚如下,关于具体芯片数据大家可以去datasheet查找。
液晶显示模块
采用的是带中文字库的LCD12864(如果采用无字库的,需要进行取码操作,下载个取码软件即可,提示下,在protues仿真的12864是不带中文字库的),以下给出与单片机接口图
剩余部分,将继续更新。
相关问答
基于FPGA的 指纹 和基于51 单片机 的区别?基于FPGA(Field-ProgrammableGateArray,现场可编程门阵列)的指纹识别系统和基于51单片机的指纹识别系统有以下区别:1.处理能力:FPGA拥有比51单片机更强...
基于51 单片机 中等难度的毕业设计题目?TOP1.基于51单片机人脸简易识别系统TOP2.基于51单片机智能非特定人声语音识别系统TOP3.基于51单片机指纹考勤系统TOP4.基于51单片机智能小型穿戴手表TOP5...
嵌入式技术与应用前景怎么样?什么是嵌入式技术在了解应用场景之前,先要明确,什么是嵌入式。嵌入式其实就是控制电子,机械等部件完成所需要功能的软硬件系统。它主要包含软件技术开发,...我...
洛阳 指纹锁 的技术特点是什么[回答]洛阳宏泰门业有限公司为您介绍我们的指纹锁的技术特点:1、将指纹作为输入信号,洛阳指纹锁利用指纹的特殊性将安全系数大大提高。2、指纹识别器...
手机的红外遥控有哪些作用,用到的人很多吗?智能手机的出现,除了数据网络、Wifi、蓝牙之外,诸如NFC等功能也在手机上普及。已逐渐被人淡忘、退出舞台的红外功能又获智能手机厂商的青睐,开始流行起来。那...
iso是什么模块?ISO国际标准指纹模块,是一款高性价比半导体指纹识别模块,支持ISO19794等多个国际标准。采用32位高速DSP处理器和国际半导体指纹传感器,指纹图像有效面积大,干...
谁能做一下智能锁介绍?- 一起装修网一起装修网问答平台为您提供谁能做一下智能锁介绍?的相关答案,并为您推荐了关于谁能做一下智能锁介绍?的相关问题,一起装修网问答平台:装修问题,因我而止。
五种身份识别技术?五种主流身份认证技术解析1、用户名/密码方式用户名/密码是最简单也是最常用的身份认证方法,它是基于“whatyouknow”的验证手段。每个用户的密码是由这个...
有谁清楚:海南靠谱的电子制造智能管理系统,电子制造智能管...[回答]我们合作多年了,各方面挺好的,你可以放心啦。具体你可以去官网了解私信你了,you《电子商务管理视角第3版》pdf版一、就业前景学生毕业后,能够从事...
中控(ZKSoftware) K28 考勤机的使用说明_住范儿家装官网商品介绍:K28时尚型指纹考勤机采用混合式引擎识别算法,可储存1600枚指纹,50000条纪录,采用中控指纹仪采集指纹,指纹识别质量明显提升。6种外壳配色...