MS滑动式指纹模块使用指导手册Word格式.docx
《MS滑动式指纹模块使用指导手册Word格式.docx》由会员分享,可在线阅读,更多相关《MS滑动式指纹模块使用指导手册Word格式.docx(41页珍藏版)》请在冰豆网上搜索。
指纹容量
120 Users(可扩展至800枚)
比对时间
0.8秒
对比模式
1:
N,1:
1
通讯波特率(UART)
9600bps~115.2Kbps
3.串行硬件接口
5位1.0MM间距的FPC插头物理接口,最左边为1脚。
引脚号
名称
功能
VCC
正电源输入
2
TD
串行数据输出,TTL逻辑电平,3.3V
3
RD
串行数据输入,TTL逻辑电平,3.3V
4
START
Start轻触开关,按键按下时候对地短接
5
GND
信号地,内部与电源地连接
1.硬件连接
模块通过串行通讯接口,可直接与采用3.3V的单片机进行通讯:
模块数据发送脚(2脚TD)接上位机的数据接收端(RXD),模块数据接收脚(3脚RD)接上位机的数据发送端(TXD)。
若需与RS-232电平(例如:
PC机)的上位机进行通讯,请在模块与上位机之间增加电平转换电路(例如:
MAX232电路)。
2.串行协议
采用半双工异步串行通讯。
默认波特率为9600bps,可通过命令设置为9600~115200bps。
传送的帧格式为10位,一位起始位,8位数据(低位在前)和一位停止位,无校验位。
3.上电延时时间
模块上电后,约需500mS时间进行初始化工作。
在此期间,模块不能响应上位机命令。
4.电气参数
A.电源输入
项目
参数
单位
备注
最小
典型
最大
电源电压Vin
3.6
6
V
正常工作值
极限电压Vinmax
-0.3
-
7
超出此范围可能会造成永久性损坏
工作电流Icc
90
100
110
mA
峰值电流Ipeak
150
B.TXD(输出,TTL逻辑电平)
项目
条件
备注
VOL
IOL=-4mA
-
0.4
逻辑 0
VOH
IOH=4mA
2.4
3.3
逻辑 1
C.RXD脚(输入,TTL逻辑电平)
VIL
0.6
VIH
IIH
VIH=5V
VIH=3.3V
30
uA
VImax
极限输入电压
4.系统资源
为满足不同客户需求,模块系统提供了大量资源提供给用户系统使用。
1.用户记事本
模块在FLASH中开辟了一个512字节(16页×
32字节)的存储区域开放给上位机使用,作为用户记事本。
用户可将自己需要断电保护的数据存储(参见WriteNotepad指令)在该空间指定的页面或读出(参见ReadNotepad指令)指定页的内容。
注意写记事本某一页的时候,该页32字节的内容被整体写入,原来的内容被覆盖。
2.缓冲区
模块RAM内设有一个图像缓冲区ImageBuffer与二个512bytes大小的特征文件缓冲区CharBuffer1和CharBuffer2。
用户可以通过指令读写任意一个缓冲区。
图像缓冲区和两个特征文件缓冲区中的内容在模块断电时不保存。
1.图像缓冲区
图像缓冲区ImageBuffer用于存放图像数据和模块内部图像处理使用。
通过UART口上传或下载图像时为了加快速度,只用到像素字节的高四位,即采用16级灰度,每字节表示两个像素(高四位为一个像素,低四位为同一行下一相邻列的一个像素,即将两个像素合成一个字节传送)。
由于图象为16个灰度等级,上传到PC进行显示时(对应BMP格式),应将灰度等级进行扩展(扩展为256级灰度,即8bit位图格式)。
通过USB口传送则是整8位像素,即256灰度等级。
2.特征文件缓冲区
特征文件缓冲区CharBuffer1或CharBuffer2既可以用于存放普通特征文件也可以用于存放模板特征文件。
3.指纹库
模块在FLASH中开辟了一段存储区域作为指纹模板存放区,即俗称的指纹库。
指纹库中的数据是断电保护的。
指纹模板按照序号存放,若指纹库容量为N,则指纹模板在指纹库中的序号定义为:
0、1、2------N-2、N-1。
用户只能根据序号访问指纹库内容。
4.系统配置参数
为方便用户使用,模块开放部分系统参数,允许用户通过指令,单个修改指定(通过参数序号)的参数数值。
参见设置模块系统基本参数指令SetSysPara和读系统参数指令ReadSysPara。
上位机发修改系统参数指令时,模块先按照原配置进行应答,应答之后修改系统设置,并将配置记录于FLASH,系统下次上电后,将按照新的配置工作。
1.波特率控制
该参数控制模块与上位机通过UART通讯时的通讯波特率,若参数值为N(N取值范围围(1~12),对应波特率为(9600×
N)bps。
2.安全等级
该参数控制指纹比对和搜索时比对阀值,分为5级,取值范围为:
1、2、3、4、5。
安全等级为1时认假率最高,拒认率最低。
安全等级为5时认假率最低,拒认率最高。
3.数据包长度
该参数控制模块与上位机通讯时,每次传送时允许数据中包内容的最大长度,取值范围为:
0、1、2、3,对应长度(字节数)分别为:
32、64、128、256。
5.系统状态寄存器
系统状态寄存器表示模块当前工作状态。
可通过指令ReadSysPara指令读取,长度为1Word。
其各位定义如下:
位号
154
意义
Reserved
ImgBufStat
PWD
Pass
Busy
6.模块口令
模块上电复位后,将首先检查设备握手口令是否被修改。
若未被修改,则模块认为上位机没有验证口令的需求,直接进入正常工作状态;
即模块口令为默认口令时,可以不验证口令。
口令为4字节,出厂时默认口令为:
FFH,0FFH,0FFH,0FFH。
如果模块内部口令已经被修改过(参见设置口令指令SetPwd),则必须首先验证设备握手口令,口令通过后模块才进入正常工作状态。
否则模块拒绝执行任何指令。
口令修改后,新口令保存于Flash中,断电依然保存。
参见验证口令VfyPwd指令和设置口令SetPwd指令。
7.模块地址
每个模块都有一个识别地址,在模块与上位机通讯时,每条指令/数据都以数据包的形式传送,每个数据包都包含一个地址都包含地址项。
模块只对包含与自身地址相同的地址的指令和数据包有所反应。
模块地址为4字节,出厂时默认缺省值为:
0xFFFFFFFF。
用户可通过指令修改模块地址(参见设置模块地址指令SetAdder)。
模块地址修改后,新地址在模块断电后依然保存。
8.随机数产生器
模块内部集成了硬件32位随机数生成器(不需要随机数种子),用户可以通过指令让模块产生一个随机数并上传,参见采样随机数指令GetRandomCode。
5.通讯协议
通信协议定义了MS-0231模块与上位机之间信息交换的规则。
无论硬件上采用UART还是USB接口型式,都采用同一套通讯协议和指令集。
如果上位机采用PC机,建议定购USB接口型式的模块,以提高系统速度(由于采用USB时上传图像灰度级多且速度快,此时模块可做指纹采集仪使用)。
1.数据包格式
模块与上位机通讯,对命令、数据、结果的接收和发送,都采用数据包的形式进行。
数据包格式
包头
包标识
地址码保留字
包长度
包内容(指令/数据/参数)
校验和
数据包详细定义表
名称
符号
长度
说明
Start
2字节
固定为0xEF01,传送时高字节在前,低字节在后
PID
1字节
01H
表示是命令包(commandpacket)
02H
表示是数据包(Datapacket),且有后续包数据包不能单独进入执行流程,必须跟在指令包或应答包后面
07H
表示是应答包(ACKpacket),可以有后续包
08H
表示是最后一个数据包,即结束包(EndDatapacket)
地址码
ADDER
4字节
默认值为0xFFFFFFFF,用户可通过指令生成新地址。
模块会拒绝地址错误的数据包。
传送时高字节在前
LENGTH
2字节
最大值为256字节;
包长度指的是包内容(指令/数据)的长度加上效验和的长度,以字节为单位的长度。
包内容
i
可以是指令、数据、指令的参数、应答结果等。
(指纹特征值、指纹模板都是数据)
SUM
是从包头到包内容的最后一个字节的算术累计和
6.数据包的校验与应答
指令只能由上位机下给模块,模块向上位机应答。
模块收到指令后,会通过应答包,将有关命令执行情况与结果上报给上位机。
应答包含有参数,并可跟后续数据包。
上位机只有在收到模块的应答包后才能确认模块的收包情况与指令执行情况。
应答包的内容包括一个字节的确认码(必须有)和可能有的返回参数。
确认码定义表:
1.00h:
表示指令执行完毕或OK;
2.01h:
表示数据包接收错误;
3.02h:
表示传感器上没有手指;
4.03h:
表示录入指纹图像失败;
5.06h:
表示指纹图像太乱而生不成特征;
6.07h:
表示指纹图像正常,但特征点太少(或面积太小)而生不成特征;
7.08h:
表示指纹不匹配;
8.09h:
表示没搜索到指纹;
9.0Ah:
表示特征合并失败;
10.0Bh:
表示访问指纹库时地址序号超出指纹库范围;
11.0Ch:
表示从指纹库读模板出错或无效;
12.0Dh:
表示上传特征失败;
13.0Eh:
表示模块不能接受后续数据包;
14.0Fh:
表示上传图像失败;
15.10h:
表示删除模板失败;
16.11h:
表示清空指纹库失败;
17.13h:
表示口令不正确;
18.15H:
表示缓冲区内没有有效原始图而生不成图像;
19.18H:
表示读写FLASH出错;
20.19H:
未定义错误;
21.1AH:
无效寄存器号;
22.1BH:
寄存器设定内容错误号;
23.1CH:
记事本页码指定错误;
24.1DH:
端口操作失败;
25.其它:
系统保留
7.指令列表
代码
助记符
功能说明
01H
GetImage
录指纹图象
0FH
ReadSysPara
读系统参数
02H
GenChar
图象转特征
10H
Enroll
注册模板
03H
Match
指纹比对
11H
Identify
验证指纹
04H
Serach
搜索指纹
12H
SetPwd
设置口令
05H
RegModel
特征合成模板
13H
VfyPwd
效验口令
06H
StoreChar
存储模板
14H
GetRandomCode
采样随机数
07H
LoadChar
读出模板
15H
SetAdder
设置地址
08H
UpChar
上传特征
17H
Control
端口控制
09H
DownChr
下载特征
18H
WriteNotepad
写记事本
0AH
UpImage
上传图象
19H
ReadNotepad
读记事本
0BH
DownImage
下载图象
1AH
BurnCode
烧写片内FLASH
0CH
DeletChar
删除模板
1BH
HiSpeedSearch
高速搜索指纹
0DH
Empty
清空指纹库
1DH
TempleteNum
读指纹模板数
0EH
WriteReg
设置系统参数
8.指令详解
1.录入图像GetImage
功能说明:
探测手指,探测到后录入指纹图像存于ImageBuffer。
返回确认
码表示:
录入成功、无手指等。
输入参数:
none
返回参数:
确认字
指令代码:
01H
指令包格式:
2bytes
4bytes
1byte
2bytes
1byte
芯片地址
包标识01
指令码
0xEF01
xxxx
03H
05H
应答包格式:
确认码
xxH
sum
注:
确认码=00H表示录入成功;
确认码=01H表示收包有错;
确认码=02H表示传感器上无手指;
确认码=03H表示录入不成功;
sum指校验和
2.生成特征GenChar
功能说明:
将ImageBuffer中的原始图像生成指纹特征文件存于CharBuffer1或CharBuffer2(为SOC内存)
输入参数:
BufferID(特征缓冲区号)
返回参数:
确认字
指令代码:
指令包格式:
缓冲区号
04H
BufferID
缓冲区CharBuffer1、CharBuffer2的BufferID分别为1h和2h,如果指定
其他值,按照CharBuffer2处理
应答包格式
确认码=00H表示生成特征成功;
确认码=06H表示指纹图像太乱而生不成特征;
确认码=07H表示指纹图像正常,但特征点太少而生不成特征;
确认码=15H表示图像缓冲区内没有有效原始图而生不成图像;
3.精确比对两枚指纹特征Match
精确比对CharBuffer1与CharBuffer2中的
特征文件
none
确认字,比对得分
2byte
得分
确认码=00H表示指纹匹配;
确认码=08H表示指纹不匹配;
4.搜索指纹Search
功能说明:
以CharBuffer1或CharBuffer2中的特征文件搜索整个
或部分指纹库。
若搜索到,则返回页码。
BufferID,StartPage(起始页),PageNum(页数)
确认字,页码(相配指纹模板)
参数
StartPage
PageNum
缓冲区CharBuffer1、CharBuffer2的BufferID分别为1h和2h
应答包格式:
页码
PageID
MatchScore
确认码=00H表示搜索到;
确认码=09H表示没搜索到;
此时页码与得分为0
5.合并特征(生成模板)RegModel
将CharBuffer1与CharBuffer2中的特征文件合并生成
模板,结果存于CharBuffer1与CharBuffer2。
09H
确认码=00H表示合并成功;
确认码=0aH表示合并失败(两枚指纹不属于同一手指);
6.储存模板StoreChar
将CharBuffer1或CharBuffer2中的模板文件存到PageID号
flash数据库位置。
BufferID(缓冲区号),PageID(指纹库位置号)
06H
位置号
缓冲区CharBuffer1、CharBuffer2的BufferID分别为1h和2h
确认码=00H表示储存成功;
确认码=0bH表示PageID超出指纹库范围;
确认码=18H表示写FLASH出错;
7.读出模板LoadChar
将flash数据库中指定ID号的指纹模板读入到模板缓冲
区CharBuffer1或CharBuffer2
BufferID(缓冲区号),PageID(指纹库模板号)
应答包格式:
确认码=00H表示读出成功;
确认码=0cH表示读出有错或模板无效;
确认码=0BH表示PageID超出指纹库范围;
8.上传特征或模板UpChar
将特征缓冲区中的特征文件上传给上位机
BufferID(缓冲区号)
指令包