ZAZ用户手册.docx
《ZAZ用户手册.docx》由会员分享,可在线阅读,更多相关《ZAZ用户手册.docx(27页珍藏版)》请在冰豆网上搜索。
ZAZ用户手册
深圳市指昂科技有限公司
ShenzhenZhiAngScienceandTechnologyCo.,Ltd.
ZAZ-050
指纹识别模块
第一章概述
ZAZ-050指纹模块系指昂科技推出的,以高速DSP处理器为核心,结合具有公司自主知识产权的光学指纹传感器,具有指纹录入、图像处理、指纹比对、搜索和模板储存等功能的智能型模块。
1.1产品原理介绍
ZAZ-050指纹模块操作流程如下:
操作
注册指纹
标准流程
打开设备→获取指纹图像→生成特征1→获取指纹图像→生成特征2→合成指纹模版→存储特征1到指纹数据库
精简流程
打开设备→获取指纹图像→生成特征1→存储特征1到指纹数据库
操作
搜索指纹
标准流程
打开设备→获取指纹图像→生成特征1→搜索指纹库→返回位置及得分
操作
比对指纹
标准流程
打开设备→获取指纹图像→生成特征1→加载指纹库特征2→对比特征1与特征2→返回位置及得分
1.2产品规格
电气参数
供电电压
5V(典型值),范围是:
4.2V-7.0V
供电电流
60mA(典型值),峰值电流:
80mA
指纹图像录入时间
<0.5秒
工作温度
-30℃-+70℃
存储温度
-40℃-+80℃
工作湿度
20%—90%
存储湿度
16%—95%
性能参数
采集窗口尺寸
21MM*24MM
有效图像尺寸
17MM*19.3MM
图像大小
256*288pixel
图像像素
500DPI
匹配方式
比对方式(1:
1)搜索方式(1:
N)
指纹特征
512字节有效数据是256字节
指纹模板
512字节有效数据是512字节
存储容量
200枚
安全等级
五级(从低到高:
1、2、3、4、5)
认假率(FAR)
<0.001%(安全等级为3时)
拒真率(FRR)
<0.005%(安全等级为3时)
搜索时间
<1.0秒(1:
1000时,均值)
通讯接口
UART(TTL逻辑电平)或者USB1.1/2.0兼容
通讯波特率(UART)
(9600╳N)bps,其中N=1—12(默认出厂N=6,即57600bps)
特殊功能
具体指纹自学习功能
注:
指纹特征和指纹模板的实际大小均为512字节,只是指纹特征内只有256字节数据是有效的指纹模板是两个指纹特征合并而来,所以512字节数据均为有效数据。
第二章硬件接口
2.1上电延时时间
模块上电后,约需500mS时间进行初始化工作。
在此期间,模块不能响应上位机命令。
2.2接口定义(TTL电平)
USB接口引脚定义如下:
引脚号
名称
类型
功能描述
1
Vcc
in
电源正输入端。
(5v)
2
D+
In/Out
USB数据线。
(DP+)
3
D-
In/Out
USB数据线。
(DP-)
4
GND
-
信号地。
内部与电源地连接。
5
无
6
无
Usart接口引脚定义如下:
引脚号
名称
类型
功能描述
1
VCC
in
电源正输入端。
(4.7-7v)
2
TXD
In/Out
设备串口发送端
3
RXD
In/Out
设备串口接收端
4
GND
-
信号地。
内部与电源地连接。
注:
类型栏中,in表示输入到模块,out表示从模块输出
第三章系统资源
为满足不同客户需求,模块系统提供了大量资源提供给用户系统使用。
3.1缓冲区
模块RAM资源如下:
一个图像缓冲区ImageBuffer[256*288]
两个特征文件缓冲区CharBuffer1[512]和CharBuffer2[512]。
用户可以通过指令读写任意一个缓冲区。
图像缓冲区和特征文件缓冲区内容断电不保存。
3.1.1图像缓冲区
图像缓冲区ImageBuffer用于存放图像数据和模块内部图像处理使用。
通过UART传输图像为了加快速度,只用像素字节高四位,每字节表示两个像素,即16级灰度
通过USB口传送则是整8位像素,即256灰度等级。
3.1.2特征文件缓冲区
特征文件缓冲区CharBuffer1或CharBuffer2存放特征文件或模板特征文件。
特征文件和模板文件均为512字节大小,只是特征文件有效数据是256字节,而模板文件是两个特征文件的合成,是取两个特征文件的并集,所以有效数据是512字节
3.2指纹库
模块在FLASH中开辟了一段存储区域作为指纹模板存放区即指纹库。
指纹库数据是断电保护的。
指纹模板按照序号存放,若指纹库容量为N,则指纹模板在指纹库中的序号定义为:
0、1、2------N-2、N-1。
用户只能根据序号访问指纹库内容。
3.3系统配置参数
为方便用户使用,模块开放部分系统参数,允许用户通过指令,单个修改指定的参数数值。
参见设置模块系统基本参数指令SetSysPara和读系统参数指令ReadSysPara。
上位机发修改系统参数指令时,模块先按照原配置进行应答,应答之后修改系统设置,并将配置记录于FLASH,系统下次上电后,将按照新的配置工作。
3.3.1波特率控制(参数序号:
4)
该参数控制模块与上位机通过UART通讯时的通讯波特率,若参数值为N(N取值范围
1~12),对应波特率为(9600╳N)bps。
3.3.2安全等级(参数序号:
5)
该参数控制指纹比对和搜索时比对阀值,分为5级,取值范围为:
1、2、3、4、5。
安全等级为1时认假率最高,拒认率最低。
安全等级为5时认假率最低,拒认率最高。
3.3.3数据包长度(参数序号:
6)
该参数控制模块与上位机通讯时,每次传送时允许数据中包内容的最大长度,取值范围
为:
0、1、2、3,对应长度(字节数)分别为:
32、64、128、256。
第四章通讯协议
通信协议定义了模块与上位机之间信息交换的规则。
无论硬件上采用UART还是USB接口型式,都采用同一套通讯协议和指令集。
1.数据包格式
模块与上位机通讯,对命令、数据、结果的接收和发送,都采用数据包的形式进行。
数据包格式:
包头
地址码
包标识
包长度
包内容(指令/数据/参数)
校验和
数据包详细定义表
名称
符号
长度
说明
包头
Start
2字节
固定为0xEF01,传送时高字节在前。
地址码
ADDER
4字节
默认值为0xFFFFFFFF,用户可通过指令生成新地址。
模块
会拒绝地址错误的数据包。
传送时高字节在前。
包标识
PID
1字节
01H
表示是命令包(commandpacket)。
02H
表示是数据包(Datapacket),且有后续包。
数据包不能单独进入执行流程,必须跟在指令包或应答包后面。
07H
表示是应答包(ACKpacket),可以有后续包。
08H
表示是最后一个数据包,即结束包(EndDatapacket)。
包长度
LENGTH
2字节
最大值为256字节;包长度指的是包内容(指令/数据)的长度加上效验和的长度(即包内容长度+2)。
长度以字节
为单位,传送时高字节在前。
包内容
DATA
-
可以是指令、数据、指令的参数、应答结果等。
(指纹特
征值、指纹模板都是数据)
校验和
SUM
2字节
包标示、包长度和包内容的所有字节的算术累计和,超过
2字节的进位忽略。
传送时高字节在前。
2.数据包的校验与应答
指令只能由上位机发给模块,模块向上位机应答。
模块收到指令后,会通过应答包,将有关命令执行情况与结果上报给上位机。
应答包含有参数,并可跟后续数据包。
上位机只有在收到模块的应答包后才能确认模块的收包情况与指令执行情况。
应答包的内容包括一个字节的确认码(必须有)和可能有的返回参数。
第五章模块指令系统
模块有以下指令。
应用程序通过指令的不同组合,实现各种指纹识别功能。
所有指令/数据的传输均以数据包的形式传递。
1指纹处理类指令
1)获取图像ZAZ_GetImg
功能说明:
探测手指,探测到后录入指纹图像存于ImageBuffer,并返回录入成功确认码。
若探测不到手指,直接返回无手指确认码。
输入参数:
none
返回参数:
确认字
指令代码:
01H
指令包格式:
2bytes
4bytes
1byte
2bytes
1byte
2bytes
包头
模块地址
包标识
包长度
指令码
校验和
0xEF01
Xxxx
01H
00H03H
01H
00H05H
应答包格式:
2bytes
4bytes
1byte
2bytes
1byte
2bytes
包头
模块地址
包标识
包长度
确认码
校验和
0xEF01
Xxxx
07H
00H03H
xxH
Sum
注:
确认码=00H表示录入成功;确认码=01H表示收包有错;
确认码=02H表示传感器上无手指;确认码=03H表示录入不成功;
2)图像生成特征ZAZ_GenChar
功能说明:
将ImageBuffer中的原始图像生成指纹特征,文件存于CharBuffer1或
CharBuffer2。
输入参数:
BufferID(特征缓冲区号)
返回参数:
确认字
指令代码:
02H
指令包格式:
2bytes
4bytes
1byte
2bytes
1byte
1byte
2bytes
包头
模块地址
包标识
包长度
指令码
缓冲区号
校验和
0xEF01
xxxx
01H
00H04H
02H
BufferID
sum
注:
缓冲区CharBuffer1、CharBuffer2的BufferID分别为1h和2h,如果指定其它值,按照CharBuffer2处理。
应答包格式:
2bytes
4bytes
1byte
2bytes
1byte
2bytes
包头
模块地址
包标识
包长度
确认码
校验和
0xEF01
xxxx
07H
00H03H
XxH
sum
注:
确认码=00H表示生成特征成功;确认码=01H表示收包有错;
确认码=06H表示指纹图像太乱而生不成特征;
确认码=07H表示指纹图像正常,但特征点太少而生不成特征;
确认码=15H表示图像缓冲区内没有有效原始图而生不成图像;
3)特征合成模板ZAZ_RegModel
功能说明:
将CharBuffer1与CharBuffer2中的特征文件合并生成模板,结果存于CharBuffer1与CharBuffer2(两者内容相同)。
输入参数:
none
返回参数:
确认字
指令代码:
05H
指令包格式:
2bytes
4bytes
1byte
2bytes
1byte
2bytes
包头
模块地址
包标识
包长度
指令码
校验和
0xEF01
xxxx
01H
00H03H
05H
00H09H
应答包格式:
2bytes
4bytes
1byte
2bytes
1byte
2bytes
包头
模块地址
包标识
包长度
确认码
校验和
0xEF01
xxxx
07H
00H03H
xxH
sum
注:
确认码=00H表示合并成功;
确认码=01H表示收包有错;
确认码=0aH表示合并失败(两枚指纹不属于同一手指);
4)上传特征或模板ZAZ_UpChar
功能说明:
将特征缓冲区CharBuffer1或CharBuffer2中的特征文件上传给上位机输入参数:
BufferID(缓冲区号)
返回参数:
确认字
指令代码:
08H
指令包格式:
2bytes
4bytes
1byte
2bytes
1byte
1byte
2bytes
包头
模块地址
包标识
包长度
指令码
缓冲区号
校验和
0xEF01
xxxx
01H
00H04H
08H
BufferID
sum
注:
缓冲区CharBuffer1、CharBuffer2的BufferID分别为1h和2h
应答包格式:
2bytes
4bytes
1byte
2bytes
1byte
2bytes
包头
模块地址
包标识
包长度
确认码
校验和
0xEF01
xxxx
07H
00H03H
xxH
sum
注:
1:
确认码=00H表示随后发数据包;
确认码=01H表示收包有错;
确认码=0dH表示指令执行失败;
2:
应答之后发送后续数据包
3:
该指令不影响模块特征缓冲区中的内容。
5)下载特征或模板ZAZ_DownChar
功能说明:
上位机下载特征文件到模块的一个特征缓冲区中
输入参数:
BufferID(缓冲区号)
返回参数:
确认字
指令代码:
09H
指令包格式:
2bytes
4bytes
1byte
2bytes
1byte
1byte
2bytes
包头
模块地址
包标识
包长度
指令码
缓冲区号
校验和
0xEF01
xxxx
01H
00H04H
09H
BufferID
sum
注:
缓冲区CharBuffer1、CharBuffer2的BufferID分别为1h和2h
应答包格式:
2bytes
4bytes
1byte
2bytes
1byte
2bytes
包头
模块地址
包标识
包长度
确认码
校验和
0xEF01
xxxx
07H
00H03H
xxH
sum
注:
1:
确认码=00H表示可以接收后续数据包;
确认码=01H表示收包有错;
确认码=0eH表示不能接收后续数据包;
2:
应答之后接收后续数据包
6)存储模板ZAZ_Store
功能说明:
将指定的特征缓冲区(Buffer1或Buffer2)中的模板数据存储到Flash指纹库中指定位置。
输入参数:
BufferID(缓冲区号),PageID(指纹库位置号,两个字节,高字节在前)
返回参数:
确认字
指令代码:
06H
指令包格式:
2bytes
4bytes
1byte
2bytes
1byte
1byte
2bytes
2bytes
包头
模块地址
包标识
包长度
指令码
缓冲区号
位置号
校验和
0xEF01
xxxx
01H
00H06H
06H
BufferID
PageID
sum
注:
缓冲区CharBuffer1、CharBuffer2的BufferID分别为1h和2h
应答包格式:
2bytes
4bytes
1byte
2bytes
1byte
2bytes
包头
模块地址
包标识
包长度
确认码
校验和
0xEF01
Xxxx
07H
00H03H
xxH
sum
注:
确认码=00H表示储存成功;
确认码=01H表示收包有错;
确认码=0bH表示PageID超出指纹库范围
确认码=18H表示写FLASH出错;
7)读出模板ZAZ_LoadChar
功能说明:
将flash数据库中指定ID号的指纹模板读入到模板缓冲区CharBuffer1或
CharBuffer2
输入参数:
BufferID(缓冲区号),PageID(指纹库模板号,两个字节,高字节在前)
返回参数:
确认字
指令代码:
07H
指令包格式:
2bytes
4bytes
1byte
2bytes
1byte
1byte
2bytes
2bytes
包头
模块地址
包标识
包长度
指令码
缓冲区号
页码
校验和
0xEF01
xxxx
01H
00H06H
07H
BufferID
PageID
sum
注:
缓冲区CharBuffer1、CharBuffer2的BufferID分别为1h和2h
应答包格式:
2bytes
4bytes
1byte
2bytes
1byte
2bytes
包头
模块地址
包标识
包长度
确认码
校验和
0xEF01
xxxx
07H
00H03H
XxH
sum
注:
确认码=00H表示读出成功;确认码=01H表示收包有错;
确认码=0cH表示读出有错或模板无效;确认码=0BH表示PageID超出指纹库范围;
8)删除模板ZAZ_DeletChar
功能说明:
删除模块指纹库中指定的一段(指定ID号开始的N个指纹模板)模板。
输入参数:
PageID(指纹库模板号),N—删除的模板个数
返回参数:
确认字
指令代码:
0cH
指令包格式:
2bytes
4bytes
1byte
2bytes
1byte
2bytes
2bytes
2bytes
包头
模块地址
包标识
包长度
指令码
页码
删除个数
校验和
0xEF01
Xxxx
01H
00H07H
0cH
PageID
N
sum
应答包格式:
2bytes
4bytes
1byte
2bytes
1byte
2bytes
包头
模块地址
包标识
包长度
确认码
校验和
0xEF01
Xxxx
07H
00H03H
xxH
sum
注:
确认码=00H表示删除模板成功;
确认码=01H表示收包有错;
确认码=10H表示删除模板失败;
9)清空指纹库ZAZ_Empty
功能说明:
删除模块中指纹库内所有指纹模板。
输入参数:
none
返回参数:
确认字
指令代码:
0dH
指令包格式:
2bytes
4bytes
1byte
2bytes
1byte
2bytes
包头
模块地址
包标识
包长度
指令码
校验和
0xEF01
Xxxx
01H
00H03H
0dH
0011H
应答包格式:
2bytes
4bytes
1byte
2bytes
1byte
2bytes
包头
模块地址
包标识
包长度
确认码
校验和
0xEF01
Xxxx
07H
00H03H
xxH
sum
注:
确认码=00H表示清空成功;
确认码=01H表示收包有错;
确认码=11H表示清空失败;
10)精确比对两枚指纹特征ZAZ_Match
功能说明:
精确比对(1:
1)CharBuffer1与CharBuffer2中的特征文件,并给比对结果。
输入参数:
none
返回参数:
确认字比对得分指令代码:
03H
指令包格式:
2bytes
4bytes
1byte
2bytes
1byte
2bytes
包头
模块地址
包标识
包长度
指令码
校验和
0xEF01
xxxx
01H
00H03H
03H
0007H
应答包格式:
2bytes
4bytes
1byte
2bytes
1byte
2bytes
2bytes
包头
模块地址
包标识
包长度
确认码
得分
校验和
0xEF01
xxxx
07H
00H05H
XxH
XxH
sum
注:
1:
确认码=00H表示指纹匹配;确认码=01H表示收包有错;
确认码=08H表示指纹不匹配
2:
该指令执行后,两特征缓冲区中的内容不变。
11)搜索指纹ZAZ_Search
功能说明:
以CharBuffer1或CharBuffer2中的特征文件搜索整个或部分指纹库。
若搜索到,则返回页码。
输入参数:
BufferID,StartPage(起始页),PageNum(页数)
返回参数:
确认字,页码(相配指纹模板)
指令代码:
04H
指令包格式:
2bytes
4bytes
1byte
2bytes
1byte
1byte
2bytes
2bytes
2bytes
包头
模块地址
包标识
包长度
指令码
缓冲区号
参数
参数
校验和
0xEF01
xxxx
01H
00H08H
04H
BufferID
StartPage
PageNum
sum
注:
缓冲区CharBuffer1、CharBuffer2的BufferID分别为1h和2h
应答包格式:
2bytes
4bytes
1byte
2bytes
1byte
2bytes
2bytes
2bytes
包头
模块地址
包标识
包长度
确认码
页码
得分
校验和
0xEF01
xxxx
07H
07H
xxH
PageID
MatchScore
sum
注:
1:
确认码=00H表示搜索到;
确认码=01H表示收包有错;
确认码=09H表示没搜索到;此时页码与得分为0
2:
该指令执行后,特征缓冲区中的内容不变。
12)读有效模板个数ZAZ_TempleteNum
功能说明:
读模块内已存储的指纹模板个数输入参数:
none
返回参数:
确认字,模板个数N
指令代码:
1dH
指令包格式:
2bytes
4bytes
1byte
2bytes
1byte
2bytes
包头
模块地址
包标识
包长度
指令码
校验和
0xEF01
xxxx
01H
00H03H
1dH
0021H
应答包格式:
2bytes
4bytes
1byte
2bytes
1byte
2bytes
2bytes
包头
模块地址
包标