注意:
本手册中所提到的模块内部采用进口高精密元件,在采集指纹时手指只要轻轻地触
碰到采集窗口,不需要用力按压指纹采集窗,模块就能快速的识别出来。
如采用电池供电,建议使用碱性电池。
模块介绍:
“高速度、快识别、高稳定性、全市最便宜”专用于二次开发集成应用的新型指纹开发模块。
UART Fingerprint Reader 模块以进口 ST 公司 STM32F205 高速数字处理器为核心,结合商
用指纹算法(TFS-9),高精度光学传感器(TFS-D400),并具有指纹录入、图像处理、特征
值提取、模板生成、模板储存、指纹比对和搜索等功能的智能型模块;提供 UART 接口和通
讯协议,专业为科研单位、应用集成厂商提供标准二次开发指纹套件,快速、方便集成应用!
【典型应用】
指纹产品开发:开发指纹锁,指纹保险箱,指纹门禁,指纹考勤
指纹集成应用:集成于各类安全产品,如对讲、开关、人员识别、权限管理
【产品特点】
1) 指纹感应灵敏,识别速度快:指纹模块采用高精度光路和成像元件,使用时,只需要手
指轻轻一点,就能快速识别!
2) 稳定第一:模块采用进口 ST 公司 STM32F205 的高级数字处理芯片作处理器,低功耗,快
速稳定,比国产芯片、其它的平台芯片稳定至少 30%。
3) 科学结构:模块采用分体结构,指纹传感器+处理主板+算法平台三大结构,主板稳定,
采用标准 16P 通用接口;传感器可自主选择和更换光学、半导体传感器;采用商用算法,速
度快。
4) 开发方便:串口 UART 操作(直接接任何带串口单片机),操作简单到极点,并配有 PC 机
的演示软件、学习软件,单片机例程及相关的工具。
5) 开放:可以自由输入、输出指纹图片、指纹特征值文件及各种指纹操作,协议更全,开
放更好。
模块参数:
处理器(CPU)
传感器
存储器
抗磨损强度
抗静电指标
指纹容量
认假率
拒真率
电流
输入时间
比对时间
比对方式
安全等级
进口 ST 公司 STM32F205
高清光学(TFS-D400)
片内存储(可扩展存储器)
1 百万次
150KV
1000 枚
<0.001%(安全等级为 5 时)
<0.1% (安全等级为 5 时)
<50ma
<0.5 秒
<0.5 秒
1:1 1:N
1-10 级(可自定义)
输出格式
特征值大小
特征值模板大小
模板规则
通讯接口
通讯波特率
电源接口
电源
主板尺寸
工作温度:
相对湿度:
注:如果将存储芯片改为W25Q32,模块将可扩展存储4000枚指纹。
三种:用户号,图像,特征值
193 字节
512 字节
ISO19794-2
UART 接口
9600-57600bps
串口供电,外接电源
3.3-7.5V
40*58*8mm
-20°C 至 60°C
40%RH-85%RH(无凝露)
/TTL电平
指纹模块的使用方式:
硬件连接:
VCC
GND
TXD(指纹模块串口发送)
RXD(指纹模块串口接收)
BL (指纹头的背光灯,可不接)
RST(指纹模块复位,可不接)
------ 3.3V或5V
------ 地
------ RXD(PC或单片机串口接收)
------ TXD(PC或单片机串口发送)
------ IO口
------ IO口
用户拿到模块后,可先使用测试软件(\演示例程\UART Fingerprint Reader.exe)
对模块进行测试。
硬件连接完成后,先运行 (\演示例程\注册控件.bat) 注册控件,然后打开(\
演示例程\UART Fingerprint Reader.exe)
具体参看(\演示例程\演示软件操作说明(图解))
在对模块有了一定的了解后,可使用下面的开发协议进行二次开发。
注:模块上的mini USB口用于升级固件(并非供电口),正常工作请勿连接该USB口。
指纹模块开发协议
一.通信方式
DSP 模块作为从设备,由主设备发送相关命令对其进行控制。
命令接口: 19200bps
1 起始位 1 停止位 (无校验位)
主设备发送的命令及 DSP 模块的应答按数据长度可分为两类:
1)= 8 字节,数据格式如下:
2
1
字节
命令 0xF5 CMD
应答 0xF5 CMD
3
P1
Q1
4
P2
Q2
5
P3
Q3
6
0
0
7
8
CHK 0xF5
CHK 0xF5
说明:
命令/应答类型
CMD:
P1,P2,P3:命令参数
Q1,Q2,Q3:应答参数,
Q3 多用于返回操作的有效性信息,此时可有如下取值:
0x00
#define ACK_SUCCESS
0x01
#define ACK_FAIL
0x04
#define ACK_FULL
0x05
#define ACK_NOUSER
#define ACK_USER_OPD 0x06
#define ACK_FIN_OPD
0x07
0x08
#define ACK_TIMEOUT
//操作成功
//操作失败
//指纹数据库已满
//无此用户
//用户已存在
//指纹已存在
//采集超时
校验和,为第 2 字节到第 6 字节的异或值
CHK:
2)> 8 字节,数据由两部分组成:数据头+数据包
数据头格式:
1
2
字节
命令 0xF5 CMD Hi(Len) Low( Len)
应答 0xF5 CMD Hi(Len) Low(Len)
3
4
5
0
Q3
6
0
0
7
8
CHK 0xF5
CHK 0xF5
说明:
数据包内有效数据长度,16 位,由两字节组成
CMD,Q3 的定义同上
Len:
Hi(Len): 数据包长度高 8 位
Low(Len): 数据包长度低 8 位
CHK:
校验和,为第 2 字节到第 6 字节的异或值
数据包格式:
1
字节
命令 0xF5
应答 0xF5
说明:
2…Len + 1
Data
Data
Len + 2
CHK
CHK
Len + 3
0xF5
0xF5
Len 即为 Data 的字节数;
CHK:
校验和,为第 2 字节到第 Len + 1 字节的异或值
发送完数据头后紧接着发送数据包。
二.各通讯协议命令说明
2.1 使模块进入休眠状态(命令/应答均为 8 字节)
命令数据格式:
字节
1
2
命令 0xF5
0x2C
3
0
应答数据格式:
字节 1
2
应答 0xF5
0x2C
3
0
4
0
4
0
5
0
5
0
6
0
7
8
CHK 0xF5
6
0
7
8
CHK 0xF5
2.2 设置/读取指纹添加模式(命令/应答均为 8 字节)
指纹添加分两种模式:允许重复模式/禁止重复模式, 在”禁止重复模式”下,同一枚
手指只能添加一个用户,若强行进行第二轮添加将返回错误信息。上电后系统处于
禁止重复模式。
字节
1
2
3
4
5
6
7
8
命令 0xF5
0x2D 0
Byte5=0:
0:设置新的添加
0 CHK 0xF5
0:允许重复
1:禁止重复
Byte5=1:
模式
1:读取当前添加
模式
0应答0xF50x2D0当前添加模式ACK_SUCCUSSACK_FAIL0CHK0xF52.3添加指纹(命令/应答均为8字节)为确保有效性,用户必须录入3次指纹,主机须向DSP模块发送3次命令。i)第1次字节12345678命令0xF50x01用户号(高8位)用户号(低8位)用户权限(1/2/3)0CHK0xF5应答0xF50x0100ACK_SUCCESSACK_FAILACK_FULLACK_TIMEOUT0CHK0xF5说明:用户号的取值范围为1–0xFFF;用户权限取值范围为1、2、3,其含义由二次开发者自行定义。ii)第2次字节12345678命令0xF50x02用户号(高8位)用户号(低8位)用户权限(1/2/3)0CHK0xF5应答0xF50x0200ACK_SUCCESSACK_FAILACK_TIMEOUT0CHK0xF5iii)第3次字节12345678命令0xF50x03用户号(高8位)用户号(低8位)用户权限(1/2/3)0CHK0xF5应答0xF50x0300ACK_SUCCESS0CHK0xF5
ACK_FAILACK_USER_EXISTACK_TIMEOUT说明:三次命令中用户号与用户权限应为相同值。2.4删除指定用户(命令/应答均为8字节)字节12345678命令0xF50x04用户号(高8位)用户号(低8位)00CHK0xF5应答0xF50x0400ACK_SUCCESSACK_FAIL0CHK0xF52.5删除所有用户(命令/应答均为8字节)字节12345678命令0xF50x050000CHK0xF5应答0xF50x0500ACK_SUCCESSACK_FAIL0CHK0xF52.6取用户总数(命令/应答均为8字节)字节12345678命令0xF50x090000CHK0xF5应答0xF50x09用户数(高8位)用户数(低8位)ACK_SUCCESSACK_FAIL0CHK0xF52.7比对1:1(命令/应答均为8字节)字节12345678命令0xF50x0B用户号(高8位)用户号(低8位)00CHK0xF5应答0xF50x0B00ACK_SUCCESSACK_FAILACK_TIMEOUT0CHK0xF5
2.8比对1:N(命令/应答均为8字节)字节12345678命令0xF50x0C0000CHK0xF5应答0xF50x0C用户号(高8位)用户号(低8位)用户权限(1/2/3)ACK_NOUSERACK_TIMEOUT0CHK0xF52.9取用户权限(命令/应答均为8字节)字节12345678命令0xF50x0A用户号(高8位)用户号(低8位)00CHK0xF5应答0xF50x0A00用户权限(1/2/3)ACK_NOUSER0CHK0xF52.10取DSP模块版本号(命令为8字节/应答>8字节)命令数据格式:字节12345678命令0xF50x260000CHK0xF5应答数据格式:1)数据头:字节12345678应答0xF50x26Hi(Len)Low(Len)ACK_SUCCESSACK_FAIL0CHK0xF52)数据包:字节12---Len+1Len+2Len+3应答0xF5版本数据CHK0xF5说明:此协议暂不公开2.11设置/读取比对等级(命令/应答均为8字节)字节12345678
命令0xF50x280Byte5=0:新比对等级;Byte5=1:00:设置新的比对等级1:读取当前比对等级0CHK0xF5应答0xF50x280当前比对等级ACK_SUCCUSSACK_FAIL0CHK0xF5说明:比对等级取值为0-9,取值越大比对越严格,默认值为52.12采集图像并上传(命令为8字节/应答>8字节)命令数据格式:字节12345678命令0xF50x240000CHK0xF5应答数据格式:1)数据头:字节12345678应答0xF50x24Hi(Len)Low(Len)ACK_SUCCESSACK_FAILACK_TIMEOUT0CHK0xF52)数据包:字节12---Len+1Len+2Len+3应答0xF5图像数据CHK0xF5说明:在DSP模块中,指纹图像为248*296像素,每个像素灰度由8位表示。在上传过程中,为了减小数据量,在横/纵方向进行跳像素采样,这样图像变为124*148,并取灰度的高4位,每两个像素合成一个字节传输(前一像素在低四位,后一像素在高四位)。传输从第一行开始逐行进行,每一行从第一个像素开始,总共传输124*148/2个字节的数据。图像数据长度Len恒为9176字节。2.13采集图像并提取特征值上传(命令为8字节/应答>8字节)命令数据格式: