新闻详情

新闻详情

首页 / 资讯中心 / 详情

从录入到识别:智能门禁里 AS608 指纹模块的完整工作流程

发布时间:2026/11/5 6:47:20来源:尧图网络
从录入到识别:智能门禁里 AS608 指纹模块的完整工作流程
从录入到识别智能门禁里 AS608 指纹模块的完整工作流程本文基于 B11 智能门禁实验整理硬件平台 STM32L431VCT6 Huawei LiteOS指纹模块为正点原子 ATK-AS608AS60x 系列串口速率 57600LPUART1。代码文件Hardware/AS_608/handle.c、Hardware/AS_608/as_608.c。项目背景门禁系统除了按键、红外之外还集成了指纹识别录入把一枚手指登记进指纹库分配一个 ID和识别按下手指从指纹库里找到匹配的 ID成功则开门。这两个动作背后其实是 AS608 模块的一条条串口指令在来回应答。AS608 是串口指令式指纹模块主机发一包 16 进制指令如取图像“生成特征”模块执行后回一包应答应答里带一个确认字00H 表示成功其他值表示各种失败原因。理解了这一点整个指纹流程就变成了一张指令状态图。指令包与应答包指令包EF 01 | 芯片地址(4B) | 包标识 01H | 包长度(2B) | 指令码 | 参数 | 校验和(2B)其中包长度 指令码 1 字节 参数长度 校验和 2 字节。应答包包标识为 07H确认字在数据区第 10 字节代码里 data[9]00H 表示执行成功。工程里组包发送和等应答各封装成一个函数C复制static void SendMessageDate_v2(u8 flag, u8 cmd, u8* data, short datalen); // 组包 uart_write 发送static u8 *JudgeStr(u16 waittime); // 等应答包返回 data[9] 确认字所有指令函数都是发指令 → 等应答 → 取确认字三步例如取图像C复制u8 PS_GetImage(void){u8 ensure;u8 *data;SendMessageDate_v2(0x01, 0x01, NULL, 0); // 指令码 01H录入指纹图像data JudgeStr(2000);ensure data ? data[9] : 0xff; // 0xff 超时return ensure;}3. 录入指纹一个五状态的有限状态机录入函数是 Add_FR(u16 id)handle.c 第 232 行起由按键 Key1 触发。它把两次采集 → 校验一致 → 合并 → 存储拆成了 5 个状态用 processnum 驱动状态 动作 指令 成功后的去向case 0 第 1 次采集取图 → 生成特征到 CharBuffer1 PS_GetImage → PS_GenChar(BufferID1) processnum1case 1 第 2 次采集取图 → 生成特征到 CharBuffer2 PS_GetImage → PS_GenChar(BufferID2) processnum2case 2 校验两次特征是否同一手指 PS_Match 一致 → 3不一致 → 回到 0 重来case 3 合并两个缓冲区的特征生成模板 PS_RegModel processnum4case 4 把模板存到指定 ID PS_StoreChar(BufferID2, id) 返回 0录入成功以第 1 次采集为例对应实验指导书流程图的录入指纹流程左列C复制case 0:i;printf(“请开始录入指纹\r\n”); // 提示按手指ensure PS_GetImage(); // 步骤2发送取图像指令等待应答if (ensure 0x00) // 步骤3读取到图像{ensure PS_GenChar(CharBuffer1); // 步骤4生成特征BufferID1if (ensure 0x00) // 步骤5OK{printf(“指纹正确\r\n”);i 0;processnum 1; // 进入第 2 次采集}elseShowErrMessage(ensure); // 特征生成失败返回重试}elseShowErrMessage(ensure); // 没读到图像返回重试break;两次特征必须分别放进 CharBuffer1 和 CharBuffer2PS_Match 校验通过后 PS_RegModel 才能把两者合并成模板最后存储C复制case 4:ensure PS_StoreChar(CharBuffer2, id); // 存储模板到指纹库 id 号if (ensure 0x00){printf(“录入指纹成功, 指纹号 %d!!!\r\n”, id);PS_ValidTempleteNum(ValidN); // 刷新有效模板数return 0;}break;整个录入循环还有一个保护i 在每次采集时自增i 10约 5 次完整尝试仍没成功就自动退出避免一直卡住。刷指纹识别从手指按下到开门识别侧由 AS608_Handle() 主循环handle.c 第 114 行驱动握手 → 读模板数 → 循环检测手指识别成功返回 0 就开门开门超 5 秒自动关门C复制while (1){if (Finger_press() 0) // 刷指纹成功door_open_close_operation(DOOR_OPEN);cur_time HAL_GetTick(); if (cur_time - open_time 5000) // 开门超过 5 秒 if (as608_get_door_status() DOOR_OPEN) door_open_close_operation(DOOR_CLOSED); LOS_TaskDelay(10);}Finger_press()第 197 行先读触摸感应引脚 PC6对应流程图右列的 PS_StaIO连续 3 次、每次延时 100ms 消抖确认按下后调用 press_FR()C复制u8 press_FR(void) // 刷指纹核心handle.c 第 357 行{SearchResult seach;u8 ensure;ensure PS_GetImage(); // 取图像 if (ensure 0x00) { ensure PS_GenChar(CharBuffer1); // 生成特征 if (ensure 0x00) { ensure PS_HighSpeedSearch(CharBuffer1, 0, 300, seach); // 搜索整个指纹库 if (ensure 0x00) // 搜索成功 { printf(Match ID:%d Match score:%d \r\n, seach.pageID, seach.mathscore); return 0; // 返回 0 → 主循环开门 } } } ShowErrMessage(ensure); return ensure;}PS_HighSpeedSearch 的指令码是 1BH参数与手册的 PS_Search04H完全一致BufferID、StartPage0、PageNum300应答会带回命中的 PageID即指纹 ID和匹配得分。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

【外设】之大彩串口显示屏 2026/11/4 15:56:54

【外设】之大彩串口显示屏

大彩串口屏初步使用 1 .官网下载 STM32 屏幕 GUI 设计资料 http://www.gz-dc.com/category/typeid/4112 找到 STM32 Keil 工程,移植相关代码因项目而异进行移植,由于项目简单,本人只对用到的指令接口进行修改。 比如:注意事项&…

阅读更多 →
无法下载Windows系统iso文件 2026/11/4 22:55:41

无法下载Windows系统iso文件

当我遇到这个问题的时候,我打开了一个网站: 登录 然后我打算下载的时候: 突然那个官方的连接就可以下载了:

阅读更多 →
【清华代码熊】DeepSeek V4.1 Flash 后训练详解 2026/11/4 17:01:23

【清华代码熊】DeepSeek V4.1 Flash 后训练详解

📌 上期解析了 DeepSeek V4.1 Flash 模型架构改进,本期解析 DeepSeek V4.1 Flash 预训练/后训练技术: 🌟 预训练:45T 文本 多模态混合语料、直接训练 sparse attention(取消 DeepSeek V4 的 dense 冷启动&…

阅读更多 →
Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ... 2026/11/4 12:33:12

Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ...

文章主要内容和创新点 主要内容 本文聚焦于多模态大语言模型(MLLM)强化学习(RL)训练中的效率问题,提出了一个名为Shuffle-R1的框架。研究发现,当前RL训练存在两个关键缺陷: 优势值坍缩(Advantage Collapsing):批次中大多数优势值集中在零附近,导致有效梯度信号被淹…

阅读更多 →
PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction 2026/11/5 4:24:57

PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction

一、文章主要内容总结 本文聚焦于利用大型语言模型(LLMs)实现个人身份信息(PII)脱敏的研究,旨在解决传统脱敏方法(如基于规则的系统、领域特定命名实体识别(NER)模型)泛化能力差、跨格式/跨语境适应性弱的问题。 研究通过全面评估多种LLM架构(包括密集型LLM(D-LLM…

阅读更多 →
LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model 2026/11/5 4:24:57

LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model

文章主要内容和创新点 主要内容 本文聚焦于二进制图像-文本相关性评估任务(判断图像与文本“相关”或“不相关”),针对该任务中文本格式多样、相关性定义随场景变化等挑战,提出了基于多模态大语言模型(MLLM)的解决方案LLaVA-RE。 模型设计:LLaVA-RE基于LLaVA 1.5架构,…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉