一、 簡(jiǎn)介
AS608 指紋識(shí)別模塊主要是指采用了杭州晟元芯片技術(shù)有限公司(Synochip)的 AS608 指紋識(shí)別芯片 而做成的指紋模塊,模塊廠商只是基于該芯片設(shè)計(jì)外圍電路,集成一個(gè)可供2次開(kāi)發(fā)的指紋模塊;所以,只要是基于AS608芯片的指紋模塊,其控制電路及控制協(xié)議幾乎是一樣的,只是廠家和性能不同而已。
三、 AS608模塊引腳描述
Vi 模塊電源正輸入端。
Tx 串行數(shù)據(jù)輸出。TTL 邏輯電平
Rx 串行數(shù)據(jù)輸入。TTL 邏輯電平
GND 信號(hào)地。內(nèi)部與電源地連接
WAK 感應(yīng)信號(hào)輸出,默認(rèn)高電平有效
(用戶可讀取狀態(tài)引腳(WAK)判斷有無(wú)手指按下)
Vt 觸摸感應(yīng)電源輸入端,.3v 供電
U+ USB D+
U- USB D-
四、開(kāi)發(fā)流程
程序
AS608.H
#ifndef __AS608_H
#define __AS608_H
#include < stdio.h >
#include "stm32f10x.h"
#define AS608_USER 1
#define PS_Sta PAin(6)//讀指紋模塊狀態(tài)引腳
#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;//安全等級(jí)
u32 PS_addr;
u8 PS_size;//通訊數(shù)據(jù)包大小
u8 PS_N;//波特率基數(shù)N
}SysPara;
void PS_StaGPIO_Init(void);//初始化PA6讀狀態(tài)引腳
u8 PS_GetImage(void); //錄入圖像
u8 PS_GenChar(u8 BufferID);//生成特征
u8 PS_Match(void);//精確比對(duì)兩枚指紋特征
u8 PS_Search(u8 BufferID,u16 StartPage,u16 PageNum,SearchResult *p);//搜索指紋
u8 PS_RegModel(void);//合并特征(生成模板)
u8 PS_StoreChar(u8 BufferID,u16 PageID);//儲(chǔ)存模板
u8 PS_DeletChar(u16 PageID,u16 N);//刪除模板
u8 PS_Empty(void);//清空指紋庫(kù)
u8 PS_WriteReg(u8 RegNum,u8 DATA);//寫系統(tǒng)寄存器
u8 PS_ReadSysPara(SysPara *p); //讀系統(tǒng)基本參數(shù)
u8 PS_SetAddr(u32 addr); //設(shè)置模塊地址
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);//讀有效模板個(gè)數(shù)
u8 PS_HandShake(u32 *PS_Addr); //與AS608模塊握手
const char *EnsureMessage(u8 ensure);//確認(rèn)碼錯(cuò)誤信息解析
#endif