基于 CH587 的指纹库的应用

CH587 指纹应用

前言

指纹识别是目前消费电子与嵌入式设备中应用最成熟、普及度最高的生物身份认证技术。相较于密码、刷卡等传统验证方式,指纹识别具备无介质依赖、安全性高、响应速度快、交互体验自然的优势,现已广泛应用于智能门锁、便携设备、智能家居、工业权限管控等嵌入式场景。

随着低功耗 MCU 与硬件加速技术的迭代,以 CH587 为代表的嵌入式主控芯片,集成了专用指纹图像硬件加速单元与成熟本地化指纹算法库,使开发者无需依赖商用成品指纹模组,可直接适配裸指纹传感器完成图像采集、特征处理、模板管理与本地比对,兼顾识别精度、运行功耗与设备自主性,成为轻量化智能指纹设备的理想开发方案。

一、 指纹识别基础介绍

1.1 指纹识别原理

每个人的指纹在胚胎期就已形成,由遗传因素与环境因素共同决定,具有唯一性与终身不变性。即使是同卵双胞胎,指纹纹路也存在可辨识的差异。这种"人人不同、终身不变"的特性,使指纹成为最理想的生物特征标识之一。

指纹识别在嵌入式系统中的实现,可概括为五大核心步骤:

采集 → 预处理 → 特征提取 → 模板生成 → 比对匹配。

对于上面各个步骤,分别说明一下:

  1. 采集
    此部分由指纹传感器处理:
    由光学/电容裸指纹头子完成指尖纹路信号采集,将物理指纹纹路转换为连续的二维灰度像素数据流,输出原始指纹图像给 MCU 。

  2. 预处理:
    此部分由 MCU 处理(之后步骤都是 MCU 完成):
    针对传感器输出的原始图像存在噪点、纹路模糊、背景冗余、按压形变等问题,芯片需要对原始数据进行图像降噪、纹路增强、二值化转换、有效指纹区域分割与图像矫正,优化原始图像数据质量,剔除无效干扰信息,为特征提取提供标准化的输入。

  3. 特征提取
    对预处理后的纯净指纹图像进行深度解析,剥离像素冗余数据与伪特征干扰,精准抓取指纹唯一的核心标识,主要包括纹路端点、分叉点的坐标位置、纹线走向角度、特征类型等关键细节特征,筛除无效、干扰特征,保留可用于身份区分的有效特征集合。

  4. 模板生成
    将提取到的有效指纹特征点信息进行标准化编码、压缩与结构化封装,舍弃体积庞大的原始指纹图像,生成固定字节大小、适配本地存储的轻量化指纹特征模板。模板仅保留指纹唯一性特征数据,占用存储空间极小,可稳定存入芯片 Flash 区域持久保存。

  5. 比对匹配
    指纹识别阶段,实时采集并生成新的临时指纹特征模板,与本地 Flash 中存储的合法模板进行智能容错匹配。算法自动补偿按压带来的平移、角度旋转偏差,比对两组特征点的重合度并量化输出匹配分数,结合预设识别阈值判定指纹匹配结果,最终完成本地身份认证。

1.2 指纹模组分类

市面上主流的指纹传感器可分为 光学式指纹识别与 电容式指纹识别两大类。

光学指纹传感器:

依靠光学折射成像,技术成熟、成本低廉、环境适应性强,广泛应用于门禁、考勤等传统设备,但成像精度有限、防伪造能力较弱。

典型型号:典型型号有 AS608 系列,不过光学式领域较少以裸 sensor 形态流通,多为"传感器 + 算法芯片"的集成模组;

电容指纹传感器:

利用人体皮肤导电特性,通过电容阵列差值采集指纹纹路,成像精度高、体积小、识别速度快,是当前消费电子与轻量化智能设备的主流方案 。典型型号: FPC1020 。

无论哪种传感器,在裸传感器直连 MCU 的方案中,其识别都需遵照上文介绍的步骤。

目前市面存在大量集成式指纹模组,比如上面提到的 AS608 系列,其内部除了带有指纹传感器、还集成了算法芯片与固化程序,可独立完成指纹全流程运算,直接向主控MCU 输出识别成功或失败的最终结果。

二、 CH587 指纹应用

2.1 芯片基本资料

CH587是集成BLE无线通讯和高速USB及NFC的RISC-V MCU/SoC。片上集成了2Mbps低功耗蓝牙BLE及4Mbps高速2.4G通讯模块、USB高速控制器及480Mbps收发器、USB全速控制器及收发器、Type-C/PD控制器及PHY、NFC近场通信无线接口、段式LCD驱动模块,提供LED点阵屏接口、ARGB单线RGB驱动、2个SPI、4个串口、22路ADC、QSPI、触摸按键检测模块等丰富的外设资源。如下图:

image

更多详细的资料可去官网下载对应资料了解。

2.2 CH587 指纹库特点

针对指纹采集方案,沁恒提供了一个指纹库。这个库只负责算法部分(特征提取、模板匹配、存储管理),与硬件分开设计。好处是:换传感器不用改算法,只需要修改传感器对应的板级驱动即可。

对于做指纹产品的开发者来说,接口设计既照顾了"放手指就注册/识别"的简单场景,也支持更精细的控制(分步注册、运行时调参、查重、1:1 验证、标准格式导入导出),用起来很灵活。

该库的几个典型特点如下:

三种匹配方式各服务不同场景:

接口 匹配方式 典型场景
wchfp_identify 1:N 全库识别 门禁、考勤
wchfp_verify 1:1 指定 ID 验证 身份确认、授权校验
wchfp_compare 模板 vs 模板直接比对 离线比对、导出后外部验证

运行时可调参数丰富:

参数 作用 说明
matchThreshold 匹配阈值 调高更严格(不容易认错人,但可能把本人也拒掉),调低更宽松
enrollCount 注册采集次数 1 次快速注册,或 2 次按压确认,2 次更可靠
minutia_filter 特征点过滤开关 过滤掉质量差的特征点,提升匹配稳定性
minutia_quality 特征点质量门槛 设定一个标准,低于这个标准的特征点不参与匹配
knn_k 匹配算法参数 调整匹配时的参照样本数量,影响精度和速度

存储层抽象:Flash 接口开放,模板管理内置

库不直接操作 Flash,而是要求使用者提供 4 个最基本的 Flash 操作函数:读数据、写数据(要保证写入成功)、标记失效(往数据头部写几个零,让这条记录作废)、擦除扇区。至于模板怎么存放、存到哪个位置、怎么校验数据对不对、新注册时自动分配哪个 ID、删除后的空位怎么让下一次注册复用、注册时怎么跟全库查重——这些管理逻辑全部在库内部完成,使用者不用操心。

2.3 示例说明

官方提供一个基于电容指纹传感器 FPC1020 使用示例,包含完整的指纹采集,录入,对比流程。

示例应用连接方式如下:

image

注意,示例除了传感器的连接引脚,
测试必要的引脚还有调试串口 UART0 :RX=PB4,TX=PB7,115200
还需要模式 / 删库按键:示例为 PB22(按下接地)
指纹控制|RST=PC11(低电平复位,常态高),INT=PC12(高有效)
还有可选的屏幕(非必要):
屏 SPI0(重映射到 PB 口)CS=PB12,SCK=PB13,MOSI=PB14|
屏控制 DC=PC7,RST=PC8,电源/背光=PB6(低电平开)

测试实物图如下:

image

指纹示例工程烧录下载可参考官方 SDK 工程包,也就是官方的 EVT ,里面有一份 CH587 评估版说明书 ,里面包括了工程快速上手的说明 :

image

2.4 测试效果

程序烧录以后,通过串口查看 DEBUG 信息,上电后的信息如下:

image

2.4.1 指纹注册

上电之后我们通过手指按压指纹模块,可以进行指纹录入/注册,效果如下图:

image

不仅如此,如果我们故意去按歪或者按一点点,都会有提示:

image

在实际使用中,我们可以使用提示音或者指示灯来表示是否注册成功。

2.4.2 指纹识别

我们通过短按 PB22 按键,切换至指纹识别模式:

image

其中图中的 score 是阈值,示例默认是 25,我们可以进行配置修改: 范围是 0~100,调高误识更少、但是相对的拒识更多。

如果没有识别成功,会有如下显示:

image

以上演示还是很直观有效的,具体更多的使用说明,可以自行参考例程说明文档 。

三、应用展望

上面我们介绍了 CH587 的指纹库以及应用示例,与市面上常见的 AS608、R307 等集成式指纹模组相比,该方案在成本、自主性与可扩展性上具有显著差异。

集成式模组的优势在于开发简单、上手门槛低,可以快速实现指纹识别功能。但该类方案也存在明显短板:硬件整体成本偏高,指纹算法属于厂商闭源固化,开发者很难修改识别参数,模板格式不对外开放,整体可定制能力受限,不利于做深度的功能迭代与业务适配。

本文介绍的 CH587 主控方案,系统无需外挂专用芯片即可完成从图像预处理、特征提取到模板比对的全流程运算,在降低硬件成本的同时,将图像优化策略、匹配阈值、注册逻辑与模板存储管理等关键环节完全开放给开发者。这种架构不仅赋予了设备更高的自主性与可定制性,也使得固件迭代与功能扩展不再受限于第三方模组的接口定义与供货周期。

随着低功耗 MCU 算力与硬件加速技术的持续演进,"主控即算法平台"的轻量化指纹方案将在智能门锁、便携式身份认证终端、工业权限管控、物联网安全接入等对成本与自主性敏感的嵌入式场景中展现出更强的竞争力。而 CH587 本身兼具 BLE 蓝牙能力,还可进一步拓展指纹本地加密、蓝牙同步、远程状态上报等附加功能,对于希望在产品定义、算法调参与供应链掌控上获得更大自由度的开发者而言,该方案无疑提供了一条值得深入探索的技术路径。

posted @ 2026-09-01 18:06  Ble应用笔记  阅读(6)  评论(0)    收藏  举报