电容触摸技术实用教程
欢迎使用 小书匠编辑器,您可以通过设置里的修改模板来改变新建文章的内容。
一 电容检测原理
-
电容模型
手指的电容模型介绍。如下图,
正常情况下Cx=sensor本身的电容和环境的寄生电容。当手指靠近/按下时,会增加个手指的电容到这个Cx,增大Cx的电容。
通过检测Cx的容值,就可以获知是否触摸以及其他的信息。
触摸芯片的优点就是可以将非常小的的电容变化检测出来,并量化为更容易处理的数据。 -
电容检测技术:电荷转移
AZOTEQ采用的是电荷转移的技术实现。通过恒流源和开关的组合,结合计数器比较器来实现。简单的图示如下方所示。
流程如下:
1. S0闭合,S1打开,S2打开,恒流源给Cx充电,充满。
2. S0打开,S1闭合,S2打开,Cx给Cs充电,充到Cx 电压与Cs相等。
3. S0打开,S1打开,S2打开,比较基准源与Cs的电压,如果Cs电压大于基准源,则一次扫描完成,获得计数值,闭合S2,Cx放电到0V。
4. 重复步骤1. -
互电容和自电容
电容的扫描原理分为互电容扫描和自电容扫描。自电容扫描
简单来说,自电容扫描就是自发自收的一种扫描方式。芯片测量的电容是电极相对于地面的电容。对应到芯片引脚的话就是一个引脚对应一个触摸通道。手或手指的接近会增加测量电容。
互电容扫描
芯片测量的电容是两个电极之间电容。每两个RX,TX之间的关系对应一个触摸通道。手或手指的接近会减少测量电容。
二 芯片内部重要名词解释
下面给出一张图,结合图示来解释。这是一张互电容IQS360的上位机演示图。
1. LTA:长期平均值,通过长期采样COUNT平均滤波得到的数值,可以代表当前环境。
2. COUNT:实时采样值,就是前面电容原理中的计数值。和LTA做差得到差值,如果超过门限值,则判断触发对应功能。
3. Thresholds:门限,有触摸门限和接近门限,用于选择对应的灵敏度,数值设置的越小,越灵敏,可以看到第5个通道变红判定已触发,因为,变化量超过了设定的门限(24=400×6%)。通道0接近感应也已经触发,因为变化量大于接近门限。
4. Target:目标值。这是通过软件设定的一个值,用于控制采样目标值(对应的是COUNT的高度)。包括接近感应通道和触摸通道分别有各自的一个目标值。可以看到图中,接近感应通道的高度为800,触摸通道的高度为400。
5. ATI:自动调谐技术。芯片可以通过调节自身的电容以达到最优的灵敏度。事实上就是执行一次Re-ATI以后芯片会修改每个通道的Compensation和Multiplier两个寄存器的值,使count的值达到Target的范围。
6. LP:通过间隔时间扫描接近感应通道的方式,实现低功耗。LP 设置越长,功耗越低,响应的触发反应时间会变长。如下图所示。
接近触发后,会自动进入Boost模式。进行全速扫描。
7. Halt time:在触摸按键触发时LTA是不学习的。Halt time指触摸按键触发时锁定要LTA的时间。当触发的时间超过设定的Halt time,对应的触摸按键通道会复位。如这个设置Halt time为20秒,当按下某个按键超过20秒的话,就会复位。
8. Event Mode:在配置为事件模式后,只有在对应的事件触发的时候才会需要通信,可以节省主机的消耗。
9. ATI_Partial:使能该位后,可以人为指定Multiplier这个寄存器的内容。执行ATI功能时只自动调节Compensation寄存器。一般用于快速初始化。
三 OTP芯片介绍:iqs227
OTP是One Time Programmable ,也就是一次编程的意思。简单来说就是寄存器中所有的位都只能烧一次,默认值都是零,烧成一以后不能恢复。这一点在研发调试的时候要特别注意。
下面针对iqs227这个典型的OTP芯片进行介绍。这个芯片非常的简单,只有一个通道。OTP能够配置的的信息如下图所示。
很多信息在第三章已经提到过就不再重复。
-
OUT Logic Select:输出逻辑的选择。默认是active low,常态高电平动态低电平,这个输出引脚实际上是开漏的需要接上拉电阻。可以选择为active high,是设置为推挽输出,常态低电平动态高电平。
-
Touch Function:触摸感应通道的输出方式,可以使直接输出或者是翻转输出。
-
Proximity Function:接近感应通道的输出方式,可以是直接输出或者是锁存输出。大概意思就是选择锁存输出以后,接近感应消失以后还有一定的延时时间输出。备注:常态高电平触发低电平。如下图所示。
-
Nosie Detect:噪声检测。需要在TOUT的引脚上接一根外部天线来检测对应频率上的干扰。在环境极其恶劣的情况下才会使用我们并不推荐。
-
Charge Transfer Frequency:充放电频率的选择,可以是512Khz和250Khz。一般也不推荐修改。
-
Streaming:流模式使能。那么芯片就不是直接输出的引脚功能了,而是采用通讯的方式来上报触摸信息触摸信息。一般在调试的时候才会选择这个功能,来确认触摸环境信息。
-
Streaming Method:可以选择一线制或者IIC通讯。
四 触摸专用芯片介绍:iqs263
IQS263是3通道的触摸芯片,支持互电容扫描和自电容扫描,两种工作方式,我们一般推荐用自电容。有移动检测的功能。芯片硬件可以计算出一个精度为0-255的滑条。基于滑条可以做一些点击滑动的手势判断。是目前3通道芯片里面功能最好的芯片。
-
通用原理图
如下图,其中,通信线为RDY,SDA,SCL,都需要接上拉电阻。RDY是通讯使能脚,当RDY为低电平时才支持通信。上电RDY引脚为方波。
-
硬件滑条
支持2/3键滑条,3键圆环滑条,需要相应的PCB硬件图案支持。一般选择为 2/3 通道自电容滑条的多。
芯片提供可配置的原始值滤波器,角度滤波,和 debunce 的功能。
-
事件模式
-
事件模式下,只有设定的事件发生,RDY 才会拉低,通知主控来读取信息。最多支持 8 个事件。
Flick Left:左滑手势事件。
Flick Right:右滑手势事件。
Tap:点击手势事件。
Movement:移动检测事件。
ATI:ATI相关事件。
Slide:坐标值事件。
Touch:触摸事件。
Prox:接近感应事件。
滑动手势事件:手指点击滑条,并移动一段距离并且离开。当接触的时间和移动的距离符合相应要求的时候可以触发。
点击手势事件:手机点击滑条,并且离开。当接触的时间和移动的距离符合相应要求的时候可以触发。
移动检测事件:当采样值的变化超过一定斜率,并且使能移动检测功能,可以触发。
ATI相关事件:ATI完成/ATI error可以触发。本条待定。
坐标值事件:当滑条值更新时触发。
触摸事件:当滑触摸状态更新时触发。如某个按键按下或者弹起。
接近感应事件:当滑接近感应状态更新时触发。
注:一般默认配置Bit7|Bit6|Bit5|Bit2|Bit1
-
事件模式下复位处理
配置完成,进入事件模式后,RDY 常高。一旦出现主机复位,触摸板没有复位的情况,主机再次进行初始化,会发现触摸板无法通讯,必须等到 RDY 拉低才能继续通信。
解决: 提供函数 i2c_event_mode_handshake(void),通过主机强制拉低 RDY,再释放。触摸 IC会响应,触摸 IC 端会主动拉低一次 RDY,主机进行配置,将事件模式取消(RDY 恢复为方波)。待所有配置都完成,再配置为事件模式,结束通讯。
-
五 触摸板芯片介绍:iqs525
IQS525是一颗互电容触摸板芯片,至多可以做8 * 9的通道数,分辨率可以达到1792*2048。支持多点最多到5点。
-
通用原理图
其中,通信线为RDY,SDA,SCL。SDA,SCL需要接上拉电阻。RDY是通讯使能脚,当RDY为高电平时才支持通信。上电RDY引脚为方波。
-
工作模式
Normal Mode :正常扫描触摸板。开启一条Tx,然后扫描所有的Rx,然后切换下一条Tx,循环。在该模式下可以计算坐标值。
ProxMode:是在扫描天线的模式。根据配置可以是自电容和互电容原理的天线。天线的灵敏度会比正常的触摸模式要好得多。当然硬件要符合设计规则。一般推荐单独的一个Rx做天线围绕板边一圈,然后所有的Tx都打开。这里配置的时候是可以选择用做接近感应功能的Tx和Rx。如下图所示。
Automatic Mode:当该位置位的时候,在没有触摸的时候是在ProxMode。当ProxMode模式触发以后自动切换进入Normal Mode。当没有置位的时候,根据模式的选择一直处于某种模式扫描。
Low Power:低功耗的时候就是降低扫描的频率。以上3种情况当进入低功耗的时候都会降低扫描的频率。等触发后自动进入全速模式。
Event Mode:当时是事件模式置位的时候,只有在事件(接近/触摸)触发的时候才会上报信息。这个IQS263的要简单一些,没有那么多类型的事件。
六 硬件layout
请参考文档LSD 触摸Layout指南
七 触摸板的手势应用处理
本章节主要介绍基于单指的触摸手势处理框架,实现一些手势的判断。
状态分析,横轴为时间轴。所有的触摸手势都符合下面的图示,在没有触摸的情况下,手指触摸触摸板,然后手指离开。
据此可以得到4个触摸状态。Null
Down
Press
Up
针对这4种状态的具体情况可以做不同的处理。
* 在Null的时候可以做一些状态清零。
* 在Down的时候可以做一些数据记录。
* 在Press的时候可以做一些手势判断、状态更新。
* 在Up的时候可以做一些手势判断和状态清零。
八 常见问题和解决办法
硬件的性能是至关重要的,好硬件的触摸是很少会出问题的。需要从设计端直接避免出现不良的因素。
面壳贴合不稳定问题:容易导致触摸误触发或不灵敏,建议用双面胶完全固定好再进行上电调试。
面壳贴和有间隙影响灵敏度:空气间隙对灵敏度影响很大,必须完全贴和。
IIC通讯问题:强调必须RDY使能后,芯片才支持IIC通讯。并且建议客户用逻辑分析仪抓下完整波形,我们直接支持分析波形问题。
硬件问题:检查上电RDY引脚是否为方波。借出CT210工具,查看硬件完整参数。
IQS227AS静电大电流问题,在VCC端串联100欧姆电阻可以解决。
在灵敏度到接近极限的范围,可能出现触摸变化在门限附近抖动的情况,导致输出不稳定。一般采用双门限的方式处理,即当触发一个门限后,将该门限降低一定比率,防止触摸抖动影响到输出,完全释放后则恢复门限;也可以采用迟滞的方式处理,多做几次判断累计次数,达到一定次数后才做输出。
电池供电的触摸,触摸触摸区域可以触发按键,触摸电池也可以触发按键。建议是,将电池和触摸按键的分布在一起,避免分布在2个远端。
电池供电不考虑做接近感应。其实不推荐做接近感应。