logo资料库

指令表(Capacitive-Fingerprint-Reader(B)_指令表).pdf

第1页 / 共47页
第2页 / 共47页
第3页 / 共47页
第4页 / 共47页
第5页 / 共47页
第6页 / 共47页
第7页 / 共47页
第8页 / 共47页
资料共47页,剩余部分请下载后查看
(一) 概述
1.1 串口参数、通讯过程、帧序列中传送顺序
1.2 主要功能
(二) 通讯协议综述
2.1 通讯处理过程
2.2 通讯包 Packet 的分类
2.2.1 命令包 Command packet
2.2.2 响应包 Response packet
2.2.3 指令/响应的数据包 Data Packet
2.3 通讯包的帧结构
2.3.1 通讯包 Packet 识别代码
2.3.2 命令包(Command packet )的帧结构
2.3.3 响应包(Response packet)的帧结构
2.3.4 指令数据包(Command Data Packet)的帧结构
2.3.5 响应数据包(Response data packet)的帧结构
(三) 通讯命令(Command )简介
3.1 通讯命令中用到的一些概念
3.2 命令列表( Command List )
(四) 各通讯命令(Command)详细说明
4.1 连接测试(CMD_TEST_CONNECTION 0x0001)
4.2 设置参数(CMD_SET_PARAM 0x0002)
4.3 读取参数(CMD_GET_PARAM 0x0003)
4.4 采集指纹图像(CMD_GET_IMAGE 0x0020)
4.5 检测手指(CMD_FINGER_DETECT 0x0021)
4.6 上传指纹图像到主机(CMD_UP_IMAGE_CODE 0x0022)
4.7 下载指纹图像到模块(CMD_DOWN_IMAGE 0x0023)
4.8 保存指纹模板数据到模块指纹库(CMD_STORE_CHAR 0x0040)
4.9 读取模块中的指纹并暂存在 Ram Buffer 中(CMD_LOAD_CHAR 0x0041
4.10 将暂存在 Ram Buffer 中的指纹模板上传到主机(CMD_UP_CHAR 0x004
4.11 下载指纹模板数据到模块指定的 Ram Buffer(CMD_DOWN_CHAR
4.12 删除指定编号范围内的指纹 (CMD_DEL_CHAR 0x0044)
4.13 获取指定编号范围内可注册的首个编号 (CMD_GET_EMPTY_ID 0x0045)
4.14 检查指定的编号是否已被注册(CMD_GET_STATUS 0x0046)
4.15 检查指定范围内的指纹库是否有数据损坏(CMD_GET_BROKEN_ID 0x0047)
4.16 获取编号范围内已注册的指纹总数(CMD_GET_ENROLL_COUNT 0x0048)
4.17 从暂存在 ImageBuffer 中的指纹图像产生模(CMD_GENERATE 0x006
4.18 合成指纹模板数据用于入库(CMD_MERGE 0x0061)
4.19 指定 2 个 Ram Buffer 之间的模板做比对 (CMD_MATCH 0x0062)
4.20 指定编号范围内的 1:N 识别(CMD_SEARCH 0x0063)
4.21 指定 Ram Buffer 与指纹库中指定编号的模板比对(CMD_VERIFY 0x006
4.22 设置模块序列号(CMD_SET_MODULE_SN 0x0008)
4.23 读取模块序列号(CMD_GET_MODULE_SN 0x0009)
4.24 获取已注册 ID 列表(CMD_GET_ENROLLED_ID_LIST 0x0049)
4.25 进入休眠状态(CMD_ENTER_STANDBY_STATE 0x000C)
(五) 响应(Response)及错误代码表(Error Code)
Capacitive Fingerprint Reader(B) 指令表 Capacitive Fingerprint Reader(B) 指令表 目录 (一) 概述...................................................................................................................................................2 1.1 串口参数、通讯过程、帧序列中传送顺序.............................................................................3 1.2 主要功能.....................................................................................................................................3 (二) 通讯协议(协议栈 B)-综述.........................................................................................................4 2.1 通讯处理过程.............................................................................................................................4 2.2 通讯包 Packet 的分类..............................................................................................................5 2.2.1 命令包 Command packet................................................................................................5 2.2.2 响应包 Response packet.................................................................................................5 2.2.3 指令/响应的数据包 Data Packet................................................................................... 5 2.3 通讯包的帧结构.........................................................................................................................5 2.3.1 通讯包 Packet 识别代码...............................................................................................5 2.3.2 命令包(Command packet )的帧结构........................................................................5 2.3.3 响应包(Response packet)的帧结构...........................................................................6 2.3.4 指令数据包(Command Data Packet)的帧结构.........................................................7 2.3.5 响应数据包(Response data packet)的帧结构........................................................... 8 (三) 通讯命令(Command )简介........................................................................................................ 9 3.1 通讯命令中用到的一些概念.....................................................................................................9 3.2 命令列表( Command List ).................................................................................................9 (四) 各通讯命令(Command)详细说明............................................................................................ 11 4.1 连接测试(CMD_TEST_CONNECTION 0x0001).............................................................11 4.2 设置参数(CMD_SET_PARAM 0x0002)........................................................................... 12 4.3 读取参数(CMD_GET_PARAM 0x0003)...........................................................................13 4.4 采集指纹图像(CMD_GET_IMAGE 0x0020)....................................................................15 4.5 检测手指(CMD_FINGER_DETECT 0x0021)...................................................................16 4.6 上传指纹图像到主机(CMD_UP_IMAGE_CODE 0x0022)............................................. 17 4.7 下载指纹图像到模块(CMD_DOWN_IMAGE 0x0023)...................................................19 4.8 保存指纹模板数据到模块指纹库(CMD_STORE_CHAR 0x0040).................................21 4.9 读取模块中的指纹并暂存在 Ram Buffer 中(CMD_LOAD_CHAR 0x0041)............... 22 4.10 将暂存在 Ram Buffer 中的指纹模板上传到主机(CMD_UP_CHAR 0x0042)........... 23 4.11 下载指纹模板数据到模块指定的 Ram Buffer(CMD_DOWN_CHAR...........................25 4.12 删除指定编号范围内的指纹 (CMD_DEL_CHAR 0x0044)..........................................27 4.13 获取指定编号范围内可注册的首个编号 (CMD_GET_EMPTY_ID 0x0045).............28 4.14 检查指定的编号是否已被注册(CMD_GET_STATUS 0x0046)....................................30 4.15 检查指定范围内的指纹库是否有数据损坏(CMD_GET_BROKEN_ID 0x0047)........ 31 4.16 获取编号范围内已注册的指纹总数(CMD_GET_ENROLL_COUNT 0x0048)........... 32 4.17 从暂存在 ImageBuffer 中的指纹图像产生模(CMD_GENERATE 0x0060)...............33 4.18 合成指纹模板数据用于入库(CMD_MERGE 0x0061)...................................................34 版本:V1.0.0,日期:2021 年 8 月 30 日
Capacitive Fingerprint Reader(B) 指令表 4.19 指定 2 个 Ram Buffer 之间的模板做比对 (CMD_MATCH 0x0062)....................... 36 4.20 指定编号范围内的 1:N 识别(CMD_SEARCH 0x0063)............................................37 4.21 指定 Ram Buffer 与指纹库中指定编号的模板比对(CMD_VERIFY 0x0064)........... 38 4.22 设置模块序列号(CMD_SET_MODULE_SN 0x0008)................................................... 39 4.23 读取模块序列号(CMD_GET_MODULE_SN 0x0009)...................................................41 4.24 获取已注册 ID 列表(CMD_GET_ENROLLED_ID_LIST 0x0049).............................43 4.25 进入休眠状态(CMD_ENTER_STANDBY_STATE 0x000C)........................................45 (五) 响应(Response)及错误代码表(Error Code)........................................................................47 版本:V1.0.0,日期:2021 年 8 月 30 日
Capacitive Fingerprint Reader(B) 指令表 (一) 概述 1.1 串口参数、通讯过程、帧序列中传送顺序 串行通讯所用参数如下: 起始位:1 位(1bit)。 数据位:8 位(8bit)。 停止位:1 位(1bit)。 校验位:无 。 波特率:9600/19200/38400/57600/115200/230400/460800/921600 ,默认值:115200BPS 。 通讯过程: 所有指令的发送、接收必须要遵循一发一收的原则。 主机(Host)在没有收到应答时,不可以向目标模块(TARGET )发送指令。 通讯帧序列传送顺序: 字节(Byte)遵循最低有效位优先传送的规则 。 字(Word)遵循低字节优先高字节在后传送的规则。 1.2 主要功能 指纹录入:最大可录入的指纹容量为 3000 枚。 指纹删除:单个删除/指定编号范围删除。 指纹验证:1:1 比对。 指纹识别:1:N 搜索(在 1-最大容量数内,可任意指定搜索范围)。 其他功能: 1.上传/下载指纹模板数据: 上传指纹模板数据到主机/下载指纹模板数据到模块。 2.上传/下载指纹图像: 上传指纹图像到主机/下载指纹图像到模块(提取指纹特征/录入/与活体指纹验证/识别)。 3.检查指定编号范围内的指纹模板数据是否有坏损情况。 4.读取模块中已注册的用户总数及用户列表。 5.设置/读取指纹模块参数(安全等级、允许/禁止自学习、允许/禁止指纹重复检查、波特等)。 6.设置/读取指纹模块的序列号。 7.读取指纹模块信息(固件类型及版本、算法芯片、指纹传感器)等模块的软硬件信息。 版本:V1.0.0,日期:2021 年 8 月 30 日
Capacitive Fingerprint Reader(B) 指令表 (二) 通讯协议综述 模块上电后固件 BOOT 需要时间(即硬件及算法初始化时间),主机必须等待模块完成初 始化后才能 给模块发送指令 指纹模组在上电后 MCU 的 GPIO 及 UART 端口初始化成功后,会通过 UART 发送一个字节 的 0x55,作为 通知主机的握手信号。 主机在控制指纹模块上电后等待模块初始化时,可以通过接收此握手信号,提前进入工作状 态。 注: 主机控制模块上电后,可通过如下两种方法开始通讯过程: 1.主机收到模块的握手信号 0x55 后,即可开始给模块发送指令。 2.主机控制模块上电后,延时 280ms 即可开始给模块发送指令。 2.1 通讯处理过程 注: 通讯过程 通讯过程中,所有指令的发送、接收必须要遵循一发一收的原则。 Host 主机在没有收到模块的应答时,不可以向 TARGET 指纹模块发送指令。 版本:V1.0.0,日期:2021 年 8 月 30 日
Capacitive Fingerprint Reader(B) 指令表 2.2 通讯包 Packet 的分类 2.2.1 命令包 Command packet * 命令包说明从主机至指纹模块的指令内容。 * 从主机中发出的所有指令,都通过命令包 Command packet 传输。 * 命令包 Command packet 的帧长度为 26 字节。 2.2.2 响应包 Response packet * 响应包指从指纹模块至主机的应答内容。 * 所有指令收到相应处理结果即 Response packet 后终止其使命。 * 响应包 Response packet 的长度为 26 字节。 2.2.3 指令/响应的数据包 Data Packet * 当指令参数或响应数据的长度大于 16 bytes 时,利用指令/响应数据包 Data Packet 传输数 据。 * 主机须在发送指令数据包之前,利用命令包 Command packet 将数据包的长度告知指纹模块 * 指令参数或相应数据包的最大长度为 500 字节。 2.3 通讯包的帧结构 2.3.1 通讯包 Packet 识别代码 通讯包 Packet 的开始 2 bytes 为表示通讯包 packet 种类的识别码,其如下表所示: Packet 类别 Code 包类别识别码 命令包 Command packet 响应包 Response packet 指令数据包 Command Data Packet 响应数据包 Response Data Packet 0xAA55 0x55AA 0xA55A 0x5AA5 Packet 识别代码 2.3.2 命令包(Command packet )的帧结构 PREFIX SID DID CMD LEN DATA CKS 版本:V1.0.0,日期:2021 年 8 月 30 日
Capacitive Fingerprint Reader(B) 指令表 0X55 0xAA 源 ID 目标 ID 0 1 2 3 L 4 H 5 L 6 H 7 D0 D1 ... D15 L H 8 9 ... 23 24 25 命令包(Command packet)的结构如下: 偏移值 OFFSET 偏移值 数据类型 OFFSET TYPE 字节数 SIZE 描述 DESCRYPTION 0 2 3 4 6 8 PREFIX WORD 2 bytes 包识别码 Packet Identify code SID DID CMD LEN BYTE BYTE WORD 1byte 1byte 源标识 Soruce Device ID 目标标识 Destination Device ID 2 bytes 命令字 Command Code WORD 2 bytes(=n,n<16) 数据长度 Length of DATA DATA Byte Array 16byte 命令参数 Command Parameter (实际数据为 n bytes) 24 CKS WORD 2byte 校验和 Check Sum:从 PREFIX 到 DATA 域 的所有数据算术和运算后的最低 2 个字节 2.3.3 响应包(Response packet)的帧结构 PREFIX SID DID RCM LEN RET DATA CKS 0XAA 0x55 源 ID 目标 ID 0 1 2 3 L 4 H 5 L H L 6 7 8 H 9 D0 D1 ... D15 L H 10 11 ... 23 24 25 响应包(Response packet)的结构如下: 偏移值 OFFSET 偏移值 数据类型 OFFSET TYPE 字节数 SIZE 描述 DESCRYPTION 0 2 3 4 PREFIX WORD 2 bytes 包识别码 Packet Identify code SID DID RCM BYTE BYTE WORD 1 byte 源标识 Soruce Device ID 1 byte 目标标识 Destination Device ID 2 bytes 响应码 Response Code 版本:V1.0.0,日期:2021 年 8 月 30 日
Capacitive Fingerprint Reader(B) 指令表 6 8 LEN WORD 2 bytes(=n,n<16) 长度 Length of RET and DATA RET WORD 2 bytes 结果码 Result Code(0 :成功, 1 :失败) 10 DATA Byte Array 14 bytes 响应数据 Response Data(实际为 n 2bytes) 24 CKS WORD 2 bytes 校验和 Check Sum:从 PREFIX 到 DATA 域 的所有数据算术和运算后的最低 2 个字节 2.3.4 指令数据包(Command Data Packet)的帧结构 PREFIX SID DID CMD LEN DATA CKS 0X5A 0xA5 源 ID 目标 ID 0 1 2 3 L 4 H 5 L 6 H 7 D0 D1 ... Dn-1 L H 8 9 ... 8+n-1 8+n 8+n+1 指令数据包(Command Data Packet)的结构如下: 偏移值 OFFSET 偏移值 数据类型 OFFSET TYPE 字节数 SIZE 描述 DESCRYPTION 0 2 3 4 6 8 PREFIX WORD 2 bytes 包识别码 Packet Identify code SID DID CMD LEN BYTE BYTE WORD 1 byte 源标识 Soruce Device ID 1 byte 目标标识 Destination Device ID 2 bytes 命令字 Command Code WORD 2bytes(=n,n<500) 数据长度 Length of DATA DATA Byte Array n bytes 命令参数 Command Parameter 24 CKS WORD 2 bytes 校验和 Check Sum:从 PREFIX 到 DATA 域 的所有数据算术和运算后的最低 2 个字节 主机须在发送指令数据包之前先传输命令包(Command packet),使得模块进入指令数据包 (Command Data packet)接收等待状态。 在该命令包(Command packet)的数据域(DATA field)中,须设定待传输的指令数据包的 长度。 主机应在确认模块处于指令数据包接收等待状态后传输指令数据包(Command Data Packet)。 版本:V1.0.0,日期:2021 年 8 月 30 日
Capacitive Fingerprint Reader(B) 指令表 2.3.5 响应数据包(Response data packet)的帧结构 PREFIX SID DID RCM LEN RET DATA CKS 0XA5 0x5A 源 ID 目标 ID 0 1 2 3 L 4 H 5 L H L 6 7 8 H 9 D0 D1 ... Dn-3 L H 10 11 ... 8+n-1 8+n 8+n+1 响应数据包(Response Data Packet)的结构如下: 偏移值 OFFSET 偏移值 数据类型 OFFSET TYPE 字节数 SIZE 描述 DESCRYPTION 0 2 3 4 6 8 PREFIX WORD 2 bytes 包识别码 Packet Identify code SID DID RCM LEN BYTE BYTE WORD 1 byte 源标识 Soruce Device ID 1 byte 目标标识 Destination Device ID 2 bytes 响应码 Response Code WORD 2bytes(=n,n<500) 长度 Length of RET and DATA RET WORD 2 bytes 结果码 Result Code(0 :成功, 1 :失败) 10 DATA Byte Array n-2 bytes 响应数据 Response Data(实际为 n-2byte) 24 CKS WORD 2bytes 校验和 Check Sum:从 PREFIX 到 DATA 域 的所有数据算术和运算后的最低 2 个字节 注:从模块至主机中传输 14byte 以上数据时,需利用响应数据包(Response data packet) 版本:V1.0.0,日期:2021 年 8 月 30 日
分享到:
收藏