一、BS81x 特征
• 工作电压:2.2V~5.5V
• 低待机电流
• 自动校准功能
• 可靠的触摸按键检测
• 自动切换待机 / 工作模式
• 最长按键输出时间检测
• 具备抗电压波动功能
• Level Hold,可选高有效或低有效
• NMOS 输出内建上拉电阻 /CMOS 直接 输出
• 支持串行和并行输出
• 外接电容调整感度
• 极少的外围组件
二、BS81x 概述
BS81x 系列芯片具有 2~16 个触摸按键,可用来检测外部触摸按键上人手的触摸动作。该系列的芯片具有较高的集成度,仅需极少的外部组件便可实现触摸按键的检测。
BS81x 系列提供了串行及并行输出功能,可方便与外部 MCU 之间的通讯,实现设备安装及触摸引脚监测目的。芯片内部采用特殊的集成电路,具有高电源电压抑制比,可减少按键检测错误的发生,此特性保证在不利环境条件的应用中芯片仍具有很高的可靠性。
此系列的触摸芯片具有自动校准功能,低待机电流,抗电压波动等特性,为各种触摸按键的应用提供了一种简单而又有效的实现方法。
三、BS8166介绍
我们这里使用的是BS8166A-3,下图所示:
1、引脚特征
按键:16个触摸按键
通信方式:IIC
2、接口电气特征
3、读写时序流程
写设置:起始条件+一个字节(触摸芯片器件地址+W)+从机回响应信号+主机发送命令字节+从机回响应信号+主机发送起始信号+一个字节(触摸芯片器件地址+R)+从机回响应信号+读取输出(从机发送)+主机发送停止信号
读1个字节设置:起始条件+一个字节(触摸芯片器件地址+R)+从机回响应信号+主机发送命令字节+从机回响应信号+主机发送起始信号+一个字节(触摸芯片器件地址+R)+从机回响应信号+读取输出(从机发送)+主机发送停止信号
4、IRQ功能
输出模式:IRQ_OMS = 0 (Level hold,低有效)主机在 IRQ 低电平时读取按键数据,当按键数据为 0 时停止读取。
输出模式:IRQ_OMS = 1 (One-shot,低有效 )按键状态发生改变时,发一脉冲信号。
不使用 IRQ 功能时:Key16 (BS8116A-3) 是触摸按键
当主机读取所有按键为松键 (KeyStatus=0x00) 后,主机可以降低读取速度,使功耗降低,降低读取速度时按键反应速度会变慢。
最长按键持续时间:为尽量减少如不小心碰触到感应电极等此类的无意按键检测,芯片内部设置了最长按键持续时间功能。当某个触摸按键按下时,内部定时器开始计时,一旦按键按下的时间过长,超过大约 64s 后,触摸芯片会忽略该被触摸键的状态,重新校准,获取新的基准值,同时输出状态重置为初始状态。
自动校准功能:上电后,芯片会进行初始化,取得第一次基准值,接下来,若在正常模式下 1s 内,待机模式下 32s 内,没有按键被按下,触摸芯片在固定的时间周期到后,将自动校准基准值,使得基准值可以根据外界环境进行动态的变化。
四、代码例程
1、硬件原理图