电容触摸板中的手指判定方法 【技术领域】
本发明特别涉及集成电路领域的一种电容触摸板中的手指判定方法。背景技术 触摸板作为代替传统鼠标的输入设备, 在笔记本电脑、 高档点读机和上网本等设 备中不可或缺。而这些设备中的触摸板主要是以电容式触摸板为主。这点在中国专利 ZL95195811.9 ; ZL97190278.X 中已有详细说明。而电容式触摸在诸如手机、 触摸屏等设备 中因所具有的优越性而快速发展。
在电容式触摸设备中, 手指触摸作为主要方式。所以判断手指的存在与否是整个 触摸板的工作关键所在。传统的判断方法是将当前值和初始值相比较, 如果当前值较初始 值大, 且大于一定的固定数值时, 判定手指存在 ; 而当小于这个固定数值时, 判定手指不存 在。 这种方法简单, 但抗干扰性不好, 且解决不了由于环境改变造成的二者差值发生变化所 导致的诸如无手指或手指一直存在的问题。
发明内容
本发明的目的在于提出一种电容触摸板的手指判定方法, 其可有效提升触摸屏的 抗干扰性, 并克服现有技术中因环境变化而导致的无手指或手指一直存在的问题。
为实现上述发明目的, 本发明采用了如下技术方案 :
一种电容触摸板中的手指判定方法, 其特征在于, 该方法是通过设定一窗口, 并通 过比较当前值与背景值的差值与窗口上限值和下限值, 进而判定手指的存在与否, 该判定 过程为 :
若当前值与背景值的差值大于窗口上限值至少 2 次时, 则判定手指存在 ;
若当前值或当前值与背景值的差值小于窗口下限值时, 则判定手指不存在 ;
若当前值落在窗口内或当前值与背景值的差值落在窗口内的时间超过设定时间, 则判定手指不存在 ;
以及, 若当前值比上一次的值小于一设定值, 则判定手指不存在, 所述设定值小于 窗口。
进一步地讲, 该方法中, 所述窗口的设定方法包括 :
(1) 对于窗口上限值来说, 其设定过程采用的方法包括 :
I、 给窗口上限值在系统上电时赋一初值, 这个值要足以保证在任何情况下, 手指 放到触摸板上时都能够被判定出 ;
II、 在计算出有手指时, 利用下列公式更新当前的窗口上限值 F1 :
F1n = a*F2+F1n-1 ;
III、 设定一最大的上限值 F1max, 使当前的窗口上限值 F1 ≤ F1max ;
IV、 计算手指存在时, 当前值与背景值的最大差值 F2max, 而在判定手指离开时, F1n = (α*F2max+F1n-1)/2, F2max 由滤波计算得到 ;前述 F2 =当前值 - 背景值, F1n 为当前窗口上限值, F1n-1 为上一轮的窗口上限值, F1 < F2, 且 a < 0.5 ;
(2) 窗口下限值是根据窗口上限值而确定的。
该方法包括判定手指存在的过程和判定手指不存在的过程。
判定手指存在的过程为 :
当前值向上增加至比背景值大于窗口上限值至少 2 次时, 则判定手指存在 ;
当前值下降至比下限值小时则判定手指不存在 ;
当前值或当前值和背景值的差值落在窗口内时, 计算其落在窗口内的时间, 如果 超过设定的时间, 则判定手指不存在。
判定手指不存在的条件为 :
A、 当前值小于下限值, 或者在手指不存在的状态下当前值小于上限值 ;
B、 手指存在时, 当前值落在窗口内的时间超过设定时间 ;
C、 当前值比上一次的值小于一个规定值, 该规定值为固定值或随窗口上限值的变 化而连续变化。
条件 C 中, 所述规定值为窗口的 30 ~ 40%, 且为绝对值。 附图说明
图 1 为本发明具体实施方式中窗口上下限及背景值示意图 ; 图 2 为本发明具体实施方式中电容触摸板中的手指判定方法的流程图。具体实施方式
以下结合附图及具体实施例对本发明的技术方案作详细说明。
本发明的电容触摸板的手指判定方法包括两个过程, 其分别为从无手指到有手指 的过程和从有手指道无手指的过程。
一、 判定手指存在 ( 从无到有 )
参阅图 1, 为了增加触摸板的抗扰性, 本发明设定了一个窗口, 只有当前值向上增 加至比背景值大于窗口上限值至少 2 次时, 才认为手指存在 ; 当前值下降至比下限值小时 才认为手指不存在 ; 而当当前值落在窗口内时, 则要根据情况而定。
前述背景值是手指不存在时, 系统采集到的数据。显而易见, 背景值会随着温度、 湿度等环境条件改变而发生变化。
本节所述判定手指存在的过程可参阅图 2 所示。 但是, 图 2 中并没有包含手指落在 窗口上、 下限值中间的情况。 常用的窗口判定方法是 : 如果数值从下限值上升且不到上限值 时, 则判定手指不存在 ; 如果从上限值下降, 且在窗口内时认为手指存在 ; 这就是所谓的迟 滞特性。这对于其他相关的人员也很容易想到这一点。但有时数据会出现这样一种情况, 就是当手指离开后, 由于各种原因, 数据可能下降到窗口内并在其内一直保持住, 如果按传 统的方法, 则会判定手指一直存在。 那么这个结果就错了, 就会导致手指在触摸板或屏上时 不正常。一个好的方法是, 在 TEMP 值 ( 当前值和背景值的差值, 如图 1 所示 ) 落在窗口内 时, 会自动计算落在窗口内的时间, 如果超过设定的时间就会判定手指不存在。
二、 判定手指不存在 ( 从有到无 )手指从有到无也是一个重要的因素, 这会牵涉到手指离开时的动作。由于手指离 开时, 由于手势的差别和环境条件的影响, 数据并不会立即变小, 而会慢慢变小。这种缓慢 变化的趋势, 会导致在手指离开后一段时间内, 手指还会判定存在, 这对于系统在执行一些 功能时会出现错误。 如当触摸板作为鼠标设备时, 手指离开时, 会出现指针往手指离开的方 向一个错误的移动。
判定手指不在时有三个条件 :
A、 如果当前值小于下限值或者在手指不存在的状态下当前值小于上限值 ;
B、 手指存在时, 当前值落在窗口内, 它不能在窗口内超过规定的时间, 时间到, 则 手指不存在 ;
C、 当前值比上一次的值小于一个规定的较大值, 假设这个值为 C1, 不能看出 C1 可 以是固定的, 也可以是变化的。一个比较好的方法是 C1 随着手指上限值的变化而变化, 而 手指上限值可能会随着环境条件、 手指粗细和手指压力的改变而改变。一个较好的比例是 C1 是在手指门限的 30 ~ 40%之间。如手指门限是 100, 则 C1 取 30 ~ 40 之间的数据。当 然也可以取其他比例的数值。C1 值一般是连续的, 即连续几次当前值都比上一次的值小, C1 值是绝对值。 C 条件是消除当手指离开触摸屏时而造成的指针抖动。 手指离开时之所以会抖动, 因为离开时, 由于手指的弹性不能使手指一次绝对离开, 且有接近电容, 使产生不确定的手 指状态而计算出不确定的坐标。
三、 手指门限 ( 窗口 ) 的确定
手指门限是判断手指是否存在的重要参考数据。其表现为当前值与背景值的差 值, 为正值。 设手指门限上限值为 F1, 设 F2 =当前值 - 背景值, 则判断手指存在的前提条件 是 F2 ≥ F1 且必须连续大于两次。因此正确确定 F1 的值是必要的。 但固定的 F1 会造成 可能判定手指错误。一个较好的方法是 F1 是变化的。
在实际使用中, 手指有粗有细, 手指的压力有大有小, 环境也在时刻发生改变。因 此, 在手指门限的计算中, 这些因素都考虑进去。方法是 :
第一、 给手指门限在系统上电时赋一初值, 这个值要保证各种情况下, 手指放上去 都要能判定出。一般较小。
第二、 在计算出有手指的时刻时, 计算 F2, 然后利用公式 F1n = a*F2+F1n-1 且 F1 < F2, 更新当前的手指门限上限值。a < 0.5.
第三、 设一最大的上限值 F1max, 使 F1 ≤ F1max。如果不设最大值, 可能在某种条 件下, F1 比较大, 会使手指操作异常。
第 四、 计 算 手 指 在 时 的 F2max, 当 手 指 离 开 后 的 时 刻, 利 用 公 式 F1n = (α*F2max+F1n-1)/2。本公式只在系统判定手指离开时计算一次。显然 F2max 的值可能通 过一些滤波计算得到。
利用此方法得来的 F1, 很好的适应了众多的条件, 使手指门限的值具有适应性。 显 然, 手指门限的下限值可以通过一定的方法跟随 F1 的变化, 可以设定固定的差值 ( 根据实 际环境取合适值, 比如, 10-20), 也可以设定一定的比例 ( 比如 10-20%的比例范围 )。
实现本发明的最好方式应用在触摸板系统, 特别是笔记本电脑、 学习机等需要用 触摸板代替鼠标的设备中。在这类设备中, 触摸板一般是电容触摸板, 有手指在上移动, 实
现模拟鼠标的控制。
以上仅是本发明的应用范例, 对本发明的保护范围不构成任何限制。凡采用等同 变换或者等效替换而形成的技术方案, 均落在本发明权利保护范围之内。