指纹识别模块实验
注:此说明书适用于EL-EMCU-I实验箱、EXP-89S51/52/53CPU板。
一、实验目的
掌握指纹模块的开发协议;
掌握16C550芯片的编程方法;
二、实验设备
计算机,KEIL UVISION2环境,EL-EMCU-I实验箱,直连串口电缆、交叉串口电缆(针对针),导线,短接块。
三、基本原理
指纹识别模块采用MCU和PC两种控制方法,供用户灵活选用。
其指纹模块采用深圳十指科技的TF-MD-M12开发模块,MCU端的外围电路由通过芯片16C550芯片进行并口到串口的转换,PC端的外围电路用MAX3232控制,模块的电源由实验箱上的接口插座提供。
下面将具体介绍一下各部分的组成及其原理。
TF-MD-M12开发模块的功能特点:
◇先进的指纹识别算法(商业);
◇高速算法,500人指纹只要0.43 秒;
◇1:N,1:1 比对(两种可选);
◇用户可分多级权限管理(1、2、3);
◇多级的安全级别自主设置,可更多应用于不同场所;
◇采用高精密的光学成像元件,识别准确;
◇体积小,电路只有:40*58mm,易于集成;
◇功能高度集成,存于DSP中,不用再加电路板;
◇标准接口协议,开发简单;
◇采用面光源,成像速度快;
◇内部采用高级数字处理器DSP,处理速度快;
◇识别率高,最高可达:0.00001% ;
◇稳定性好,四年不断升级和优化;
◇具低电压报警功能;
◇微功耗设计适于电池供电;
◇主板低频设计抗外部电磁干扰;
◇主要供外销厂家和集成商,开发和集成产品;
◇设计精巧适于嵌入指纹锁/小指纹门禁机/手持指纹识别设备;
TF-MD-M12开发模块的主要性能指标:
◇电路板尺寸(mm)58×40
◇采集头分辨率500DPI
◇指纹容量80 枚
◇比对时间<1 秒
◇认假率0.0001%
◇拒真率0.01%
◇动态电流<140mA
◇待机电流<18µA
◇工作电压5-7.5V
其开发协议请用户参见随程序附带的TF-MD-M1开发协议PDF文档。
16C550为通用异步收发器(UART)芯片,TQFP封装,其引脚如下图所示:
A0、A1、A2:地址输入端,用于选择不同的寄存器;
/AS:地址控制输入端,为低电平时,内部地址及片选控制逻辑有效;否则为无效;CS0、CS1、/CS2:片选输入端,当CS0、CS1均为高且CS2为低时选中芯片;CSOUT:片选输出端。
输出高电平表示芯片被选中,低电平表示未被选中;
D0~D7:三态数据总线,用于芯片和CPU之间进行数据交换;
DDIS:驱动禁止输出端。
当芯片不处在读状态时,该引脚输出高电平;
/CTS:Modem状态输入端,表示清除发送;
/DCD:Modem状态输入端,表示载波检测;
/DSR:Modem状态输入端,表示Modem数据已准备就绪;
/DTR:芯片状态输出端,表示芯片已准备就绪,可与Modem建立连接;/RI:Modem状态输入端,表示铃音检测;
/RTS:芯片状态输出端,表示芯片请求发送数据;
RESET:主复位输入端,为高电平时使芯片内所有寄存器复位;
INT:中断输出端,高电平有效;
VCC、VSS:电源输入端;
RX:芯片串行输入端;
TX:芯片串行输出端;
XTAL1、XTAL2:外部振荡输入、输出端;
/BAUDOUT:振荡信号分频输出端,输出为波特率;
RCLK:时钟输入端,用于控制输入波特率;
/IOW:写信号,低电平有效;
IOW:写信号,高电平有效;
/IOR:读信号,低电平有效;
IOR:读信号,高电平有效;
16C550的寄存器如下表所示:
各寄存器的具体定义请用户参见随程序附带的16C550芯片的PDF文档。
16C550部分的原理图如下:
MAX3232部分的原理图如下:
四、模块的上位机控制操作
首先,将模块插接到实验箱的E_LAB总线上,J3的跳线TXD和TXDP用短接帽短接,
RXD和RXDP用短接帽短接,模块选择PC控制;用直连电缆连接电脑的串口1和模块的RS232接口;实验箱上电。
一). 运行软件
1. 双击运行Reg.bat
2. 打开演示软件.exe
二).软件操作
1. 在设置栏下设置与模块通讯的串品及波特率(默认:COM1 和19200);
2. 选中测试栏:
2.1 取用户总数:
选中取用户总数----点发送命令,在返加数据显示栏中列出模块内的指纹总数。
2.2 用户录入:
2.2.1选中用户录入,
2.2.2 再选择是否采集两次:模块默认为每枚指纹添加三次,选中只添加二次特征值上传:采集指纹保存于模块内的同时并上传特征值到软件中(模块),不选中只存于模块内ID 号自动加1:选中用户的地址号自动添加1,如第一次添加为5 号用户的,再按一次发送命令,自动为6号地址用户添加指纹。
2.2.3 在参数选择栏中分别填写参数1,参数2,参数3,参数1为录入用户的高位,参数2为录入用户的低位,参数3为录入用户的权限(1、2、3可选),分别对应用协议中的P1,P2,P3。
2.2.4 点发送命令,指纹模块的采集头灯亮,按手指不动,连续采集3次或2次,在返加数
据显示栏中列出添加成功与否,在下传命令显示中显示当前操作命令。
2.3取单用户权限:
选中取用户权限,填写需要取的用户参数(参数1、参数2),点发送命令,在返加数
据显示栏中列出模块内当前用户的权限。
2.4.1删除指定用户:
选中删除指定用户,填写需要取的用户参数(参数1、参数2),点发送命令,在返加数据显示栏中列出操作成功。
2.4.2 删除全部指纹:
选中删除全部用户,点发送命令,在返加数据显示栏中列出操作成功。
2.5.11:1 / 1:N比对
选中1:1 或1:N比对,点发送命令,按手指一次,在返加数据显示栏中列出与当前采集的指纹的对应模块内的指纹编号/ 无匹配指纹。
2.6采集并显示图像:
选中采集并显示图像,点发送命令,按手指一次,2-3秒后在返加数据显示栏的第三栏中列出当前采集的指纹图像。
2.7 特征值下传操作:
2.7.1 存储用户特征值:
此操作之前,应该先上传特征值存储;操作如下:
选中取用户特征值上传,在参数选择栏里面要存储的用户号,之后点击发送命令,出现如下界面:
接着点击按钮,选择保存的路径和文件名;
点击保存即可。
选中存储用户特征值,链接下传特征值选择,浏览选择要选中的特征值文件,在参数选
择里面填写区别于该特征值用户号的号码,点击发送;
如果在存有相同特征值的用户里重新存储,将提示操作失败。
2.7.2下传特征值与采集指纹比对
选中下传特征值与采集指纹指纹对比,浏览并选择下传的特征值,点击发送命令,采
集指纹进行对比;
2.7.3下传指纹1:1比对
说明:把存于上位机的指纹特征值下载并与当前模块内的指定指纹进行1:1比对。
2.7.4 下传指纹1:N 比对
说明:把存于上位机的指纹特征值下载并与当前模块内的所有指纹进行1:N比对。
2.8特征值上传操作
2.8.1取用户特征值上传
说明:把模块内的指定用户的特征值数据上传到上位机中,2.7.1种有介绍,此处略。
2.8.2 采集指纹提取特征值上传
说明:把当前采集的指纹的特征值数据上传到上位机中。
选中采集指纹提取特征值上传,点击发送命令,进行指纹采集,采集完毕后,点击下图中的上传特征值存储,选择要保存的路径和名称即可。
2.9使进入休眠模式
说明:操作后模块处于休眠状态,重新上电或给模块的J10 接口的第五脚一个低电平即可取消休眠状态。
2.10设置比对等级
说明:模块提供设置比对等级参数,等级分为:1-10,等级值越大,安全值越高。
至此,指纹模块的上位机操作介绍完毕。
五、模块的MCU控制实验步骤
1、正确将指纹识别扩展模块插接到实验箱或试验台接口挂箱的E_LAB1总线上;将EXP-89S51/52/53CPU板正确安装在实验箱的MCU接口上,并将开发板上的跳线帽JP2短接在下侧。
将交叉串口线(针对针)的一端连接在试验箱的DB9口上,另一端连接到E-LAB-FPI模块的DB9口上。
2、正确设置指纹识别模块并连线:
1)J3的RXD和RXDP用短接块短接,TXD和TXDP用短接块短接;
2)用导线将MCU的CAP0连接到试验箱上发光二极管输入孔L1上。
3)用导线将MCU的TXD、RXD分别连接到RS232的TXD和RXD。
3、运行KEIL UVISION2软件,打开工程文件E-LAB-FPI.Uv2。
4、实验步骤:
1)编译生成.HEX文件,然后用ISP下载线将该文件烧录到EXP-89S51/52/53单片机中。
2)按下复位键口发光二极管闪烁一次启动指纹采集模块,采集完3次以后发光二极管在闪烁一次提示开始指纹一对一对比,若指纹对比成功则点亮发光二极管。
5、备注:
本样例程序用到的命令及应答的数据格式。