您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 国内外标准规范 > 指纹模块通信协议(2014)
TFS-M7x系列指纹识别模块通信协议本协议适用于:TFS-M71、TFS-M72、TFS-M73、TFS-M74、TFS-M74A、TFS-M75、TFS-M76等模块一、通信方式指纹模块作为从设备,由主设备发送相关命令对其进行控制。命令接口:UART(通用异步串口)19200bps1起始位1停止位(无校验位)主设备发送的命令及指纹模块的应答按数据长度可分为两类:1)=8字节,数据格式如下:字节12345678命令0xF5CMDP1P2P30CHK0xF5应答0xF5CMDQ1Q2Q30CHK0xF5说明:CMD:命令/应答类型P1,P2,P3:命令参数Q1,Q2,Q3:应答参数,Q3多用于返回操作的有效性信息,此时可有如下取值:#defineACK_SUCCESS0x00//操作成功#defineACK_FAIL0x01//操作失败#defineACK_FULL0x04//指纹数据库已满#defineACK_NOUSER0x05//无此用户#defineACK_USER_OCCUPIED0x06//用户已存在#defineACK_FINGER_OCCUPIED0x07//指纹已存在#defineACK_TIMEOUT0x08//采集超时CHK:校验和,为第2字节到第6字节的异或值2)8字节,数据由两部分组成:数据头+数据包数据头格式:字节12345678命令0xF5CMDHi(Len)Low(Len)00CHK0xF5应答0xF5CMDHi(Len)Low(Len)Q30CHK0xF5说明:CMD,Q3的定义同上Len:数据包内有效数据长度,16位,由两字节组成Hi(Len):数据包长度高8位Low(Len):数据包长度低8位CHK:校验和,为第2字节到第6字节的异或值数据包格式:字节12…Len+1Len+2Len+3命令0xF5DataCHK0xF5应答0xF5DataCHK0xF5说明:Len即为Data的字节数;CHK:校验和,为第2字节到第Len+1字节的异或值发送完数据头后紧接着发送数据包。二、命令类型2.1修改模块序列号(命令/应答均为8字节)命令数据格式:字节12345678命令0xF50x08新序列号(位23-16新序列号(位15-8)新序列号(位7-0)0CHK0xF5应答数据格式:字节12345678应答0xF50x08旧序列号(位23-16旧序列号(位15-8)旧序列号(位7-0)0CHK0xF5说明:序列号为24位的一个常数,每个模块不一样,可用于区别不同的模块。2.2取模块内部序列号(命令/应答均为8字节)命令数据格式:字节12345678命令0xF50x2A0000CHK0xF5应答数据格式:字节12345678应答0xF50x2A序列号(位12-16)序列号(位15-8)序列号(位7-0)0CHK0xF52.3使模块进入休眠状态(命令/应答均为8字节)命令数据格式:字节12345678命令0xF50x2C0000CHK0xF5应答数据格式:字节12345678应答0xF50x2C0000CHK0xF52.4设置/读取指纹添加模式(命令/应答均为8字节)指纹添加分两种模式:允许重复模式/禁止重复模式,在”禁止重复模式”下,同一枚手指只能添加一个用户,若强行进行第二轮添加将返回错误信息。上电后系统处于禁止重复模式。字节12345678命令0xF50x2D0Byte5=0:0:允许重复1:禁止重复Byte5=1:00:设置新的添加模式1:读取当前添加模式0CHK0xF5应答0xF50x2D0当前添加模式ACK_SUCCUSSACK_FAIL0CHK0xF52.5添加指纹(命令/应答均为8字节)为确保有效性,用户必须录入3次指纹,主机须向指纹模块发送3次命令。i)第1次字节12345678命令0xF50x01用户号(高8位)用户号(低8位)用户权限(1/2/3)0CHK0xF5应答0xF50x0100ACK_SUCCESSACK_FAILACK_FULLACK_USER_OCCUPIEDACK_FINGER_OCCUPIEDACK_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_SUCCESSACK_FAILACK_TIMEOUT0CHK0xF5说明:3次命令中用户号与用户权限应为相同值。如果第3次发的命令为0x06,模块会将注册成功的特征值返回给主设备而不写入模块数据库,返回格式类似于命令“2.15采集图像并提取特征值上传(命令为8字节/应答8字节)”的返回,只是第2字节变为0x06。2.6添加用户并将特征值上传(命令为8字节/应答8字节)此命令的流程与”2.5添加指纹”命令类似,为确保有效性,用户必须录入3次指纹,主机须向指纹模块发送3次命令。i)第1次与”2.5添加指纹”第1次命令/应答一样。ii)第2次与”2.5添加指纹”第2次命令/应答一样。iii)第3次命令数据格式:字节12345678命令0xF50x060000CHK0xF5应答数据格式:1)数据头:字节12345678应答0xF50x06Hi(Len)Low(Len)ACK_SUCCESSACK_FAILACK_TIMEOUT0CHK0xF52)数据包:字节12345---Len+1Len+2Len+3应答0xF5000特征值数据CHK0xF5说明:特征值数据长度Len-3恒为193字节。数据包仅当应答数据第5字节为ACK_SUCCESS时返回。2.7删除指定用户(命令/应答均为8字节)字节12345678命令0xF50x04用户号(高8位)用户号(低8位)00CHK0xF5应答0xF50x0400ACK_SUCCESSACK_FAIL0CHK0xF52.8删除所有用户(命令/应答均为8字节)字节12345678命令0xF50x05000:删除全部用户1/2/3:删除权限为1/2/3的全部用户0CHK0xF5应答0xF50x0500ACK_SUCCESSACK_FAIL0CHK0xF52.9取用户总数(命令/应答均为8字节)字节12345678命令0xF50x090000CHK0xF5应答0xF50x09用户数(高8位)用户数(低8位)ACK_SUCCESSACK_FAIL0CHK0xF52.10比对1:1(命令/应答均为8字节)字节12345678命令0xF50x0B用户用户00CHK0xF5号(高8位)号(低8位)应答0xF50x0B00ACK_SUCCESSACK_FAILACK_TIMEOUT0CHK0xF52.11比对1:N(命令/应答均为8字节)字节12345678命令0xF50x0C0000CHK0xF5应答0xF50x0C用户号(高8位)用户号(低8位)用户权限(1/2/3)ACK_NOUSERACK_TIMEOUT0CHK0xF52.12取用户权限(命令/应答均为8字节)字节12345678命令0xF50x0A用户号(高8位)用户号(低8位)00CHK0xF5应答0xF50x0A00用户权限(1/2/3)ACK_NOUSER0CHK0xF52.13取指纹模块版本号(命令为8字节/应答8字节)命令数据格式:字节12345678命令0xF50x260000CHK0xF5应答数据格式:1)数据头:字节12345678应答0xF50x26Hi(Len)Low(Len)ACK_SUCCESSACK_FAIL0CHK0xF52)数据包:字节12---Len+1Len+2Len+3应答0xF5版本数据CHK0xF5说明:此协议暂不公开2.14设置/读取比对等级(命令/应答均为8字节)字节12345678命令0xF50x280Byte5=0:新比对等级;Byte5=1:00:设置新的比对等级1:读取当前比对等级0CHK0xF5应答0xF50x280当前比对等级ACK_SUCCUSSACK_FAIL0CHK0xF5说明:比对等级取值为0-9,取值越大比对越严格,默认值为52.15采集图像并上传(命令为8字节/应答8字节)命令数据格式:字节12345678命令0xF50x240000CHK0xF5应答数据格式:1)数据头:字节12345678应答0xF50x24Hi(Len)Low(Len)ACK_SUCCESSACK_FAILACK_TIMEOUT0CHK0xF52)数据包:字节12---Len+1Len+2Len+3应答0xF5图像数据CHK0xF5说明:在指纹模块中,指纹图像为280*280像素,每个像素灰度由8位表示。在上传过程中,为了减小数据量,在横/纵方向进行跳像素采样,这样图像变为140*140,并取灰度的高4位,每两个像素合成一个字节传输(前一像素在高四位,后一像素在低四位)。传输从第一行开始逐行进行,每一行从第一个像素开始,总共传输140*140/2个字节的数据。图像数据长度Len恒为9800字节。注意:不同的传感器对应的模块图像大小尺寸可能不一样,具体请与我们技术人员联系!2.16采集图像并提取特征值上传(命令为8字节/应答8字节)命令数据格式:字节12345678命令0xF50x230000CHK0xF5应答数据格式:3)数据头:字节12345678应答0xF50x23Hi(Len)Low(Len)ACK_SUCCESSACK_FAILACK_TIMEOUT0CHK0xF54)数据包:字节12345---Len+1Len+2Len+3应答0xF5000特征值数据CHK0xF5说明:特征值数据长度Len-3恒为193字节。2.17上传特征值与采集指纹比对(命令8字节/应答为8字节)命令数据格式:1)数据头:字节12345678命令0xF50x44Hi(Len)Low(Len)00CHK0xF52)数据包:字节12345---Len+1Len+2Len+3命令0xF5000特征值数据CHK0xF5说明:特征值数据长度Len-3恒为193字节。应答数据格式:字节12345678应答0xF50x4400ACK_SUCCESSACK_FAILACK_TIMEOUT0CHK0xF52.18上传指纹特征值与指纹模块数据库指纹比对1:1(命令8字节/应答为8字节)命令数据格式:1)数据头:字节12345678命令0xF50x42Hi(Len)Low(Len)00CHK0xF52)数据包:字节12345---Len+1Len+2Len+3命令0xF5用户号(高8位)用户号(低8位)0特征值数据CHK0xF5说明:特征值数据长度Len-3恒为193字节。应答数据格式:字节12345678应答0xF50x4200ACK_SUCCESSACK_FAIL0CHK0xF52.19上传指纹特征值与指纹模块数据库指纹比对1:N(命令8字节/应答为8字节)命令数据格式:1)数据头:字节12345678命令0xF50x43Hi(Len)Low(Len)00CHK0xF52)数据包:字节12345---Len+1Len+2Len+3命令0xF5000特征值数据CHK0xF5说明:特征值数据长度Len-3恒为193字节。应答数据格式:字节12345678应答0xF50x43用户号(高8位)用户号(低8位)用户权限(1/2/3)ACK_NOUSER0CHK0xF52.20下载指纹模块数据库内指定用户特征值(命令为8字节/应答8字节)命令数据格式:字节12345678命令0xF50x31用户号(高8位)用户号(低8位)00CHK0xF5应答数据格式:1)数据头:字节12
本文标题:指纹模块通信协议(2014)
链接地址:https://www.777doc.com/doc-5346157 .html