一、 简介
AS608 指纹识别模块主要是指采用了杭州晟元芯片技术有限公司(Synochip)的 AS608 指纹识别芯片 而做成的指纹模块,模块厂商只是基于该芯片设计外围电路,集成一个可供2次开发的指纹模块;所以,只要是基于AS608芯片的指纹模块,其控制电路及控制协议几乎是一样的,只是厂家和性能不同而已。
三、 AS608模块引脚描述
Vi 模块电源正输入端。
Tx 串行数据输出。TTL 逻辑电平
Rx 串行数据输入。TTL 逻辑电平
GND 信号地。内部与电源地连接
WAK 感应信号输出,默认高电平有效
(用户可读取状态引脚(WAK)判断有无手指按下)
Vt 触摸感应电源输入端,.3v 供电
U+ USB D+
U- USB D-
四、开发流程
程序
AS608.H
#ifndef __AS608_H
#define __AS608_H
#include < stdio.h >
#include "stm32f10x.h"
#define AS608_USER 1
#define PS_Sta PAin(6)//读指纹模块状态引脚
#define CharBuffer1 0x01
#define CharBuffer2 0x02
extern u32 AS608Addr;//模块地址
typedef struct
{
u16 pageID;//指纹ID
u16 mathscore;//匹配得分
}SearchResult;
typedef struct
{
u16 PS_max;//指纹最大容量
u8 PS_level;//安全等级
u32 PS_addr;
u8 PS_size;//通讯数据包大小
u8 PS_N;//波特率基数N
}SysPara;
void PS_StaGPIO_Init(void);//初始化PA6读状态引脚
u8 PS_GetImage(void); //录入图像
u8 PS_GenChar(u8 BufferID);//生成特征
u8 PS_Match(void);//精确比对两枚指纹特征
u8 PS_Search(u8 BufferID,u16 StartPage,u16 PageNum,SearchResult *p);//搜索指纹
u8 PS_RegModel(void);//合并特征(生成模板)
u8 PS_StoreChar(u8 BufferID,u16 PageID);//储存模板
u8 PS_DeletChar(u16 PageID,u16 N);//删除模板
u8 PS_Empty(void);//清空指纹库
u8 PS_WriteReg(u8 RegNum,u8 DATA);//写系统寄存器
u8 PS_ReadSysPara(SysPara *p); //读系统基本参数
u8 PS_SetAddr(u32 addr); //设置模块地址
u8 PS_WriteNotepad(u8 NotePageNum,u8 *content);//写记事本
u8 PS_ReadNotepad(u8 NotePageNum,u8 *note);//读记事
u8 PS_HighSpeedSearch(u8 BufferID,u16 StartPage,u16 PageNum,SearchResult *p);//高速搜索
u8 PS_ValidTempleteNum(u16 *ValidN);//读有效模板个数
u8 PS_HandShake(u32 *PS_Addr); //与AS608模块握手
const char *EnsureMessage(u8 ensure);//确认码错误信息解析
#endif