一、 简介
AS608 指纹识别模块主要是指采用了杭州晟元芯片技术有限公司(Synochip)的 AS608 指纹识别芯片 而做成的指纹模块,模块厂商只是基于该芯片设计外围电路,集成一个可供2次开发的指纹模块;所以,只要是基于AS608芯片的指纹模块,其控制电路及控制协议几乎是一样的,只是厂家和性能不同而已。
二、 外型
三、 AS608模块引脚描述
Vi 模块电源正输入端。
Tx 串行数据输出。TTL 逻辑电平
Rx 串行数据输入。TTL 逻辑电平
GND 信号地。内部与电源地连接
WAK 感应信号输出,默认高电平有效
(用户可读取状态引脚(WAK)判断有无手指按下)Vt 触摸感应电源输入端,.3v 供电
U+ USB D+
U- USB D-
四、 系统资源
缓冲区与指纹库
系统内设有一个 72K 字节的图像缓冲区与二个 512bytes 大小的特征文件缓冲区,名字分别称为:ImageBuffer,CharBuffer1 和 CharBuffer2。用户可以通过指令读写任意一个缓冲区。
CharBuffer1 或 CharBuffer2 既可以用于存放普通特征文件也可以用于存放模板特征文件。通过 UART 口上传或下载图像时为了加快速度,只用到像素字节的高 4 位,即将两个像素合
成一个字节传送。通过 USB 口则是整 8 位像素。
指纹库容量根据挂接的 FLASH 容量不同而改变,系统会自动判别。指纹模板按照序号存放,序号定义为:0—(N-1)(N 为指纹库容量)。用户只能根据序号访问指纹库内容。用户记事本
系统在 FLASH 中开辟了一个 512 字节的存储区域作为用户记事本,该记事本逻辑上被分成 16 页,每页 32 字节。上位机可以通过 PS_WriteNotepad 指令和 PS_ReadNotepad 指令
访问任意一页。注意写记事本某一页的时候,该页 32 字节的内容被整体写入,原来的内容被覆盖。随机数产生器
系统内部集成了硬件 32 位随机数生成器(不需要随机数种子),用户可以通过指令让模块产生一个随机数并上传给上位机。
五、 软件开发模块地址 (大小:4bytes ,属性:读写) )
模块的默认地址为0xFFFFFFFF,可通过指令修改,数据包的地址域必须与该地址相配,命令包/数据包才被系统接收。注:与上位机通讯必须是默认地址 0xFFFFFFFF !模块口令 (大小:4bytes ,属性:写)
系统默认口令为 0,可通过指令修改。若默认口令未被修改,则系统不要求验证口令,
上位机和 MCU 与芯片通讯;若口令被修改,则上位机与芯片通讯的第一个指令必须是验证
口令,只有口令验证通过后,芯片才接收其它指令。注:不建议修改口令!数据包大小设置(大小:1bytes ,属性:读写)
发送数据包和接收数据包的长度根据该值设定。波特率数 系数 N 设置 (大小:1bytes ,属性:读写)
USART 波特率=N×9600,N=1~12。安全等级 level 设置(大小:1bytes ,属性:读写)
系统根据安全等级设定比对阀值,level=1~5。安全等级为 1 时认假率最高,拒认率最低。
安全等级为 5 时认假率最低,拒认率最高。
六、 开发流程
七、 使用原理
利用光的折射和反射原理,光从底部射向三棱镜,并经棱镜射出,射出的光线在手指表面指纹凹凸不平的线纹上折射的角度及反射回去的光线明暗就会不一样。CMOS或者CCD的光学器件就会收集到不同明暗程度的图片信息,就完成指纹的采集。
八、 STM32程序
AS608.H
#ifndef __AS608_H #define __AS608_H #include #include "stm32f10x.h" #define AS608_USER 1 #define PS_Sta PAin(6)//读指纹模块状态引脚 #define CharBuffer1 0x01 #define CharBuffer2 0x