FPC1020指纹模块用户使用手册.docx
- 文档编号:9315551
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:75
- 大小:540.91KB
FPC1020指纹模块用户使用手册.docx
《FPC1020指纹模块用户使用手册.docx》由会员分享,可在线阅读,更多相关《FPC1020指纹模块用户使用手册.docx(75页珍藏版)》请在冰豆网上搜索。
FPC1020指纹模块用户使用手册
IDWD1020指纹识别模块用户手册
IDWD1020FingerprintModuleUser’sGuide
(Ver1.1)
北京艾迪沃德科技发展有限公司
http:
//www.idworld.cc
2014年6月第二版
(一)概述
本文描述了IDWorld公司指纹识别模块的串口参数,通讯过程,指令/数据格式。
本指令集适用于光学和面阵式半导体指纹传感器及滑动式指纹传感器。
滑动式指纹传感器在采集图像(CMD_GET_IMAGE)时手指要有一个滑动操作过程,需要模块自身控制和判别滑动是否结束,因此增加了采集指纹超时(FPTimeOut)及取消采集指纹命令(CMD_FP_CANCEL)。
参数(FPTimeOut)及指令(CMD_FP_CANCEL)只适用于滑动指纹传感器
通讯过程:
所有指令的发送、接收必须要遵循一发一收的原则。
主机(Host)在没有收到应答时,不可以向目标模块(TARGET)发送指令。
数据传送:
数据以串行异步方式传送,第一位为起始位,其后是数据位。
字节(Byte)遵循最低有效位优先传送的规则
字(Word)遵循低字节优先高字节在后传送的规则。
串行通讯所用参数如下:
起始位:
1位(1bit)
数据位:
8位(8bit)
停止位:
1位(1bit)
校验位:
无
波特率:
9600/19200/38400/57600/115200/230400/460800/921600,默认值:
115200BPS
IDWorld指纹识别模块所采用的指纹图像如下:
分辨率:
500DPI
灰度:
256(8位)灰度
像素大小:
光学采集器:
242*266;
按压式半导体采集器:
202*258;
滑动式半导体采集器FPC1080:
128*436;
主要功能:
不仅仅具有活体指纹注册入库(容量支持:
1700/2000/3000),指纹验证(Verify)和识别(Identify),删除指定编号范围的指纹等常规功能外,还具有如下功能:
1.上传指纹特征数据到主机,下载指纹特征数据到模块(入库/验证/识别)
2.上传指纹图像到主机,下载指纹图像到模块(提取指纹特征入库/与活体指纹验证/识别)
3.检查指定编号范围内的已注册保存在模块闪存内的指纹模板数据是否有坏损情况
4.设置/读取指纹模块的序列号
(二)
通讯协议
2.1通讯处理过程
主机HOST指纹模块TARGET
图2-1通讯过程
注:
通讯过程中,所有指令的发送、接收必须要遵循一发一收的原则。
Host在没有收到应答时,不可以向TARGET发送指令。
2.2通讯包Packet的分类
2.2.1命令包Commandpacket
●命令包说明从Host至Target的指令内容。
●从Host中发出的所有指令,都通过命令包Commandpacket传输。
●命令包Commandpacket的帧长度为26字节bytes。
2.2.2响应包Responsepacket
●响应包指从Target至Host的应答内容。
●所有指令收到相应处理结果即Responsepacket后终止其使命。
●响应包Responsepacket的长度为26字节byte。
2.2.3指令/响应的数据包DataPacket
●当指令参数或响应数据的长度大于16byte时,利用指令/响应数据包DataPacket传输数据。
●Host须在发送指令数据包之前,利用命令包Commandpacket将数据包的长度告知模块Target
●指令参数或相应数据包的最大长度为500byte
2.3通讯包的帧结构
2.3.1通讯包Parket识别代码
通讯包Packet的开始2byte为表示通讯包packet种类的识别码,其如下表2-1:
Packet类别
Code包类别识别码
命令包Commandpacket
0xAA55
响应包Responsepacket
0x55AA
指令数据包CommandDataPacket
0xA55A
响应数据包ResponseDataPacket
0x5AA5
表2-1Packet识别代码
2.3.2命令包(Commandpacket)的帧结构
PREFIX
SID
DID
CMD
LEN
DATA
CKS
0x55
0xAA
源ID
目标ID
L
H
L
H
D0
D1
…
D15
L
H
0
1
2
3
4
5
6
7
8
9
…
23
24
25
表2-2命令包(Commandpacket)的结构如下:
偏移值
OFFSET
域定义
FIELD
数据类型
TYPE
字节数
SIZE
描述
DESCRYPTION
0
PREFIX
WORD
2byte
包识别码PacketIdentifycode
2
SID
BYTE
1byte
源标识SoruceDeviceID
3
DID
BYTE
1byte
目标标识DestinationDeviceID
4
CMD
WORD
2byte
命令字CommandCode
6
LEN
WORD
2byte(=n,n<16)
数据长度LengthofDATA
8
DATA
ByteArray
16byte
命令参数CommandParameter
(实际数据为nbyte)
24
CKS
WORD
2byte
校验和CheckSum:
从PREFIX~DATA所有数据的算术和的最低2字节
2.3.3响应包(Responsepacket)的帧结构
PREFIX
SID
DID
RCM
LEN
RET
DATA
CKS
0x55
0xAA
源ID
目标ID
L
H
L
H
L
H
D0
D1
…
D15
L
H
0
1
2
3
4
5
6
7
8
9
10
11
…
24
25
26
表2-3响应包(Responsepacket)的结构如下:
偏移值
OFFSET
域定义
FIELD
数据类型
TYPE
字节数
SIZE
描述
DESCRYPTION
0
PREFIX
WORD
2byte
包识别码PacketIdentifycode
2
SID
BYTE
1byte
源标识SoruceDeviceID
3
DID
BYTE
1byte
目标标识DestinationDeviceID
4
RCM
WORD
2byte
响应码ResponseCode
6
LEN
WORD
2byte(=n,n<16)
长度LengthofRETandDATA
8
RET
WORD
2byte
结果码ResultCode(0:
成功,1:
失败)
10
DATA
ByteArray
14byte
响应数据ResponseData(实际为n-2byte)
24
CKS
WORD
2byte
校验和CheckSum:
从PREFIX~DATA所有数据的算术和的最低2字节
2.3.4指令数据包(CommandDataPacket)的帧结构
PREFIX
SID
DID
CMD
LEN
DATA
CKS
0x5A
0xA5
源ID
目标ID
L
H
L
H
D0
D1
…
Dn-1
L
H
0
1
2
3
4
5
6
7
8
9
…
8+n-1
8+n
8+n+1
表2-4指令数据包(CommandDataPacket)的结构如下:
偏移值
OFFSET
域定义
FIELD
数据类型
TYPE
字节数
SIZE
描述
DESCRYPTION
0
PREFIX
WORD
2byte
包识别码PacketIdentifycode
2
SID
BYTE
1byte
源标识SourceDeviceID
3
DID
BYTE
1byte
目标标识DestinationDeviceID
4
CMD
WORD
2byte
命令码CommandCode
6
LEN
WORD
2byte(=n,n<500)
数据长度LengthofDATA
8
DATA
ByteArray
nbyte
命令参数Commandparameter
8+n
CKS
WORD
2byte
校验和CheckSum:
从PREFIX~DATA所有数据的算术和的最低2字节
Host须在发送指令数据包之前先传输命令包(Commandpacket),使得模块Target进入指令数据包(CommandDatapacket)接收等待状态。
在该命令包(Commandpacket)的数据域(DATAfield)中,须设定待传输的指令数据包的长度。
Host应在确认Target处于指令数据包接收等待状态后传输指令数据包(CommandDataPacket)。
2.3.5响应数据包(Responsedatapacket)的帧结构
PREFIX
SID
DID
RCM
LEN
RET
DATA
CKS
0xA5
0x5A
源ID
目标ID
L
H
L
H
L
H
D0
D1
…
Dn-3
L
H
0
1
2
3
4
5
6
7
8
9
10
11
…
8+n-1
8+n
8+n+1
表2-5响应数据包(ResponseDataPacket)的结构如下:
偏移值
OFFSET
域定义
FIELD
数据类型
TYPE
字节数
SIZE
DESCRYPTION
0
PREFIX
WORD
2byte
包标识PacketIdentifycode
2
SID
BYTE
1byte
源标识SoruceDeviceID
3
DID
BYTE
1byte
目标标识DestinationDeviceID
4
CMD
WORD
2byte
响应码ResponseCode
6
LEN
WORD
2byte(=n,n<500)
结果接数据长度
Lengthofresultdata(RET+DATA)
8
RET
WORD
2byte
结果码Resultcode(0:
成功,1:
失败)
10
DATA
ByteArray
n-2byte
响应数据Responsedata
8+n
CKS
WORD
2byte
校验和CheckSum:
从PREFIX~DATA所有数据的算术和的最低2字节
注:
从模块Target至Host中传输14byte以上数据时,需利用响应数据包(Responsedatapacket)
(三)
通讯命令(Command)综述
3.1指纹特征模板(TemplateRecord)的数据结构
TemplateData
CheckSum
496byte
2byte
TemplateData
TemplateData的每个字节的算术和的最低2字节.
表3-1TemplateRecord的结构
注:
每个指纹特征模板数据为498字节:
TemplateData(496Bytes)+CheckSum(2Bytes)
3.2命令列表(CommandList)
序号
No
命令名称
CommandName
命令码
Code
命令功能
Function
1
CMD_TEST_CONNECTION
0x0001
进行与设备的通讯测试
2
CMD_SET_PARAM
0x0002
设置设备参数(DeviceID,SecurityLevel,Baudrate,DuplicationCheck,AutoLearn)
3
CMD_GET_PARAM
0x0003
获取设备参数(DeviceID,SecurityLevel,Baudrate,DuplicationCheck,AutoLearn)
4
CMD_GET_DEVICE_INFO
0x0004
获取设备信息
5
CMD_ENTER_IAP_MODE
0x0005
将设备设置为IAP状态
6
CMD_GET_IMAGE
0x0020
从采集器采集指纹图像并保存于ImageBuffer中
7
CMD_FINGER_DETECT
0x0021
检测指纹输入状态
8
CMD_UP_IMAGE
0x0022
将保存于ImageBuffer中的指纹图像上传至HOST
9
CMD_DOWN_IMAGE
0x0023
HOST下载指纹图像到模块的ImageBuffer中
10
CMD_SLED_CTRL
0x0024
控制采集器背光灯的开/关(注:
半导体传感器不用此功能)
11
CMD_STORE_CHAR
0x0040
将指定编号RamBuffer中的Template,注册到指定编号的库中
12
CMD_LOAD_CHAR
0x0041
读取库中指定编号中的Template到指定编号的RamBuffer
13
CMD_UP_CHAR
0x0042
将保存于指定编号的RamBuffer中的Template上传至HOST
14
CMD_DOWN_CHAR
0x0043
从HOST下载Template到模块指定编号的RamBuffer中
15
CMD_DEL_CHAR
0x0044
删除指定编号范围内的Template。
16
CMD_GET_EMPTY_ID
0x0045
获取指定范围内可注册的(没有注册的)第一个模板编号。
17
CMD_GET_STATUS
0x0046
获取指定编号的模板注册状态。
18
CMD_GET_BROKEN_ID
0x0047
检查指定编号范围内的所有指纹模板是否存在坏损的情况
19
CMD_GET_ENROLL_COUNT
0x0048
获取指定编号范围内已注册的模板个数。
20
CMD_GENERATE
0x0060
将ImageBuffer中的指纹图像生成模板数据,
并保存于指定编号的RamBuffer中。
21
CMD_MERGE
0x0061
将保存于RamBuffer中的两或三个模板数据融合成一个模板数据
22
CMD_MATCH
0x0062
指定RamBuffer中的两个指纹模板之间进行1:
1比对
23
CMD_SEARCH
0x0063
指定RamBuffer中的模板与指纹库中指定编号范围内的所有模板之间进行1:
N比对
24
CMD_VERIFY
0x0064
指定RamBuffer中的指纹模板与指纹库中指定编号的指纹模板之间进行1:
1比对
25
CMD_SET_MODULE_SN
0x0008
在设备中设置模块序列号信息(ModuleSN)
26
CMD_GET_MODULE_SN
0x0009
获取本设备的模块序列号(ModuleSN)
27
CMD_FP_CANCEL
0x0025
取消指纹采集操作(只适用于带TimeOut参数的滑动传感器)
28
CMD_GET_ENROLLED_ID_LIST
0x0049
获取已注册ID列表
29
CMD_ENTER_STANDY_STATE
0x000C
使模块进入休眠状态。
(四)
各通讯命令(Command)详细说明
模块中含有指令通讯用的ImageBuffer和RamBuffer。
ImageBuffer:
用于保存图像。
RamBuffer用于暂存指纹模板数据,模块共有三个RamBuffer:
RamBuffer0,RamBuffer1和RamBuffer2。
注:
断电情况下,ImageBuffer和RamBuffer中的数据会丢失。
4.1连接测试(CMD_TEST_CONNECTION)
[功能Function]
检查Target和Host的连接状态。
Host需要首先发送此指令检查与Target的连接状态。
若不成功,则可认为与Target的连接不正常,或Target的工作不正常,或波特率的设置有误。
[工作过程Sequence]
连接正常,则返回ERR_SUCCESS。
[命令和响应CommandandResponse]
PREFIX
0xAA55
SID
SourceDeviceID
DID
DestinationDeviceID
CMD
0x0001
LEN
0
DATA
无数据
PREFIX
0x55AA
SID
SourceDeviceID
DID
DestinationDeviceID
RCM
0x0001
LEN
2
RET
ResultCode
DATA
无数据
表4-1CMD_TEST_CONNECTION指令
4.1例子:
HOST发送CMD_TEST_CONNECTION指令及模块的响应
HOST命令:
55AA000001000000000000000000000000000000000000000001
Target响应:
AA55010001000200000000000000000000000000000000000301
4.2
设置参数(CMD_SET_PARAM)
[功能Function]
根据指定ParameterType,设置设备参数(DeviceID,SecurityLevel,Baudrate,DuplicationCheck,AutoLearn,FPTimeOut)并返回其结果。
[工作过程Sequence]
若指定ParameterType无效,则返回ERR_INVALID_PARAM。
若指定ParameterValue无效,则返回ERR_INVALID_PARAM。
根据ParameterType,设置ParameterValue并返回其结果。
[命令和响应CommandandResponse]
PREFIX
0xAA55
SID
SourceDeviceID
DID
DestinationDeviceID
CMD
0x0002
LEN
5
DATA
1bytes
ParameterType
4bytes
ParameterValue
PREFIX
0x55AA
SID
SourceDeviceID
DID
DestinationDeviceID
RCM
0x0002
LEN
2
RET
ResultCode
DATA
无数据
表4-2CMD_SET_PARAM指令
[参数类型ParameterType]
Parameter
Type
ParameterValueDescription
0
表示本设备编号(DeviceID)。
可设置1~255。
1
表示安全等级(SecurityLevel):
可设置值:
1~5。
默认为:
3
SecurityLevel对应的识别率如下表:
SecurityLevel
识别率
Level1
认假率FAR(FalseAcceptanceRate)
0.
1%
拒真率FRR(FalseRejectionRate)
0.005%
Level2
认假率FAR(FalseAcceptanceRate)
0.003%
拒真率FRR(FalseRejectionRate)
0
01%
Level3
认假率FAR(FalseAcceptanceRate)
0.001%
拒真率FRR(FalseRejectionRate)
0.1%
Level4
认假率FAR(FalseAcceptanceRate)
0.
003%
拒真率FRR(FalseRejectionRate)
0.5%
Level5
认假率FAR(FalseAcceptanceRate)
0.0001%
拒真率FRR(FalseRejectionRate)
%
2
指纹重复检查(DuplicationCheck)状态开/关。
可设置0或1。
若为1,则处理CMD_STORE_CHAR指令时进行重复检测。
若为0,则不进行重复检测。
3
波特率(Baudrate)参数。
可设置索引值:
1~8。
1:
9600bps,2:
19200bps,3:
38400bps,4:
57600bps,5:
115200bps
6:
230400bps,7:
460800bps,8:
921600bps
4
表示指纹模板自学习(AutoLearn)状态开/关。
可设置0或1。
若为1:
则处理CMD_SEARCH,CMD_VERIFY指令时进行智能更新。
若为0:
则不进行智能更新。
5
表示采集指纹超时时间(FpTimeOut)参数,可设置值:
1秒至60秒。
CMD_GET_IMAGE指令中采用该参数,在FPTimeOUT时间内等待指纹的输入。
注:
本参数只用于滑动指纹传感器模块,默认值为:
5s
4.2例子:
设置波特率为921600BPS
HOST命令:
55AA000002000500030800000000000000000000000000001101
Target响应:
AA55010002000200000000000000000000000000000000000401
4.3
读取参数(CMD_GET_PARAM)
[功能Func
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- FPC1020 指纹 模块 用户 使用手册