产品选型

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

小编 2024-10-06 产品选型 23 0

指纹识别在嵌入式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系统功能描述

本系统是根据指纹采集,识别模块开发出的指纹识别电子密码锁系统。该系统使用一个搜索手指指纹模块,一旦搜索到手指,立即采集手指指纹图像,并且将所收集的图像以数据形式发送。它利用人类指纹各向异性和不变性,为用户提供加密。只需把你的手指平放在指纹采集仪的采集窗口上完成指纹采集,操作十分方便。其主要功能是通过液晶显示屏显示出了各个过程和指纹对比结果。采集指纹图像之前,指纹模块必须检测是否在传感器表面上出现手指,所以应该有这种指纹录入的功能。简单的描述本次设计的功能即使用指纹模块检测、录入指纹,将比对的数据显示在液晶屏幕上。 本系统拥有一次最多录入300个指纹的能力。但是由于AS608的处理速度的限制,对于编号靠后的指纹查询需要很长时间,所以对于需要录入大量指纹的识别系统,应选用处理速度更快的指纹模块。

该系统的主要功能有以下几个方面:

1.录入指纹:系统预先要有录入指纹的功能,即将个人的指纹通过指纹采集器采集用户指纹的特征信息。

2.合成指纹模板并存储:通过光电转换后,将指纹特征值和对应的 ID 号存储到存储器中。只要有上传指纹的命令,模块可以立即将数据传送到指定位置。

3.搜索指纹库比对指纹:当有指纹录入时,模块会响应搜索指纹库比对指纹,同时液晶显示比对结果,发光二极管亮。

2系统总体框架

系统的总体框架是指根据设计任务要求,对系统所需元件、设备参数进行必要的计算,通过认真研究、分析、比较选定设备型号,再将设备、元件通过可靠的接口电路联系起来构成一个完整的系统。在系统的整体方案确定之前,先要明确设计要求,然后对系统硬件、软件进行设计,其中包括绘制原理框图、电路图,对原理进行必要说明,综合考虑系统的性能和稳定性要求,以保证所设计的系统达到预期的要求。通过查阅文献资料、综合分析考虑。主控芯片选用了STC89C52单片机。系统总体框图如图所示

该系统以STC89C52作为主控单元,指纹模块通过串口通信与其建立联系,采用串口通信协议进行程序的编写,然后根据指纹模块AS608的数据手册进行指纹录入与识别的程序编写。在指纹的录入选择中,可通过矩阵键盘(逐行扫描法)中设定好的按键进入系统的管理选项,管理选项中包含①添加指纹②清空指纹库③修改管理员密码,同时这也可以通过按键进行选择并确认。LCD12864(带中文字库)与主控单元采用的是并口通信,虽然这也占用I/O口较多,但是处理速度更快,对于液晶的中文字的显示,因为自带中文字库,所以可以直接进行中文数组的编写显示。在一个系统中,掉电数据不丢失是一个非常关键的一环,由于该单片机内部没有掉电存储功能,其ROM和RAM的功能分别是,ROM虽然掉电不丢失数据,但是无法进行写操作;RAM虽然能够进行读写,但是数据掉电丢失。所以鉴于此选用了AT24C02芯片进行E2PROM的扩展,AT24C02是IIC接口,由于该单片机没有专门的IIC接口,所以系统采用了模拟IIC通信,并根据IIC通信协议进行了程序编写,能够对数据进行掉电保存。

下次将继续更新系统硬件设计......

相关问答

指纹 锁就一个 单片机 系统加锁头,成本不到不到一百块,为啥能卖好几千?

这样吧,我给你举个例子假如你多研究,多了解,你买智能锁的时候就知道什么叫FPC、CPU、CNC、IML拉丝,电镀、太空铝、锌合金,触摸感应,虚位密码,指纹或人脸...这样...

bioclock iii网络型 指纹 考勤门禁机如何使用

采用中控科技从美国Intel公司订制的指纹高速算法CPU,速度提高5倍,处理速度达500-3000枚/秒(根据指纹质量的不同,识别时间不同)采用中控2005最新版算...

中控x628 指纹 考勤机的密*忘记了怎么办?- 一起装修网

中控x628指纹考勤机的密*忘记了怎么办?

谁能做一下智能锁介绍?- 一起装修网

一起装修网问答平台为您提供谁能做一下智能锁介绍?的相关答案,并为您推荐了关于谁能做一下智能锁介绍?的相关问题,一起装修网问答平台:装修问题,因我而止。

什么是智能钥匙柜?

[回答]智能光盘柜就是在光盘柜的基础上加加装了单片机控制器,LED灯,通过计算机控制LED灯闪烁定位的光盘管理设备。通过专门的软件展开管理,并与电脑相...

嵌入式技术与应用前景怎么样?

什么是嵌入式技术在了解应用场景之前,先要明确,什么是嵌入式。嵌入式其实就是控制电子,机械等部件完成所需要功能的软硬件系统。它主要包含软件技术开发,...我...

手机的红外遥控有哪些作用,用到的人很多吗?

智能手机的出现,除了数据网络、Wifi、蓝牙之外,诸如NFC等功能也在手机上普及。已逐渐被人淡忘、退出舞台的红外功能又获智能手机厂商的青睐,开始流行起来。那...

变送器与传感器是如何配合在一起工作的?

朋友们好,我是电子及工控技术,我来回答这个问题。变送器和传感器这两种仪器仪表在工业自动化控制领域中使用得非常广泛,我在工作中会经常接触到它们,下面我来...

电子信息工程有什么方向?

电路分析基础、模拟电子技术、高频电子线路、脉冲与数字电路、信号与系统、数字信号处理、微机原理、现代通信原理、单片机及其应用、随机过程分析、数字图像...

iso是什么模块?

ISO国际标准指纹模块,是一款高性价比半导体指纹识别模块,支持ISO19794等多个国际标准。采用32位高速DSP处理器和国际半导体指纹传感器,指纹图像有效面积大,干...

猜你喜欢