R503S指纹识别模块的通信协议

发布时间:2023年12月27日

1 物理层

物理层采用串口通讯,波特率 57600,8 位数据位,1 位停止位,无奇偶校验位。

2 数据包格式

模块采用 UART 与上位机通讯,对命令、数据、结果的接收和发送,都采用数据包的形式。对于多字节的,高字节在前低字节在后(如 2 bytes 的 00 06 表示 0006,不是 0600)。数据包格式及其定义见表 4.1 和表 4.2 所示。

表 4.1 数据包格式

包头地址包标识包长度包内容(指令/数据/参数/确认码)校验和
2 Bytes4 Bytes1 Byte2 Bytes2 Bytes

表 4.2 数据包详细定义表

名称符号长度(Bytes)说明
包头Start2Checksum
地址Addr4默认值为 0xFFFFFFFF,用户可通过指令修改地址,模块会拒绝地址错误的指令。传送时高字节在前。
包标识Pid1

0x01:表示指令包,可以跟数据包。

0x02:表示数据包,且有后续包。数据包必须跟在指令包或应答包后面。

0x07:表示应答包,可以跟数据包。

0x08:表示最后一个数据包,即结束包。

包长度Length2包长度=包内容长度+校验和长度。传送时高字节在前。
包内容Data-包括指令、数据、参数、确认码等。
校验和Checksum2“包标识+包长度+包内容”所有字节的累加和。传送时高字节在前。

3 指令集汇总表

代码指令名功能说明
0x01GetImage从传感器上读入图像存于图像缓冲区
0x02GenChar根据原始图像生成指纹特征存于 CharBuffer 中
0x03Match比对几个 CharBuffer 中的特征文件
0x04Search以 CharBuffer 中的特征文件搜索整个或部分指纹库
0x05RegModel将 CharBuffer 中的特征文件合并生成模板存在特征缓冲区内
0x06StoreChar将特征缓冲区内的模板储存到 flash 指纹库中
0x07LoadChar从 flash 指纹库中读取一个模板到特征缓冲区
0x08UpChar将特征缓冲区中的文件上传
0x09DownChar下载一个特征文件到特征缓冲区
0x0aUpImage上传图像缓冲区内的图像数据
0x0bDownImage下载图像数据到图像缓冲区
0x0c?DeleteChar删除 flash 指纹库中的一个模板文件
0x0dEmpty清空 flash 指纹库
0x0eSetSysPara设置系统参数
0x0fReadSysPara?读系统参数
0x12SetPwd设置口令
0x13VfyPwd效验口令
0x14GetRandomCode获取随机数
0x15SetAddr设置模块地址
0x16ReadInfPage?读取信息页
0x18WriteNotepad写记事本
0x19ReadNotepad读记事本
0x1dValidTemplateNum读有效模板个数
0x1fReadIndexTable读指纹模板索引表
0x28GetImageEx采集指纹图像扩展指令
0x30Cancel取消指令
0x40HandShake握手
0x36CheckSensor检测传感器
0x39GetAlgVer获取算法库版本
0x3aGetFwVer获取固件版本
0x3cReadProdInfo?读取产品信息
0x3dSoftRst?软复位
0x35AuraLedConfig光环控制

4 数据包的接收与应答

指令只能由上位机下发给模块,模块向上位机应答。

模块收到指令后,会通过应答包,将有关命令执行情况与结果上报给上位机。应答包含有参数,并可跟后续数据包。

指令后如果需要跟数据包,则上位机在发送指令包,并收到应答包后才能确认是否可以继续发数据包。

上位机只有在收到模块的应答包后才能确认模块的收包情况与指令执行情况。应答包的内容包括一个字节的确认码(必须有)和可能有的返回参数。确认码见表4.3。

表 4.3 确认码定义表

序号确认码定义说明
10x00指令执行完毕或 OK;
20x01数据包接收错误;
30x02传感器上没有手指;
40x03录入指纹图像失败;
50x06指纹图像太乱而生不成特征;
60x07指纹图像正常,但特征点太少(或面积太小)而生不成特征;
70x08指纹不匹配;
80x09没搜索到指纹;
90x0a特征合并失败;
100x0b访问指纹库时地址序号超出指纹库范围;
110x0c从指纹库读模板出错或无效;
120x0d上传特征失败;
130x0e模块不能接受后续数据包;
140x0f上传图像失败;
150x10?删除模板失败;
160x11清空指纹库失败
170x13口令不正确;
180x15缓冲区内没有有效原始图像;
190x18读写 FLASH 出错;
200x1a无效寄存器号;
210x1b无效数据或数据非法(包括指纹特征或指纹模板数据非法)
220x20地址码错误
230xFC不支持的命令
240xFD硬件错误
250xFE命令执行失败
260x21必须验证口令
270x22指纹模板为空
280x24指纹库为空
290x26超时
300x27指纹已存在
310x29传感器硬件错误
320x1f指纹库已满
33other系统保留

文章来源:https://blog.csdn.net/weixin_54796009/article/details/135246919
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。