前言

自小刺头深草里,而今渐觉出蓬蒿。
时人不识凌云木,直待凌云始道高。————杜荀鹤《小松》


一、YH-AS608简介

YH-AS608 是野火设计的高性能光学指纹识别模块。它采用了杭州晟元芯片技术有限公司( Synochip ) AS60x 高性能指纹识别芯片,芯片内置 DSP 运算单元并集成了先进的指纹识别算法,具有较高识别精度。模块内部内置了手指探测电路,用户可读取状态引脚( TouchOut )判断有无手指按下。另外模块是通过串口通信向单片机系统和电脑输出指纹识别信息的,使用简单方便。

  • 工作原理:

    1. 指纹特征
      指纹算法从获取的指纹图像中提取的特征,代表了指纹信息,指纹的存储、比对和搜索等都是通过操作指纹特征来完成的。
    2. 指纹处理
      • 指纹登录过程 :指纹登录时,对每一枚指纹录入 2 次,将 2 次录入的图像进行处理,合成模板存储于模块中。
      • 指纹匹配过程:(有指纹比对(1:1)和指纹搜索(1:N)两种方式),指纹匹配时,通过指纹传感器,录入要验证的指纹图像并进行处理,然后与模块中的指纹模板进行匹配比较(若与模块中指定的一个模块进行匹配,称为指纹比对方式,即 1:1 方式;若与多个模板进行匹配,称为指纹搜索方式,即 1:N 方式)。最后模块给出匹配结果(通过或失效)。
  • 特点:

    AS608 指纹模块集成了光路和指纹处理部分的一体化指纹处理模块,模块使用 USBUART 接口通信,用户无需研究复杂的图像及指纹识别算法,只需要通过简单的串口,USB 按照通信协议便可以控制模块。具有体积小、功耗低、接口简单的特点,可靠性高、识别速度快、干湿手指适应性好,指纹搜索速度快。
  • 用处:

    • 各种考勤机
    • 保险箱柜
    • 指纹门禁系统
  • 外观:

在这里插入图片描述
在这里插入图片描述


  • 引脚描述:

    • TouchVin:输入,手指触摸感应电源输入端,模块电源正输入端,3.3V供电。
    • TouchOut:输出,手指触摸感应信号输出,默认高电平有效
    • Vin:输入,模块电源正输入端
    • Tx:输出,串行数据输出,TTL逻辑电平
    • Rx:输入,串行数据输入,TTL逻辑电平
    • GND:信号地,与GND连接
    • U+:USB D+
    • U-:USB D-
      在这里插入图片描述
      在这里插入图片描述

  • 模块资源:

  • 系统参数存储区结构:在这里插入图片描述

  1. 缓冲区与指纹库

    在指纹模块内部内置了 DSP 运算模块和 FLASH 存储区特别的,芯片内设有一个 72K 字节的图像缓冲区与二个 512bytes256字)大小的特征文件缓冲区,名字分别称为:ImageBufferCharBuffer1CharBuffer2。用户可以通过指令读写任意一个缓冲区。CharBuffer1CharBuffer2 既可以用于存放普通特征文件也可以用于存放模板特征文件。通过 UART 口上传或下载图像时为了加快速度,只用到像素字节的高 4即将两个像素合成一个字节传送。通过 USB 口则是8 位像素。指纹库容量根据挂接的 FLASH 容量不同而改变,系统会自动判别。指纹模板按照序号存放,序号定义为:0—(N-1)N 为指纹库容量,这里 N = 300)。用户只能根据序号访问指纹库内容。

  2. 用户记事本

    系统在 FLASH 中开辟了一个 512(16 * 32) 字节的存储区域作为用户记事本,该记事本逻辑上被分成 16 页,每页 32 字节。上位机 可以通过 PS_WriteNotepad 指令和 PS_ReadNotepad 指令访问任意一页。注意写记事本某一页的时候,该页 32 字节的内容被整体写入,原来的内容被覆盖。

  3. 随机数产生器

    系统内部集成了硬件 32随机数生成器(不需要随机数种子),用户可以通过指令让模块产生一个随机数并上传给上位机。

  4. 模块地址 (大小:4bytes ,属性:读写) )

    模块的默认地址为0xFFFFFFFF,可通过指令修改,数据包的地址域必须与该地址相配,命令包/数据包才被系统接收。(注:与上位机通讯必须是默认地址 0xFFFFFFFF

  5. 模块口令 (大小:4bytes ,属性:写)

    系统默认口令为 0,可通过指令修改。若默认口令未被修改,则系统不要求验证口令,上位机和 MCU 与芯片通讯;若口令被修改,则上位机与芯片通讯的第一个指令必须是验证口令,只有口令验证通过后,芯片才接收其它指令。(注:不建议修改口令!
    在这里插入图片描述

  6. 数据包大小设置(大小:1bytes ,属性:读写)

    发送数据包和接收数据包的长度根据该值设定。

  7. 波特率数 系数 N 设置 (大小:1bytes ,属性:读写)

    USART 波特率 = N×9600N = 1~12)。

  8. 安全等级 level 设置(大小:1bytes ,属性:读写)

    系统根据安全等级设定比对阀值,level = 1~5。安全等级为 1 时,认假率最高,拒认率最低。安全等级为 5 时,认假率最低,拒认率最高。


二、硬件开发

1. 时钟

在这里插入图片描述

2. UART

在这里插入图片描述

3. USB

在这里插入图片描述

4. UART 与 USB 协同工作

在这里插入图片描述
在这里插入图片描述


  • 硬件电路连接(YH-AS608 与 STM32单片机系统连接):

    YH-AS608 支持 TTL 电平的串口通讯标准,非常方便使用单片机系统来进行控制。
    在这里插入图片描述

  • 安装 SYDemo 上位机与测试

    链接:https://pan.baidu.com/s/1cB4a0-me8802r_sSJmUvQQ
    提取码:9wm1

  • 上位机打开界面:在这里插入图片描述

  • 使用原理

    利用光的折射和反射原理,光从底部射向三棱镜,并经棱镜射出,射出的光线在手指表面指纹凹凸不平的线纹上折射的角度及反射回去的光线明暗就会不一样。CMOS 或者 CCD 的光学器件就会收集到不同明暗程度的图片信息,就完成指纹的采集。


Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐