技术文档

基于单片机指纹识别 指纹识别在嵌入式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,方华2

(1.广西科技大学 电气与信息工程学院,广西 柳州 545006;2.广西科技大学 工程训练中心,广西 柳州 545006)

为提高实验室管理效能,加强高校实验室安全,设计了一种以STM32微处理器、STC89C52单片机为核心的可视化指纹识别门禁控制管理系统,其中STC89C52用于FM-180指纹识别模块及门禁的控制,STM32作为管理系统核心模块,两者通过2.4 G无线通信模块实现数据同步,系统可完成指纹的录入、识别、修改、删除、进入人数统计、被拒人数统计、人员进入时间显示等功能。

单片机;指纹识别;无线通信;门禁

TP23文献标识码:ADOI: 10.19358/j.issn.16747720.2016.23.027

刘欢,方华. 基于指纹识别的实验室门禁管理系统设计[J].微型机与应用,2016,35(23):93-95,99.

0引言

在互联网时代的今天,每个人都有大量的安全认证密码,如银行密码、支付密码、聊天软件密码、开机密码、网站登录密码等,且配备有各种钥匙,如门锁钥匙、车辆钥匙、保险柜钥匙等,这些都是传统的安全系统所采用的密钥认证方式。但是这种传统安全系统的密钥存在易丢失、易遗忘、易被盗用等不安全因素,因此迫切需要一种安全、可靠、方便的认证技术来代替现有的安全认证[1]。

指纹特征是人类终生不变的特征之一,其恰恰具备密钥的3个必要性质:广泛性、唯一性和终生不变性,因此,指纹识别作为一种可靠的生物辨识技术,受到人们青睐和倚重[2]。指纹辨识技术在当今人们的生活和工作中的应用越来越广泛,譬如指纹考勤、指纹银行、指纹商场、指纹接送学生等,此技术正在日益刷新人们的生活方式。在识别技术界悄悄拉开“指纹时代”的巨幕[3]。

高校实验室教学需要更为先进的技术作为支撑,本文针对实验室尤其是高校开放性实验室的管理要求,提出一种基于指纹识别的实验室门禁管理系统,此系统可提高实验室的自主管理程度,方便实验室管理人员有效掌握实验室的使用情况。

1系统设计方案

系统主控单元分为两个部分,STC89C52单片机和STM32微处理器。其中STC89C52单片机主要用于实时控制FM180指纹识别模块,通过编程控制单片机串口与指纹识别模块进行数据通信。FM180指纹识别模块有固定的指令集和数据发送格式,系统程序可以根据指令集和数据发送格式进行编写,进而实现用户指纹录入、识别、修改、删除等功能,同时控制LCD1602液晶显示器和继电器,达到提示用户和实时操纵电子锁开关的功能。STM32微处理器主要用于实现实验室管理,通过2.4 G无线通信模块将同步过来的数据显示在彩屏上,包括室内人数、被拒人数、指纹序号、进入时间等。系统可以保存每个用户最后一次进入的时间,并可以随时方便地在彩屏上进行历史数据查询。其硬件结构图如图1所示。

2硬件设计

2.1STC89C52及其外围电路设计

STC89C52是STC公司生产的一种低功耗、高性能的CMOS 8位微控制器,具有8 KB在系统可编程Flash存储器,使用经典的MCS51内核,其主要特性是自带8 KB程序存储空间和512 B数据存储空间,内带2 KB EEPROM存储空间,可直接使用串口下载。

2.1.1复位电路

本设计采用手动按钮复位,复位电路主要由复位按钮、电阻、电容等组成。当输入连续两个机器周期以上高电平给STC89C52单片机RES引脚时,单片机复位有效。

2.1.2指纹识别模块

FM-180指纹识别模块主要包括指纹采集头和指纹处理电路两部分,指纹采集头使用光学指纹传感器,指纹处理电路由指纹特征提取的高性能DSP处理器和指纹特征存储的Flash等芯片构成。自带DSP处理器的指纹处理模块中集成了固定的指令集和数据传送格式,可以通过处理器的串口与模块进行数据交换,根据用户的命令来完成如指纹的录入、删除、比对等一系列的动作,并将指纹特征值加密后存储于处理模块的Flash中。当用户进行指纹识别时,系统会将采集到的用户的指纹特征值与Flash芯片中存储的指纹特征值进行比较,以确定该用户指纹是否符合要求,实现指纹检测、识别的功能。

STC89C52单片机通过串口与FM-180指纹识别模块进行数据传输,根据指纹识别模块的性能指标,可以通过软件编程将数据通信的波特率设置为9 600 b/s,以实现通信的准确性和可靠性。单片机的RXD(P30)与指纹识别模块的TXD连接,单片机的TXD(P31)与指纹识别模块的RXD连接。

2.1.3按键设计

指纹控制部分包括4个按键,分别为S1、S2、S3、S4,其中S1定义为模式识别转换按键,用于控制系统使其在指纹识别和指纹录入两个模式之间进行切换;S2定义为指纹录入按键,当系统处于指纹录入模式下,按下S2可以进行一次指纹的录入工作;S3定义为指纹清除按键,用以控制对指纹识别模块Flash库中的指纹特征的清除;S4定义为室内一键开门按键,当用户需要出门时,通过此按键可使电子锁门禁打开。

时钟调整部分包括3个按键,分别为S5、S6、S7,其中S5定义为调整选择键,按下此键可以在年、月、日、时、分、秒、星期之间进行切换调整;S6、S7分别定义为数字加1、减1键,通过这两个按键可以将数字快捷地设置为所需时间数据。

2.1.4LCD显示

设计采用LCD1602液晶显示器作为指纹采集、指纹识别等系统当前功能模式的显示提醒工具。通过STC89C52单片机对LCD1602进行控制,在使用相应功能的同时,LCD1602会有相应的语句提示,使系统有更好的可视化效果。单片机通过P0口与LCD1602之间进行数据传输,在LCD1602上显示出相应的字符或数字。

2.1.5电子锁门禁

电子锁门禁电路主要包括电子锁开关电路和用于控制其开关的继电器驱动电路。本设计采用上电开锁形式的12 V电子锁,当电子锁线圈两端电压达到12 V时就会上电开锁,具体接口电路如2所示。其中Q2为PNP型三极管,工作在开关模式下,用于控制继电器的上电和复位。

2.2STM32及其外围电路设计

STM32系列微处理器是专为高性能、低成本、低功耗的嵌入式应用而设计的以ARM Cortex-M3为内核的控制芯片。按性能可分成两个不同的系列:STM32F103“增强型”和STM32F101“基本型”。增强型系列时钟频率达到72 MHz,是同类产品中性能最高的产品;基本型时钟频率为36 MHz,以16位产品的价格得到比16位产品大幅提升的性能,是16位产品用户的最佳选择[4]。两个系列都内置32 KB~128 KB的闪存,不同的是SRAM的最大容量和外设接口的组合。时钟频率为72 MHz时,STM32功耗为36 mA,是32位市场上功耗最低的产品,即0.5 mA/MHz。本设计采用增强型的STM32F103ZET6微处理器。

2.2.1液晶显示

本设计采用的是3.2英寸的TFT彩色显示屏,分辨率为320×240,16位真彩显示。彩色显视屏上显示出室内人数、被拒人数、指纹序号、进入时间等信息。由于STM32微处理器中集成了FSMC总线机制,可以方便地对液晶显示器进行控制,所以通过软件编程设置FSMC控制方式即可实现目的[5]。

2.2.2用户查询按键

查询用户按键与STM32连接,主要用于查询用户最后一次进入时间、指纹序号、历史数据浏览等相关信息。主要包括3个按键,分别为S1、S2、S3,其中按键S1用于进入查询用户模式,此时按键S2、S3分别用于用户信息查询的上、下切换,能快速浏览到用户信息。

2.3无线通信

NRF24L01是一款单片射频收发器件,工作于2.4 GHz~2.5 GHz ISM频段。内置频率合成器、功率放大器、晶体振荡器、调制器等功能模块,并融合了增强型Shock Burst技术,其中输出功率和通信频道可通过程序进行配置。NRF24L01功耗低,在以-6 dBm的功率发射时,工作电流只有9 mA;接收时,工作电流只有12.3 mA。多种低功率工作模式(掉电模式和空闲模式)使节能设计更方便。

2.4G无线通信模块可采用SPI进行控制,SPI口为同步串行通信接口,最大传输速率为10 Mb/s,传输时先传送低位字节,再传送高位字节,但针对单个字节而言,要先传送高位再传送低位。与SPI相关的指令共有8个,使用时这些控制指令由NRF24L01的MOSI输入,相应的状态和数据信息是从MISO输出给MCU。由于STC89C52单片机内部没有集成SPI总线,所以只能通过普通的I/O口模拟SPI通信方式。此处采用STC89C52的P3口进行模拟,根据图3、图4所示的SPI读写时序图,通过软件编程可以实现SPI的通信协议,达到控制目的。

2.4电源

本设计中需要12 V电压为电子锁供电,使其正常通断,5 V电压为STC89C52单片机及其外围电路供电,3.3 V提供STM32微处理器和2.4 G无线模块的正常工作电压。通过3个不同的稳压芯片可以分别得到这三种电压,为整个系统提供稳定电源。

3软件设计

3.1软件设计思路

根据系统硬件电路,系统的软件设计包括以STC89C52为核心的指纹录入和识别、液晶显示子程序,以STM32为核心的系统管理查询、显示子程序和无线通信程序。系统软件部分采用C语言编程,最终将程序分别下载到STC89C52单片机和STM32微处理器中,实现整个系统的通信和其他功能。

3.2指纹录入及识别

(1)指纹录入

FM180指纹识别模块内部集成了专用的函数指令集和数据发送格式,单片机通过指令集访问指纹识别模块,通过数据交换达到控制模块的目的。具体流程如图5所示。

(2)指纹识别

首先检测是否有指纹出现在光学镜头上面,有指纹出现时,发送搜索用户指令,将指纹与指纹库中的指纹作对比。如果与指纹库中指纹符合则返回1,否则返回0。具体流程如图6所示。

3.32.4 G无线通信模块子程序

在启动数据发送之前,将其模式设定为发送模式。将需要发送的数据转入发射寄存器,等待发送。启动发送命令后,数据开始发送,并等待发送完成的标志,发送完成则结束,否则等待发送完成。具体发送流程如图7所示。

在启动数据接收之后,首先模块查询数据是否有更新,如果有数据更新,则将接收到的数据存入缓冲区,并进一步存入用户指定位置,以方便程序调用。具体接收流程如图8所示。

4结束语

随着社会的进步,需要指纹识别可视化门禁系统这种安全管理设施的场所越来越多。本设计采用STM32微处理器和STC89C52单片机协同工作,构造了功能较为完善的可视化指纹识别门禁管理系统。该系统具有用户信息查询功能,不仅可以用于高校实验室门禁还可以用于其他多种场所,具有广阔的市场前景和实用价值。但是,系统在远程监控方面还有所欠缺,需要进一步研究本系统与网络的通信,以满足不同场所的需求。

参考文献

[1] 王超,魏启明,邓安远.无线指纹识别技术在考试系统的应用研究[J].计算机仿真,2010,27(1): 309-312.

[2] 田捷,陈新建,张阳阳,等.指纹识别技术的新进展[J].自然科学进展,2006,16(4):400-408.

[3] 吴成枫,赵振华.基于指纹识别技术的智能门禁系统研究[J].微型电脑应用,2012,28(6):45-47.

[4] 王明冬,方华,刘成凤,等.基于STM32为平台的食堂自助点菜结账装置设计[J].数字技术与应用,2016(1):166-168.

[5] 汤莉莉,黄伟.基于STM32的FSMC接口驱动TFT彩屏设计[J].现代电子技术,2013,36(20): 139-141.

相关问答

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

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

前辈们!给推荐推荐,新疆技敏健康码 人脸识别 闸机插电联网即...

具包odin后解压。4.关机,然后同时按住下音量下键+HOME键+电源键,等待3秒,出现英文界面。按音量上键,进入界面为绿色机器人,此为刷机模式。...4.关...

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

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

有谁清楚:海南靠谱的电子制造智能管理系统,电子制造智能管...

[回答]我们合作多年了,各方面挺好的,你可以放心啦。具体你可以去官网了解私信你了,you《电子商务管理视角第3版》pdf版一、就业前景学生毕业后,能够从事...

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

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

什么是门磁开关?

门磁开关有多种,如果是发射433MHz高频射频信号的,那单片机是无法识别的,要通过解调,把调制在433MHz高频射频信号上的数据信号解调出来供单片机识别处理。至...

dew什么牌子?

dew深圳市德尔纹科技发展有限公司,是一家专注于“指纹识别”领域的高科技企业,目前专于为指纹锁具、保险箱、指纹门禁等安防产品提供指纹识别模块、系统方案的...

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

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

iso是什么模块?

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

有谁明白:厦门jiminate健康码 人脸识别 闸机厂家推荐,健康码...

[回答]要实现拍手声控不难甚至不用单片机也能实现,但是要想识别声音特别是特征区别不大的拍手声音要比识别人的语音还要难得多,这不是一般单片机能够完成...

猜你喜欢