文档
AS608 光学指纹传感器模块 — 技术文档
一、概述
AS608 是一款基于 AS608 DSP 芯片的光学指纹传感器模块,内部集成了指纹算法,可独立完成指纹图像的采集、特征提取、模板存储和比对等功能。模块通过 UART 接口与主机(MCU)通信,主机只需发送简单的指令即可实现指纹录入、1:1 比对、1:N 搜索、删除模板等操作。
产品特性
- 光学指纹传感器,500dpi 分辨率
- 内置 DSP 指纹算法,免去上位机算法开发
- 512 枚指纹模板容量(可扩展至 930+)
- 支持指纹录入、比对(1:1)、搜索(1:N)、删除
- UART TTL 通信,默认波特率 57600bps
- 低功耗设计,适合电池供电应用
二、引脚定义
| 引脚序号 | 名称 | 功能 | 说明 |
|---|---|---|---|
| 1 | VCC | 电源正 | +3.3V DC |
| 2 | GND | 电源地 | 共地 |
| 3 | TXD | UART发送 | 接 MCU RXD(3.3V TTL) |
| 4 | RXD | UART接收 | 接 MCU TXD(3.3V TTL) |
| 5 | TOUCH | 触摸感应 | 手指检测输出(高电平有效),可选 |
| 6 | WAKE | 唤醒引脚 | 低电平唤醒模块(可选) |
注意:模块为 3.3V 电平,若使用 5V MCU(如 Arduino Uno)需加电平转换或分压(至少 RXD 端需分压)。
三、电气特性
| 参数 | 最小值 | 典型值 | 最大值 | 单位 |
|---|---|---|---|---|
| 工作电压 VCC | 3.0 | 3.3 | 3.6 | V |
| 工作电流(指纹采集) | — | 45 | 65 | mA |
| 待机电流 | — | 5 | 10 | mA |
| 休眠电流 | — | 20 | 50 | μA |
| 通信波特率 | 9600 | 57600 | 115200 | bps |
| 像素分辨率 | — | 500 | — | dpi |
| 扫描窗口 | — | 14×18 | — | mm |
四、通信协议(关键指令)
AS608 采用半双工问答模式,主机发送指令包,模块回复应答包。
指令包格式(发送)
包头(2B) | 地址(4B) | 包标识(1B) | 包长度(2B) | 指令码(1B) | 数据(N B) | 校验和(2B)
0xEF01 0xFFFFFFFF 0x01 Len+2 CMD DATA SUM
核心指令码
| 指令码 | 功能 | 说明 |
|---|---|---|
| 0x01 | 握手/验证密码 | 默认密码 0x00000000 |
| 0x02 | 设置口令 | 修改通信密码 |
| 0x0C | 设置波特率 | 修改通信波特率 |
| 0x10 | 获取图像 | 采集指纹图像 |
| 0x20 | 生成特征码 | 从图像提取特征存于缓冲区 |
| 0x20+0x08 | 合并特征 | 两次录入合并(注册用) |
| 0x06 | 存储模板 | 将缓冲区模板存到指定 ID |
| 0x0B | 比对指纹 | 1:1 比对(需指定 ID) |
| 0x04 | 搜索指纹 | 1:N 搜索整个指纹库 |
| 0x0C+0x04 | 删除模板 | 删除指定 ID 模板 |
| 0x0D | 清空指纹库 | 删除所有模板 |
| 0x1A | 获取模板数量 | 查询已注册指纹数 |
五、典型应用流程
指纹录入(注册)
① 握手验证(0x01) → ② 获取图像(0x10) → ③ 生成特征1(0x20 Buffer1)
→ ④ 再获取图像(0x10) → ⑤ 生成特征2(0x20 Buffer2)
→ ⑥ 合并特征(0x20+0x08) → ⑦ 存储模板(0x06, ID=1~512)
指纹搜索(识别)
① 握手验证(0x01) → ② 获取图像(0x10) → ③ 生成特征(0x20)
→ ④ 搜索指纹库(0x04, StartID, Count) → ⑤ 返回匹配ID/分数
六、使用注意事项
- 供电必须为 3.3V,不可直接接 5V,否则会烧毁模块。
- 指纹窗口保持清洁,灰尘/油污会严重影响识别率。
- 干燥手指 识别率低,可哈气后重试;湿手指 也影响识别。
- RXD 电平匹配:5V MCU 需在模块 RXD 端加 1kΩ + 2kΩ 分压。
- 波特率修改后断电保存,需记录新波特率。
- 校验和计算:从包标识开始到校验和前所有字节累加,取低 2 字节。
- TOUCH 引脚 为开漏输出,需外接上拉电阻(10kΩ 到 3.3V)。
- 指纹模板 ID 范围:1–512(某些版本支持 0–929)。