UART Fingerprint Sensor (C)
UART Fingerprint Sensor (C)
用户手册
目 录
产品简介.............................................................................................................................................. 2
特性.............................................................................................................................................. 2
参数.............................................................................................................................................. 2
硬件说明.............................................................................................................................................. 3
尺寸.............................................................................................................................................. 3
接口说明 ...................................................................................................................................... 3
串口通信协议 ...................................................................................................................................... 4
通信方式 ...................................................................................................................................... 4
命令类型 ...................................................................................................................................... 5
通信协议操作流程示例 ............................................................................................................. 13
添加指纹 ............................................................................................................................ 13
删除指定用户 .................................................................................................................... 14
删除全部用户 .................................................................................................................... 14
采集图像并提取特征值上传 ............................................................................................. 15
使用说明............................................................................................................................................ 16
连接 PC 使用 .............................................................................................................................. 16
硬件准备和连接 ................................................................................................................. 16
硬件测试 ............................................................................................................................ 16
连接 XNUCLEO-F103RB 使用 ...................................................................................................... 18
连接树莓派使用 ........................................................................................................................ 18
V1.0
www.waveshare.net
1 / 19
UART Fingerprint Sensor (C)
产 品 简 介
UART Fingerprint Sensor (C)是一款高度集成的一体式电容指纹膜识别模块。将指纹识别主板和电
容式指纹模块传感器集成在一体,极大的缩小了产品体积。圆形设计,支持 360°旋转识别。
采用高性能 Cortex 内核的主控,集成了高安全性商用指纹算法,支持指纹录入,图像采集,特
征值提取,模板生成,模板存储和指纹比对。
特 性
⚫ 使用方便,无需了解指纹算法和内部结构,只需简单的指令就能完成相应操作
⚫ 内置商用算法,支持指纹录入、指纹比对、提取指纹图像和上传指纹特征值等功能,性能
稳定,识别速度快
⚫ 电容式指纹识别,感应灵敏,手指只要轻轻地触碰采集窗就能快速识别
⚫ 硬件集成度高,主控和指纹传感器集成一体,可方便嵌入到各种小体积应用
⚫ 不锈钢窄边圆形结构,指纹传感器接触面积大,支持 360 度旋转识别
⚫ 内置人体感应器件,具有掉电睡眠和触摸唤醒功能,功耗更低
⚫ 板载 UART 接口,方便接入 STM32 和 Raspberry Pi 等硬件平台
参 数
传感器类型
分辨率
图像像素阵列
图像灰度等级
传感器尺寸
指纹容量
比对时间
认假率
拒真率
工作电压
工作电流
睡眠电流
静电测试
通信接口
通信波特率
工作环境
存储环境
使用寿命
V1.0
电容式触摸式传感器
508DPI
192x192
8 级灰度
R15.5mm
500 枚
<500ms (1:N,且 N≤100)
<0.001%
<0.1%
2.7~3.3v
<50mA
<16uA
接触放电 8KV/空气放电 15KV
UART
19200 bps
温度: -20°C~70°C
湿度:40%RH~85%RH(无凝霜)
温度: -40°C~70°C
湿度:<85%RH(无凝霜)
一百万次
www.waveshare.net
2 / 19
UART Fingerprint Sensor (C)
硬 件 说 明
尺 寸
接 口 说 明
注意:实际配送的排线颜色可能会跟下方图片有差异,使用的时候请对照引脚定义连接,不要
单纯依赖线材颜色。
⚫ VIN:电源 3.3V
⚫ GND:地
⚫ RX:串口数据输入(TTL 电平)
⚫
TX:串口数据输出(TTL 电平)
⚫ RST:休眠控制接口:
◼ 高电平:模块供电-启动
◼ 低电平:模块掉电-休眠
⚫ WAKE:唤醒引脚,当 RST 处于低电平
(休眠)时,手指触摸采集器表面会激
活指纹模块,此引脚输出高电平
V1.0
www.waveshare.net
3 / 19
UART Fingerprint Sensor (C)
串 口 通 信 协 议
通 信 方 式
模块作为从设备,由主设备发送相关指令对其进行控制。指令接口:UART 19200bps 8 位数据
为,1 位停止位(无校验)
主设备发送的指令及 DSP 模块的应答按数据长度可分为两类:
1) =8 字节, 数据格式如下:
字节
命令
应答
1
0xF5
0xF5
2
CMD
CMD
3
P1
Q1
4
P2
Q2
5
P3
Q3
6
0
0
7
CHK
CHK
8
0xF5
0xF5
说明:
CMD: 命令/应答类型
P1, P2, P3:命令参数
Q1, Q2, Q3:应答参数
Q3 多用于返回操作的有效性信息,此时可以有如下取值:
#define ACK_SUCCESS 0x00 //操作成功
#define ACK_FAIL 0x01 //操作失败
#define ACK_FULL 0x04 //指纹数据库已满
#define ACK_NOUSER 0x05 //无此用户
#define ACK_USER_OCCUPIED 0x06 //用户已存在
#define ACK_FINGER_OCCUPIED 0x07 //指纹已存在
#define ACK_TIMEOUT 0x08 //采集超时
CHK:校验和,为第 2 字节到第 6 字节的异或值
2) >8 字节,数据由两部分组成:数据头+数据包
数据头格式:
1
0xF5
0xF5
2
CMD
CMD
3
4
5
Hi(Len)
Low(Len) 0
Hi(Len)
Low(Len) Q3
6
0
0
7
CHK
CHK
8
0xF5
0xF5
字节
命令
应答
说明:
CMD,Q3 的定义同上
Len:数据包内有效数据长度,16 位,由两字节组成
Hi(Len):数据包长度高 8 位
Low(Len): 数据包长度低 8 位
CHK: 校验和,为第 2 字节到第 6 字节的异或值
数据包格式:
V1.0
www.waveshare.net
4 / 19
UART Fingerprint Sensor (C)
字节
命令
应答
说明:
1
0xF5
0xF5
Len 即为 Data 的字节数
2…Len+1
Data
Data
Len+2
Len+3
CHK
CHK
0xF5
0xF5
CHK:校验和,为第 2 字节到第 Len+1 字节的异或值
发送完数据后之后紧接着发送数据包。
命 令 类 型
1. 修改模块序列号(命令/应答均为 8 字节)
字节
1
2
3
4
5
命令
0xF5
0x08
应答
0xF5
0x08
新序列号
新序列号
新序列号
(位 23-16)
旧序列号
(位 15-8)
旧序列号
(位 7-0)
旧序列号
(位 23-16)
(位 15-8)
(位 7-0)
6
0
0
7
8
CHK
0xF5
CHK
0xF5
说明:
序列号为 24 位的一个常数,每个 DSP 模块不一样,可以用于区别不同的 DSP 模块
2. 取 DSP 模块内部序列号(命令/应答均为 8 字节)
字节
命令
1
2
0xF5
0x2A
3
0
4
0
5
0
应答
0xF5
0x2A
序列号
(位 23-16)
序列号
(位 15-8)
序列号
(位 7-0)
6
0
0
7
8
CHK
0xF5
CHK
0xF5
3. 使模块进入休眠状态(命令/应答均为 8 字节)
字节
命令
应答
1
0xF5
0xF5
2
0x2C
0x2C
3
0
0
4
0
0
5
0
0
6
0
0
7
CHK
CHK
8
0xF5
0xF5
说明:此状态下,手指触摸触发 WAKE 引脚的唤醒方法无效
4. 设置/读取指纹添加模式(命令/应答均为 8 字节)
指纹添加分两种模式: 允许重复模式/禁止重复模式, 在”禁止重复模式”下, 同一枚手
指只能添加一个用户,若强行进行第二轮添加将返回错误信息。上电后系统处于禁止重复
模式。
字节
1
2
3
4
5
6
7
8
命令
0xF5
0x2D
0
Byte5=0:
0:允许重复
1:禁止重复
Byte5=1:
0
0:设置新的添
加模式
1:读取当前
添加模式
0
CHK
0xF5
应答
0xF5
0x2D
0
当前添加模
ACK_SUCCUSS
式
ACK_FAIL
0
CHK
0xF5
V1.0
www.waveshare.net
5 / 19
UART Fingerprint Sensor (C)
5. 添加指纹(命令/应答均为 8 字节)
为确保有效性,用户需录入 3 次指纹,主机需向 DSP 模块发送 3 次命令
a) 第一次
字
节
命
令
应
答
1
2
3
4
5
6
7
8
0xF5
0x01
用户号
用户号
(高 8 位)
(低 8 位)
用户权限(1/2/3)
0
CHK
0xF5
0xF5
0x01
0
0
ACK_SUCCESS
ACK_FAIL
ACK_FULL
ACK_USER_OCCUPIED
ACK_FINGER_OCCUPIED
ACK_TIMEOUT
0
CHK
0xF5
说明:
用户号的取值范围为 1~0xFFF;
用户号权限取值范围为 1,2,3,其含义由用户自行定义
b) 第二次
字
节
命
令
应
答
1
2
3
4
5
6
7
8
0xF5
0x02
用户号
用户号
(高 8 位)
(低 8 位)
用户权限(1/2/3)
0
CHK
0xF5
0xF5
0x02
0
0
ACK_FAIL
0
CHK
0xF5
ACK_TIMEOUT
ACK_SUCCESS
c) 第三次
字节
1
2
3
4
5
命令
0xF5
0x03
用户号
用户号
(高 8 位)
(低 8 位)
用户权限(1/2/3)
ACK_SUCCESS
6
0
7
8
CHK
0xF5
应答
0xF5
0x03
0
0
ACK_FAIL
0
CHK
0xF5
ACK_TIMEOUT
说明:3 次命令中用户号与用户权限必须是相同的
6. 添加用户并将特征值上传(命令为 8 字节/应答>8 字节)
此命令的流程与”5.添加指纹”命令类似, 为确保有效性, 用户必须录入 3 次指纹,主
机须向 DSP 模块发送 3 次命令。
a) 第一次
与”5.添加指纹”中第一次命令、应答一样
V1.0
www.waveshare.net
6 / 19
UART Fingerprint Sensor (C)
b) 第二次
与”5.添加指纹”中第二次命令、应答一样
c) 第三次
命令数据格式:
字节
命令
1
2
0xF5
0x06
3
0
4
0
应答数据格式:
1)数据头:
字节
1
2
3
4
5
0
5
6
0
7
8
CHK
0xF5
6
0
7
8
CHK
0xF5
应答
0xF5
0x06
Hi(Len)
Low(Len)
ACK_FAIL
ACK_SUCCESS
ACK_TIMEOUT
2)数据包:
字节
应答
1
0xF5
2
0
3
0
4
0
5---Len+1
特征值数据
Len+2
Len+3
CHK
0xF5
说明:
特征值数据长度 Len-3 恒为 193 字节
数据包当应答数据第 5 字节为 ACK_SUCCESS 是返回
7. 删除指定用户(命令/应答均为 8 字节)
字节
1
2
3
4
命令
0xF5
0x04
用户号
用户号
(高 8 位)
(低 8 位)
5
0
应答
0xF5
0x04
0
0
8. 删除所有用户(命令/应答均为 8 字节)
ACK_SUCCESS
ACK_FAIL
字节
1
2
命令
0xF5
0x05
3
0
应答
0xF5
0x05
0
4
0
0
5
0:删除全部用户
1/2/3:删除权限为
1/2/3 的全部用户
ACK_SUCCESS
ACK_FAIL
9. 取用户总数(命令/应答均为 8 字节)
6
0
0
6
0
7
8
CHK
0xF5
CHK
0xF5
7
8
CHK
0xF5
0
CHK
0xF5
字节
1
2
命令
0xF5
0x09
3
0
4
0
5
0:取用户总数
0xFF:取指纹容量
6
0
7
8
CHK
0xF5
应答
0xF5
0x09
用戶数
用户数
/指纹
容量
/指纹
容量
ACK_SUCCESS
ACK_FAIL
0
CHK
0xF5
V1.0
www.waveshare.net
7 / 19
UART Fingerprint Sensor (C)
(高 8
位)
(低 8
位)
0xFF(如果命令为
取容量)
10. 比对 1:1(命令/应答均为 8 字节)
字节
1
2
3
4
命令
0xF5
0x0B
用户号
(高 8 位)
用户号
(低 8 位)
5
0
6
0
7
8
CHK
0xF5
应答
0xF5
0x0B
0
11. 比对 1:N(命令/应答均为 8 字节)
字节
命令
1
2
0xF5
0x0C
3
0
0
4
0
ACK_SUCCESS
ACK_FAIL
0
CHK
0xF5
ACK_TIMEOUT
5
0
用户权限
(1/2/3)
6
0
7
8
CHK
0xF5
0
CHK
0xF5
应答
0xF5
0x0C
用户号
用户号
(高 8 位)
(低 8 位)
ACK_NOUSER
ACK_TIMEOUT
12. 取用户权限(命令/应答均为 8 字节)
字节
1
2
3
4
命令
0xF5
0x0A
用户号
用户号
(高 8 位)
(低 8 位)
5
0
6
0
7
8
CHK
0xF5
用户权限
应答
0xF5
0x0A
0
0
(1/2/3)
0
CHK
0xF5
13. 设置/读取对比等级(命令/应答均为 8 字节)
ACK_NOUSER
字节
1
2
3
4
5
6
7
8
命令
0xF5
0x28
0
应答
0xF5
0x28
0
说明:
Byte5=0:
新比对等级
Byte5=1:
0
0:设置新的
比对等级
1:读取当前
的比对等级
当前的比对
ACK_SUCCUSS
等级
ACK_FAIL
0
CHK
0xF5
0
CHK
0xF5
比对等级为 0-9,取值越大比对越严格,默认值为 5
14. 采集图像并上传(命令为 8 字节/应答>8 字节)
命令数据格式:
字节
命令
1
2
0xF5
0x24
3
0
4
0
5
0
6
0
7
8
CHK
0xF5
应答数据格式:
1)数据头:
V1.0
www.waveshare.net
8 / 19