ZFM-20 系列
指纹识别模块
用 户 手 册
杭州指安科技有限公司
二〇一零年六月 Ver: 2.0
杭州指安科技有限公司
前言及声明
感谢购置杭州指安科技有限公司(以下简称:指安公司)的 ZFM-20 系列指纹
识别模块(以下简称:模块)。
本用户手册针对软、硬件应用开发工程师编写,包含硬件接口、系统资源、指
令系统、安装信息等内容。为了确保应用开发顺利进行,在进行模块开发之前请仔
细阅读手册。
我们已尽最大努力以保证本手册的准确性。然而,如您有任何疑问或发现错误,
可直接与我公司和/或我公司授权代理商联系,我们将十分感激。
因我公司奉行不断完善改进产品的宗旨,模块和手册内容都有可能改变,恕不
另行通知。请访问我公司的网站或电话联系,以获取最新信息。
本文件包含指安公司的私有信息,在没有本公司
书
关于书的成语关于读书的排比句社区图书漂流公约怎么写关于读书的小报汉书pdf
面许可的情况下,第三方不
得使用或随意泄露;当然,任何在没有授权、特殊条件、限制或告知的情况下对此
信息的复制和擅自修改都是侵权行为。
在对本公司产品的使用中,指安不背负任何责任或义务;而第三方在使用中则
不得侵害任何专利或其它知识产权。
所有产品的售出都受制于本公司在定购承认书里的销售条款和条件。本公司利
用测试、工具、质量控制等技术手段来支持产品的相关性能符合所需规格的一定程度
的保证。除了明确的政府书面要求外, 没必要执行每款产品的所有参数测试。
杭州指安科技有限公司 2010-2012 版权。版权所有,侵权必究。
联系我们:http://www.zhiantec.com
地 址:浙江杭州天目山路 160 号国际花园西楼 8层 C/D 座 310012
电 话:86-571-88210122
技术支持:0571-88210122-807
传 真:86-571-88210122-818
第 1 页,共 28 页
杭州指安科技有限公司
第 2 页,共 28 页
目录
第一章 概述 .....................................................................3
1.1 工作原理 ................................................................... 3
1.2 订购信息 ................................................................... 3
第二章 主要技术指标 .............................................................4
第三章 硬件接口 .................................................................5
3.1 上位机接口(板上标示:J1).................................................. 5
3.1.1 串行通讯 ............................................................... 5
3.1.2 USB 通讯 ............................................................... 6
3.2 传感器接口(板上标示:J2).................................................. 7
第四章 系统资源 .................................................................8
4.1 缓冲区 ..................................................................... 8
4.1.1 图像缓冲区 ............................................................. 8
4.1.2 特征文件缓冲区.......................................................... 8
4.2 指纹库 ..................................................................... 8
4.3 系统配置参数 ............................................................... 8
4.3.1 波特率控制(参数序号:4)............................................... 9
4.3.2 安全等级(参数序号:5)................................................ 9
4.3.3 包内容长度(参数序号:6).............................................. 9
4.4 系统状态寄存器 ............................................................. 9
4.5 模块口令 ................................................................... 9
4.6 模块地址 .................................................................. 10
4.7 随机数产生器 .............................................................. 10
第五章 通讯
协议
离婚协议模板下载合伙人协议 下载渠道分销协议免费下载敬业协议下载授课协议下载
................................................................11
5.1 数据包格式 ................................................................ 11
5.2 数据包的校验与应答......................................................... 12
第六章 模块指令系统 ............................................................13
6.1 系统类指令 ................................................................ 13
6.2 指纹处理类指令 ............................................................ 17
6.3 其它指令 .................................................................. 26
6.4 指令集汇总表 .............................................................. 30
6.4.1 按功能分类 ............................................................ 30
6.4.2 按指令代码顺序......................................................... 30
附件 ...........................................................................31
1 分体式主板外形尺寸 .......................................................... 31
2 光学指纹传感器(或一体式模块)外形尺寸(单位:MM)........................... 31
杭州指安科技有限公司
第一章 概述
ZFM-20 系列独立式指纹识别模块是杭州指安科技公司推出的,以 SynoChip 高速 DSP 处理器
为核心,结合具有公司自主知识产权的光学指纹传感器,在无需上位机参与管理的情况下,具有
指纹录入、图像处理、指纹比对、搜索和模板储存等功能的智能型模块。
1.1 工作原理
指纹处理包含两个过程:指纹登录过程和指纹匹配过程[其中指纹匹配分为指纹比对(1:1)
和指纹搜索(1:N)两种方式]。
指纹登录时,对每一枚指纹录入 2 次,将 2 次录入的图像进行处理,合成模板存储于模块中。
指纹匹配时,通过指纹头传感器,录入要验证指纹图像并进行处理,然后与模块中的指纹模板进
行匹配比较(若与模块中指定的一个模板进行匹配,称为指纹比对方式,即 1:1 方式;若与多个
模板进行匹配,称为指纹搜索方式,即 1:N 方式),模块给出匹配结果(通过或失败)。
1.2 订购信息
本公司指纹模块完整型号采用下列规则。向我公司订购产品时,请根据需要填写完整型号,
以便我们能为您提供更好的服务。
ZFM - 20 x x x - x x x -Vxx
软件版本(可省略项)
引线长度(单位 mm,可省略项)
指纹库容量 A:162 枚
第 3 页,共 28 页
B:930 枚
接口型式 U: USB1.1
S: 串行(Series:UART)
结构型式 0: 分体式
1: 一体式
光学 20 系列
杭州指安科技公司指纹识别模块
注: 1)引线长度指模块主板与光学指纹传感器之间连接的排线长度。一体式模块无此引线。
2)软件版本在首次订购或非指定版本时可省略,即默认采用我公司最新版本。
杭州指安科技有限公司
第 4 页,共 28 页
第二章 主要技术指标
供电电压:DC 3.6~6.0V
供电电流:
工作电流:<120mA
峰值电流:<150mA
指纹图像录入时间:<1.0 秒
窗口面积: 14 ╳ 18 mm
匹配方式:
比对方式(1:1)
搜索方式(1:N)
特征文件:256 字节
模板文件:512 字节
存储容量:162/930 枚
安全等级:五级(从低到高:1、2、3、4、5)
认假率(FAR):<0.001% (安全等级为 3 时)
拒真率(FRR):<1.0% (安全等级为 3 时)
搜索时间:<1.0 秒 (1:200 时,均值)
上位机接口: UART(TTL 逻辑电平) 或 USB1.1
通讯波特率(UART):(9600╳N)bps 其中 N=1~12 (默认值 N=6,即 57600bps)
工作环境:
温 度:-20℃-+50℃
相对湿度:40%RH-85%RH (无凝露)
储存环境:
温 度:-40℃-+85℃
相对湿度:<85%H(无凝露)
外形尺寸(L╳W╳H):
分体式:
模 块:42 ╳ 25 ╳ 8.5mm (安装尺寸:31.5 ╳ 19 mm )
指纹传感器:56 ╳ 20 ╳ 21.5mm
一体式:56 ╳ 20 ╳ 21.5mm
杭州指安科技有限公司
第三章 硬件接口
3.1 上位机接口(板上标示:J1)
无论您订购的是 UART 还是 USB 接口型式(但板上硬件电路出厂设置不同,请勿混用),在
PCB 板上,模块与用户设备的接口都采用同一个单排插座/针(分体式为 5 芯 2.0 间距、一体式
为 4 芯 1.27 间距)。
用户无特殊要求时,所提供的用户接口引线长度为 150mm。
3.1.1 串行通讯
模块与用户设备的串行通讯时,接口 J1 引脚定义如下:
引脚号 名 称 类型 功 能 描 述
1 Vin in 电源正输入端。(线色:红)
2 TD out 串行数据输出。TTL 逻辑电平。(线色:绿)
3 RD in 串行数据输入。TTL 逻辑电平。(线色:白)
4 GND - 信号地。内部与电源地连接。(线色:黑)
5 NC - 未定义,悬空。(一体式模块无此引脚)
注: 类型栏中, in 表示输入到模块, out 从模块输出。
3.1.1.1 硬件连接
模块通过串行通讯接口,可直接与采用 3.3V 或者 5V 电源的单片机进行通讯:模块数据发
送脚(2 脚 TD)接上位机的数据接收端(RXD), 模块数据接收脚(3 脚 RD)接上位机的数据
发送端(TXD)。
若需与 RS-232 电平(例如:PC 机)的上位机进行通讯,请在模块与上位机之间增加电平转
换电路(例如:MAX232 电路)。
3.1.1.2 串行协议
采用半双工异步串行通讯。默认波特率为 57600bps,可通过命令设置为 9600~115200bps。
D00 1D7D6D5D4D3D2D11
起始位 停止位
10位帧格式
传送的帧格式为 10 位,一位 0 电平起始位,8 位数据(低位在前)和一位停止位,无校验
位。
第 5 页,共 28 页
杭州指安科技有限公司
第 6 页,共 28 页
3.1.1.3 上电延时时间
模块上电后,约需 500mS 时间进行初始化工作。在此期间,模块不能响应上位机命令。
3.1.1.4 电气参数(所有电平以电源/信号地 GND 为参考电平)
1. 电源输入
参 数 项 目 最小 典型 最大 单位 备 注
电源电压 Vin 3.6 6.0 V 正常工作值
极限电压Vinmax -0.3 7.0 V 超出此范围可能会造成永久性损坏
工作电流 Icc 90 100 110 mA
峰值电流 Ipeak 150 mA
2. TXD(输出,TTL 逻辑电平)
参 数 项目 条 件 最小 典型 最大 单位 备注
VOL IOL=-4mA 0.4 V 逻辑 0
VOH IOH= 4mA 2.4 3.3 V 逻辑 1
3. RXD 脚(输入,TTL 逻辑电平)
参 数 项目 条 件 最小 典型 最大 单位 备注
VIL 0.6 V 逻辑 0
VIH 2.4 V 逻辑 1
VIH =5V 1 mA IIH VIH =3.3V 30 uA
VImax -0.3 5.5 V 极限输入电压
3.1.2 USB 通讯
模块与用户设备的 USB 通讯时,接口 J1 引脚定义如下:
引脚号 名 称 类型 功 能 描 述
1 Vin in 电源正输入端。(电气参数参见 3.1.1.4)
2 DP+ In/Out USB 数据线。
3 DP- In/Out USB 数据线。
4 GND - 信号地。内部与电源地连接。
5 END - 保护地。悬空或可接通讯引线屏蔽层。(一体式模块无此引脚)
注: 类型栏中,in 表示输入到模块,out 从模块输出。
杭州指安科技有限公司
第 7 页,共 28 页
3.2 传感器接口(板上标示:J2)
分体式模块提供了与光学指纹传感器板的专用接口(15 芯单排插座/针,针距 1.25mm)。利
用该接口,通过一根 15 芯排线与传感器板相连。用户无特殊要求时,所提供的引线长度为 150mm。
一体式模块该接口为内部连接,不需用户考虑。
杭州指安科技有限公司
第 8 页,共 28 页
第四章 系统资源
为满足不同客户需求,模块系统提供了大量资源提供给用户系统使用。
4.1 缓冲区
模块 RAM 内设有一个 72K bytes 大小的图像缓冲区 ImageBuffer 与二个 512 bytes 大小的特
征文件缓冲区 CharBuffer1 和 CharBuffer2。用户可以通过指令读写任意一个缓冲区。图像缓冲
区和两个特征文件缓冲区中的内容在模块断电时不保存。
4.1.1 图像缓冲区
图像缓冲区 ImageBuffer 用于存放图像数据和模块内部图像处理使用。上传/下载图象时,
图像格式为 256╳288 像素。
通过 UART 口上传或下载图像时为了加快速度,只用到像素字节的高四位,即采用 16 级灰度,
每字节表示两个像素(高四位为一个像素,低四位为同一行下一相邻列的一个像素,即将两个像
素合成一个字节传送)。由于图象为 16 个灰度等级,上传到 PC 进行显示时(对应 BMP 格式),
应将灰度等级进行扩展(扩展为 256 级灰度,即 8bit 位图格式)。
通过 USB 口传送则是整 8 位像素,即 256 灰度等级。
4.1.2 特征文件缓冲区
特征文件缓冲区CharBuffer1或CharBuffer2既可以用于存放普通特征文件也可以用于存放
模板特征文件。
4.2 指纹库
模块在 FLASH 中开辟了一段存储区域作为指纹模板存放区,即俗称的指纹库。指纹库中的数
据是断电保护的。
指纹模板按照序号存放,若指纹库容量为 N,则指纹模板在指纹库中的序号定义为:0、1、
2……N-2、N-1。用户只能根据序号访问指纹库内容。
4.3 系统配置参数
为方便用户使用,模块开放部分系统参数,允许用户通过指令,单个修改指定(通过参数序
号)的参数数值。参见设置模块系统基本参数指令 SetSysPara 和读系统参数指令 ReadSysPara。
杭州指安科技有限公司
第 9 页,共 28 页
上位机发修改系统参数指令时,模块先按照原配置进行应答,应答之后修改系统设置,并将
配置记录于 FLASH,系统下次上电后,将按照新的配置工作。
4.3.1 波特率控制(参数序号:4)
该参数控制模块与上位机通过 UART 通讯时的通讯波特率,若参数值为 N(N 取值范围围 1~
12),对应波特率为(9600╳N)bps。
4.3.2 安全等级(参数序号:5)
该参数控制指纹比对和搜索时比对阀值,分为 5 级,取值范围为:1、2、3、4、5。
安全等级为1时认假率最高, 拒认率最低。安全等级为 5 时认假率最低, 拒认率最高。
4.3.3 包内容长度(参数序号:6)
该参数控制模块与上位机通讯时,每次传送时允许数据中包内容的最大长度,取值范围为:
0、1、2、3,对应长度(字节数)分别为:32、64、128、256。
4.4 系统状态寄存器
系统状态寄存器表示模块当前工作状态。可通过指令 ReadSysPara 指令读取,长度为 1Word。
其各位定义如下:
位号 15 4 3 2 1 0
意义 Reserved ImgBufStat PWD Pass Busy
注:
z Busy:占 1位,置 1 表示系统正在执行命令,0表示系统空闲;
z Pass:占 1位,置 1 表示指纹验证通过;
z PWD:占一位,置 1 表示设备握手口令通过验证;
z ImgBufStat:占一位,置 1 表示指纹图像缓冲区存在有效指纹图像。
4.5 模块口令
模块上电复位后,将首先检查设备握手口令是否被修改。若未被修改,则模块认为上位机没
有验证口令的需求,直接进入正常工作状态;即模块口令为默认口令时,可以不验证口令。口令
为 4 字节, 出厂时默认口令为:0x00000000。
如果模块内部口令已经被修改过(参见设置口令指令 SetPwd),则必须首先验证设备握手
口令,口令通过后模块才进入正常工作状态。否则模块拒绝执行任何指令。
口令修改后,新口令保存于 Flash 中,断电依然保存。
参见验证口令 VfyPwd 指令和设置口令 SetPwd 指令。
杭州指安科技有限公司
第 10 页,共 28 页
4.6 模块地址
每个模块都有一个识别地址,在模块与上位机通讯时,每条指令/数据都以数据包的形式传
送,每个数据包都包含一个地址都包含地址项。模块只对包含与自身地址相同的地址的指令和数
据包有所反应。
模块地址为 4 字节,出厂时默认缺省值为:0xFFFFFFFF。用户可通过指令修改模块地址(参
见设置模块地址指令 SetAdder)。模块地址修改后,新地址在模块断电后依然保存。
4.7 随机数产生器
模块内部集成了硬件 32 位随机数生成器(不需要随机数种子),用户可以通过指令让模块
产生一个随机数并上传,参见采样随机数指令 GetRandomCode。
杭州指安科技有限公司
第 11 页,共 28 页
第五章 通讯协议
通信协议定义了 ZFM-20 系列模块与上位机之间信息交换的规则。无论硬件上采用 UART 还
是 USB 接口型式,都采用同一套通讯协议和指令集。如果上位机采用 PC 机,建议定购 USB 接口
型式的模块,以提高系统速度(由于采用 USB 时上传图像灰度级多且速度快,此时模块可做指纹
采集仪使用)。
5.1 数据包格式
模块与上位机通讯,对命令、数据、结果的接收和发送,都采用数据包的形式进行。
数据包格式:
包头 地址码 包标识 包长度 包内容(指令/数据/参数/确认码) 校验和
数据包详细定义表
名称 符号 长度 说 明
包头 START 2 字节 固定为0xef01, 传送时高字节在前。
地址码 ADDER 4 字节 默认值为0xffffffff, 用户可通过指令生成新地址。模块会拒绝地址错误的数据包。传送时高字节在前。
0x01 表示是命令包(Command packet)。
0x02
表示是数据包(Data packet),且有后续包。
数据包不能单独进入执行流程,必须跟在指令包
或应答包后面。
0x07 表示是应答包(ACK packet),可以有后续包。
包标识 PID 1 字节
0x08 表示是最后一个数据包,即结束包(EndData packet)。
包长度 LENGTH 2 字节
最大值为 256 字节;包长度指的是包内容(指令/数据)的
长度加上效验和的长度(即包内容长度+2)。 长度以字节
为单位,传送时高字节在前。
包内容 DATA - 可以是指令、数据、指令的参数、应答结果等。(指纹特征值、指纹模板都是数据)
校验和 SUM 2 字节 包标示、包长度和包内容的所有字节的算术累计和,超过2 字节的进位忽略。传送时高字节在前。
杭州指安科技有限公司
第 12 页,共 28 页
5.2 数据包的校验与应答
指令只能由上位机下给模块,模块向上位机应答。
模块收到指令后,会通过应答包,将有关命令执行情况与结果上报给上位机。应答包含有参
数,并可跟后续数据包。上位机只有在收到模块的应答包后才能确认模块的收包情况与指令执行
情况。
应答包的内容包括一个字节的确认码(必须有)和可能有的返回参数。
确认码定义表:
1. 0x00:表示指令执行完毕或 OK;
2. 0x01:表示数据包接收错误;
3. 0x02:表示传感器上没有手指;
4. 0x03:表示录入指纹图像失败;
5. 0x06:表示指纹图像太乱而生不成特征;
6. 0x07:表示指纹图像正常,但特征点太少(或面积太小)而生不成特征;
7. 0x08:表示指纹不匹配;
8. 0x09:表示没搜索到指纹;
9. 0x0a:表示特征合并失败;
10. 0x0b:表示访问指纹库时地址序号超出指纹库范围;
11. 0x0c:表示从指纹库读模板出错或无效;
12. 0x0d:表示上传特征失败;
13. 0x0e:表示模块不能接受后续数据包;
14. 0x0f:表示上传图像失败;
15. 0x10:表示删除模板失败;
16. 0x11:表示清空指纹库失败;
17. 0x13:表示口令不正确;
18. 0x15:表示缓冲区内没有有效原始图而生不成图像;
19. 0x18:表示读写 FLASH 出错;
20. 0x1a:无效寄存器号;
21. 0x20:地址码错误;
22. 0x21:必须验证口令;
23. 其它:系统保留。
杭州指安科技有限公司
第 13 页,共 28 页
第六章 模块指令系统
ZFM-20 系列模块共有 21 条指令。应用程序通过指令的不同组合,实现各种指纹识别功能。
所有指令/数据的传输均以数据包的形式传递。包格式和定义参见 5.1 数据包格式。
6.1 系统类指令
1)验证口令 VfyPwd
功能说明:验证模块握手口令(参见 4.6 模块口令)。
输入参数:PassWord
返回参数:确认码
指令代码:0x13
指令包格式:
2 bytes 4 bytes 1 byte 2 bytes 1 byte 4 bytes 2 bytes
包头 模块地址 包标识 包长度 指令码 口令 校验和
0xef01 XXXX 0x01 0x0007 0x13 PassWord Sum
应答包格式:
2 bytes 4 bytes 1 byte 2 bytes 1 byte 2 bytes
包头 模块地址 包标识 包长度 确认码 校验和
0xef01 XXXX 0x07 0x0003 X Sum
注: 确认码=0x00 表示口令验证正确;
确认码=0x01 表示收包有错;
确认码=0x13 表示口令不正确;
★ 指令包校验和(2 bytes)=包标识(1 byte)+包长度(2 bytes)+指令码(1 byte)+口令(4 bytes);
★ 应答包校验和(2 bytes)=包标识(1 byte)+包长度(2 bytes)+确认码(1 byte);
★ 校验和以字节相加,超过 2 字节的进位忽略,传送时高字节在前;
★ 默认模块地址为“0xffffffff”;默认口令为“0x00000000”。
2)设置口令 SetPwd
功能说明:设置模块握手口令(参见 4.6 模块口令)。
输入参数:PassWord
返回参数:确认字
指令代码:0x12
指令包格式:
2 bytes 4 bytes 1 byte 2 bytes 1 byte 4 byte 2 bytes
包头 模块地址 包标识 包长度 指令码 口令 校验和
0xef01 XXXX 0x01 0x0007 0x12 PassWord Sum
杭州指安科技有限公司
第 14 页,共 28 页
应答包格式:
2 bytes 4 bytes 1 byte 2 bytes 1 byte 2 bytes
包头 模块地址 包标识 包长度 确认码 校验和
0xef01 XXXX 0x07 0x0003 X Sum
注: 确认码=0x00 表示 OK;
确认码=0x01 表示收包有错;
★ 指令包校验和(2 bytes)=包标识(1 byte)+包长度(2 bytes)+指令码(1 byte)+口令(4 bytes);
★ 应答包校验和(2 bytes)=包标识(1 byte)+包长度(2 bytes)+确认码(1 byte);
★ 校验和以字节相加,超过 2 字节的进位忽略,传送时高字节在前;
★ 默认模块地址为“0xffffffff”;默认口令为“0x00000000”。
3) 设置模块地址 SetAdder
功能说明:设置模块地址(参见 4.7 模块地址)。
输入参数:模块新地址
返回参数:确认字
指令代码:0x15
指令包格式:
2 bytes 4 bytes 1 byte 2 bytes 1 byte 4 bytes 2 bytes
包头 模块原地址 包标识 包长度 指令码 模块新地址 校验和
0xef01 XXXX 0x01 0x0007 0x15 XXXX Sum
应答包格式:
2 bytes 4 bytes 1 byte 2 bytes 1 byte 2 bytes
包头 模块新地址 包标识 包长度 确认码 校验和
0xef01 XXXX 0x07 0x0003 X Sum
注:确认码=0x00 表示生成地址成功;
确认码=0x01 表示收包有错;
★ 指令包校验和(2 bytes)=包标识(1 byte)+包长度(2 bytes)+指令码(1 byte)+模块新地址(4 bytes);
★ 应答包校验和(2 bytes)=包标识(1 byte)+包长度(2 bytes)+确认码(1 byte);
★ 校验和以字节相加,超过 2 字节的进位忽略,传送时高字节在前;
★ 默认模块地址为“0xffffffff”;默认口令为“0x00000000”。
4)设置模块系统基本参数 SetSysPara
功能说明:工作参数设置(参见 4.4 系统配置参数)。
输入参数:参数序号
返回参数:确认字
指令代码:0x0e
指令包格式:
2 bytes 4 bytes 1 byte 2 bytes 1 byte 1 byte 1 byte 2 bytes
包头 模块地址 包标识 包长度 指令码 参数序号 内容 校验和
0xef01 XXXX 0x01 0x0005 0x0e 4/5/6 X Sum
杭州指安科技有限公司
第 15 页,共 28 页
应答包格式:
2 bytes 4 bytes 1 byte 2 bytes 1 byte 2 bytes
包头 模块地址 包标识 包长度 确认码 校验和
0xef01 XXXX 0x07 0x0003 X Sum
注 :确认码=0x00 表示 OK;
确认码=0x01 表示收包有错;
确认码=0x1a 表示寄存器序号有误;
★ 指令包校验和(2 bytes)=包标识(1 byte)+包长度(2 bytes)+指令码(1 byte)+参数序号(1 byte)
+内容(1 byte);
★ 应答包校验和(2 bytes)=包标识(1 byte)+包长度(2 bytes)+确认码(1 byte);
★ 校验和以字节相加,超过 2 字节的进位忽略,传送时高字节在前;
★ 默认模块地址为“0xffffffff”;默认口令为“0x00000000”。
名称 参数序号 内容
波特率 4 9600×N bps(N 取值范围:1~12)
安全等级 5 分为 5 级,取值范围:1、2、3、4、5
包内容长度 6 取值范围:0、1、2、3,对应长度(字节数)分别为:32、64、128、256
5)读系统参数 ReadSysPara
功能说明:读取模块的状态寄存器和系统基本配置参数(参见 4.4 系统配置参数和 4.5
系统状态寄存器)。
输入参数:none
返回参数:确认字 + 基本参数
指令代码:0x0f
指令包格式:
2 bytes 4 bytes 1 byte 2 bytes 1 byte 2 bytes
包头 模块地址 包标识 包长度 指令码 校验和
0xef01 XXXX 0x01 0x0003 0x0f Sum
应答包格式:
2 bytes 4 bytes 1 byte 2 bytes 1 byte 16 bytes 2 bytes
包头 模块地址 包标识 包长度 确认码 基本参数 校验和
0xef01 XXXX 0x07 0x0013 X 结构见下表 Sum
注:确认码=0x00 表示 OK;
确认码=0x01 表示收包有错;
★ 指令包校验和(2 bytes)=包标识(1 byte)+包长度(2 bytes)+指令码(1 byte);
★ 应答包校验和(2 bytes)=包标识(1 byte)+包长度(2 bytes)+确认码(1 byte)+基本参数(16 bytes);
★ 校验和以字节相加,超过 2 字节的进位忽略,传送时高字节在前;
★ 默认模块地址为“0xffffffff”;默认口令为“0x00000000”。
杭州指安科技有限公司
第 16 页,共 28 页
名称 内容说明 偏移量(字) 大小(字)
状态寄存器 系统的状态寄存器内容 0 1
系统识别码 固定值:0x0000 1 1
指纹库大小 指纹库容量 2 1
安全等级 安全等级代码(1、2、3、4、5) 3 1
设备地址 32 位设备地址 4 2
数据包大小 数据包大小代码(0、1、2、3) 6 1
波特率设置 N(对应波特率为 9600×N bps) 7 1
6) 读指纹模板索引表 ReadConList
功能说明:读取模块指纹模板索引表,且每次最多读取 256 个指纹模板的索引表。
输入参数:索引页
索引页 0 代表读取 0~255 指纹模板索引表
索引页 1 代表读取 256~511 指纹模板索引表
索引页 2 代表读取 512~767 指纹模板索引表
索引页 3 代表读取 768~1024 指纹模板索引表
返回参数:确认字 + 指纹模板索引表
指令代码:0x1f
指令包格式:
2 bytes 4 bytes 1 byte 2 bytes 1 byte 1 byte 2 bytes
包头 芯片地址 包标识 包长度 指令码 索引页 校验和
0xef01 XXXX 0x01 0x0004 0x1f 0/1/2/3 Sum
应答包格式:
2 bytes 4 bytes 1 byte 2 bytes 1 byte 32 bytes 2 bytes
包头 芯片地址 包标识 包长度 确认码 索引表 校验和
0xef01 XXXX 0x07 0x0023 X 结构见下表 Sum
注:1、确认码=0x00 表示读索引表成功;
确认码=0x01 表示收包有错;
2、每次最多读取 256 枚指纹模板索引数据,数据不足 256 位的补“0”。
3、索引表数据结构:每 8 位为一组,且每组由高位开始输出。详情见下表:
传输顺序 由低字节到高字节顺序输出,且每个字节由高位开始输出。
模板号 7 6 5 4 3 2 1 0 最低
有效字节 模板索引表数据 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1
模板号 15 14 13 12 11 10 9 8 低二
有效字节 模板索引表数据 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1
… … …
模板号 255 254 253 252 251 250 249 248 最高
有效字节 模板索引表数据 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1
注:索引表数据“0”代表对应位置无有效模板;“1”代表对应位置有有效模板。
杭州指安科技有限公司
第 17 页,共 28 页
★ 指令包校验和(2 bytes)=包标识(1 byte)+包长度(2 bytes)+指令码(1 byte)+索引页(1 byte);
★ 应答包校验和(2 bytes)=包标识(1 byte)+包长度(2 bytes)+确认码(1 byte)+索引表(N bytes);
★ 校验和以字节相加,超过 2 字节的进位忽略,传送时高字节在前;
★ 默认模块地址为“0xffffffff”;默认口令为“0x00000000”。
7)读有效模板个数 TempleteNum
功能说明:读模块内已存储的指纹模板个数。
输入参数:none
返回参数:确认字 + 模板个数 N
指令代码:0x1d
指令包格式:
2 bytes 4 bytes 1 byte 2 bytes 1 byte 2 bytes
包头 模块地址 包标识 包长度 指令码 校验和
0xef01 XXXX 0x01 0x0003 0x1d 0x0021
应答包格式:
2 bytes 4 bytes 1 byte 2 bytes 1 byte 2 bytes 2 bytes
包头 模块地址 包标识 包长度 确认码 模板个数 校验和
0xef01 XXXX 0x07 0x0005 X N Sum
注:确认码=0x00 表示读取成功;
确认码=0x01 表示收包有错;
★ 指令包校验和(2 bytes)=包标识(1 byte)+包长度(2 bytes)+指令码(1 byte);
★ 应答包校验和(2 bytes)=包标识(1 byte)+包长度(2 bytes)+确认码(1 byte)+模板个数(2 bytes);
★ 校验和以字节相加,超过 2 字节的进位忽略,传送时高字节在前;
★ 默认模块地址为“0xffffffff”;默认口令为“0x00000000”。
6.2 指纹处理类指令
8)录指纹图像 GenImg
功能说明:探测手指,探测到后录入指纹图像存于 ImageBuffer,并返回录入成功确认
码。若探测不到手指,直接返回无手指确认码。
输入参数:none
返回参数:确认字
指令代码:0x01
指令包格式:
2 bytes 4 bytes 1 byte 2 bytes 1 byte 2 bytes
包头 模块地址 包标识 包长度 指令码 校验和
0xef01 XXXX 0x01 0x0003 0x01 0x0005
应答包格式:
2 bytes 4 bytes 1 byte 2 bytes 1 byte 2 bytes
包头 模块地址 包标识 包长度 确认码 校验和
杭州指安科技有限公司
第 18 页,共 28 页
0xef01 XXXX 0x07 0x0003 X Sum
注:确认码=0x00 表示录入成功;
确认码=0x01 表示收包有错;
确认码=0x02 表示传感器上无手指;
确认码=0x03 表示录入不成功;
★ 指令包校验和(2 bytes)=包标识(1 byte)+包长度(2 bytes)+指令码(1 byte);
★ 应答包校验和(2 bytes)=包标识(1 byte)+包长度(2 bytes)+确认码(1 byte);
★ 校验和以字节相加,超过 2 字节的进位忽略,传送时高字节在前;
★ 默认模块地址为“0xffffffff”;默认口令为“0x00000000”。
9)上传图像 UpImage
功能说明:将模块图像缓冲区 ImageBuffer 中的数据上传给上位机上传给上位机(参见
1.1.1 图像缓冲区)。
输入参数:none
返回参数:确认字
指令代码:0x0a
指令包格式:
2 bytes 4 bytes 1 byte 2 bytes 1 byte 2 bytes
包头 模块地址 包标识 包长度 指令码 校验和
0xef01 XXXX 0x01 0x0003 0x0a 0x000e
应答包格式:
2 bytes 4 bytes 1 byte 2 bytes 1 byte 2 bytes
包头 模块地址 包标识 包长度 确认码 校验和
0xef01 XXXX 0x07 0x0003 X Sum
数据包(有后续包)格式:
2 bytes 4 bytes 1 byte 2 bytes N bytes 2 bytes
包头 模块地址 包标识 包长度 包内容 校验和
0xef01 XXXX 0x02 N+2 图像数据 Sum
结束包(无后续包)格式:
2 bytes 4 bytes 1 byte 2 bytes N bytes 2 bytes
包头 模块地址 包标识 包长度 包内容 校验和
0xef01 XXXX 0x08 N+2 图像数据 Sum
注:1、确认码=0x00 表示接着发送后续数据包;
确认码=0x01 表示收包有错;
确认码=0x0f 表示不能发送后续数据包;
2、发送指令包,模块应答后发送数据包或结束包,且数据包和结束包无应答包;
3、包内容字节数 N 的值由包内容的长度决定,出厂包内容长度设置为 128 bytes;
★ 指令包校验和(2 bytes)=包标识(1 byte)+包长度(2 bytes)+指令码(1 byte);
★ 应答包校验和(2 bytes)=包标识(1 byte)+包长度(2 bytes)+确认码(1 byte);
★ 校验和以字节相加,超过 2 字节的进位忽略,传送时高字节在前;
★ 默认模块地址为“0xffffffff”;默认口令为“0x00000000”。
杭州指安科技有限公司
第 19 页,共 28 页
10)下载图像 DownImage
功能说明:上位机下载图像数据到模块图像缓冲区 ImageBuffer 中参见 1.1.1 图像缓冲
区)。
输入参数:none
返回参数:确认字
指令代码:0x0b
指令包格式:
2 bytes 4 bytes 1 byte 2 bytes 1 byte 2 bytes
包头 模块地址 包标识 包长度 指令码 校验和
0xef01 XXXX 0x01 0x0003 0x0b 0x000f
应答包格式:
2 bytes 4 bytes 1 byte 2 bytes 1 byte 2 bytes
包头 模块地址 包标识 包长度 确认码 校验和
0xef01 XXXX 0x07 0x0003 X Sum
数据包(有后续包)格式:
2 bytes 4 bytes 1 byte 2 bytes N bytes 2 bytes
包头 模块地址 包标识 包长度 包内容 校验和
0xef01 XXXX 0x02 N+2 图像数据 Sum
结束包(无后续包)格式:
2 bytes 4 bytes 1 byte 2 bytes N bytes 2 bytes
包头 模块地址 包标识 包长度 包内容 校验和
0xef01 XXXX 0x08 N+2 图像数据 Sum
注:1、确认码=0x00 表示可以接收后续数据包;
确认码=0x01 表示收包有错;
确认码=0x0e 表示不能接收后续数据包。
2、发送指令包,模块应答后接收数据包或结束包。
3、包内容字节数 N 的值由包内容的长度决定,出厂包内容长度设置为 128 bytes。
★ 指令包校验和(2 bytes)=包标识(1 byte)+包长度(2 bytes)+指令码(1 byte);
★ 应答包校验和(2 bytes)=包标识(1 byte)+包长度(2 bytes)+确认码(1 byte);
★ 校验和以字节相加,超过 2 字节的进位忽略,传送时高字节在前;
★ 默认模块地址为“0xffffffff”;默认口令为“0x00000000”。
11)图像生成特征 Img2Tz
功能说明:将 ImageBuffer 中的原始图像生成指纹特征,文件存于 CharBuffer1 或
CharBuffer2。
输入参数:BufferID(特征缓冲区号)
返回参数:确认字
指令代码:0x02
指令包格式:
杭州指安科技有限公司
第 20 页,共 28 页
2 bytes 4 bytes 1 byte 2 bytes 1 byte 1 byte 2 bytes
包头 模块地址 包标识 包长度 指令码 缓冲区号 校验和
0xef01 XXXX 0x01 0x0004 0x02 BufferID Sum
注:缓冲区 CharBuffer1、CharBuffer2 的 BufferID 分别为 0x01 和 0x02,如果指定其
它值,按照 CharBuffer2 处理。