触摸按键信号处理方法及装置、计算机可读存储介质与流程

文档序号:15394265发布日期:2018-09-08 01:48阅读:245来源:国知局

本发明涉及触摸按键控制领域,尤其涉及一种触摸按键信号处理方法及装置、计算机可读存储介质。



背景技术:

目前,常见的触摸按键大多基于电容感应方法来感应是否有触摸操作触发,电容感应方法的基本原理基于手指的触摸会改变感应电容cp的电容值。现有技术中,电容感应方法包括电荷迁移方法。对于电荷迁移方法,存在一个基准电容cx,通过采集cp对cx的充电时间的长短来检测电容cp上的电容的变化量,进而判断是否发生按键事件,也即判断按键是否被触发。

在现有技术中,cp对cx的充电时间数据通常较小,可能无法直接用于数据处理。在实际应用中,通常将采样时间数据(也即采样得到的cp对cx的充电时长)进行放大处理,将采样时间数据与设定的放大系数相乘。因此,在判断是否发生按键事件时,是根据放大处理后的采样时间数据来判定。

然而,由于温度、湿度、电子器件损耗等因素的影响,导致触摸按键控制芯片系统在运行一段时间之后,触摸按键可能会因为放大后的采样时间数据超出预先设定范围而导致无法正常判断是否被触发。



技术实现要素:

本发明实施例解决的是如何避免放大后的采样时间数据超出预先设定范围,能够有效判断触摸按键是否被触发。

为解决上述技术问题,本发明实施例提供一种触摸按键信号处理方法,包括:获取采样时间数据,所述采样时间数据由实际采样时间与预设的放大系数计算得到;对所述采样时间数据进行滤波处理,得到滤波时间数据;检测所述触摸按键是否被触发;当检测到所述触摸按键未被触发,且所述滤波时间数据大于预设的第一阈值时,减小所述放大系数,直至根据减小后的放大系数得到的滤波时间数据不大于所述第一阈值;所述第一阈值与经验时间数据之和不大于理论最大时间数据,所述经验时间数据为判定所述触摸按键被触发的时间数据,所述理论最大时间数据为能够检测出触摸按键被触发的最大时间数据。

可选的,所述对所述放大系数进行调整,包括:在下一次检测到所述触摸按键未被触发时,减小所述放大系数。

可选的,所述检测所述触摸按键是否被触发,包括:将所述滤波时间数据与所述触摸按键对应的基线时间数据相减,当得到的差值大于预设差值时,判定所述触摸按键被触发一次。

可选的,所述触摸按键信号处理方法还包括:当检测到所述触摸按键被连续触发的次数为m时,判定所述触摸按键存在触发事件;m为整数且m≥2。

可选的,所述触摸按键信号处理方法还包括:当检测到所述触摸按键未被触发时,将所述滤波时间数据作为下一次检测所述触摸按键是否被触发时对应的基线时间数据。

可选的,采用如下任一种滤波方法,对所述采样时间数据进行滤波处理:中值滤波、平均值滤波。

可选的,所述触摸按键信号处理方法还包括:当检测到所述触摸按键未被触发,且所述滤波时间数据小于预设的第二阈值时,增大所述放大系数,直至根据增大后的放大系数得到的滤波时间数据不小于所述第二阈值;所述第二阈值小于所述第一阈值。

本发明实施例还提供了一种触摸按键信号处理装置,包括:获取单元,用于获取采样时间数据,所述采样时间数据由实际采样时间与预设的放大系数计算得到;滤波单元,用于对所述采样时间数据进行滤波处理,得到滤波时间数据;检测单元,用于检测所述触摸按键是否被触发;调整单元,用于当检测到所述触摸按键未被触发,且所述滤波时间数据大于预设的第一阈值时,减小所述放大系数,直至根据减小后的放大系数得到的滤波时间数据不大于所述第一阈值;所述第一阈值与经验时间数据之和不大于理论最大时间数据,所述经验时间数据为判定所述触摸按键被触发的时间数据,所述理论最大时间数据为能够检测出触摸按键被触发的最大时间数据。

可选的,所述调整单元,用于在下一次检测到所述触摸按键未被触发时,减小所述放大系数。

可选的,所述检测单元,用于将所述滤波时间数据与所述触摸按键对应的基线时间数据相减,当得到的差值大于预设差值时,判定所述触摸按键被触发一次。

可选的,所述触摸按键信号处理装置还包括:判定单元,用于当检测到所述触摸按键被连续触发的次数为m时,判定所述触摸按键存在触发事件;m为整数且m≥2。

可选的,所述触摸按键信号处理装置还包括:设置单元,用于当所述检测单元检测到所述触摸按键未被触发时,将所述滤波时间数据作为下一次检测所述触摸按键是否被触发时对应的基线时间数据。

可选的,所述滤波单元,用于采用如下任一种滤波方法,对所述采样时间数据进行滤波处理:中值滤波、平均值滤波。

可选的,所述调整单元,还用于当检测到所述触摸按键未被触发,且所述滤波时间数据小于预设的第二阈值时,增大所述放大系数,直至根据增大后的放大系数得到的滤波时间数据不小于所述第二阈值;所述第二阈值小于所述第一阈值。

本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令运行时执行上述任一种所述的触摸按键信号处理方法的步骤。

本发明实施例还提供了另一种触摸按键信号处理装置,包括存储器和处理器,所述存储器上存储有计算机指令,所述计算机指令运行时执行上述任一种所述的触摸按键信号处理方法的步骤。

与现有技术相比,本发明实施例的技术方案具有以下有益效果:

当没有检测到触摸按键被触发,且滤波时间数据大于预设的第一阈值时,减小放大系数,使得根据减小后的放大系数得到的滤波时间数据不大于第一阈值。通过设定第一阈值,使得第一阈值不大于理论最大时间数据与经验时间数据之差。因此,当存在触摸按键被触发时,能够有效避免采集时间数据超出预先设定范围的情况出现,进而能够有效判断触摸按键是否被触发。

进一步,此外,当检测到触摸按键被连续触发的次数大于2次时,判定触摸按键存在触发事件,从而可以有效避免误判断触发事件发生。

附图说明

图1是本发明实施例中的一种触摸按键信号处理方法的流程图;

图2是本发明实施例中的一种对采样时间数据进行滤波处理效果的示意图;

图3是现有的一种未对放大系数进行调整时滤波时间数据的波形示意图;

图4是本发明实施例中的一种对放大系数进行调整后的滤波时间数据的波形示意图;

图5是本发明实施例中的一种触摸按键信号处理装置的结构示意图。

具体实施方式

目前,在采用电荷迁移方法的触摸按键控制芯片中,设置有触摸按键以及基准电容。针对每一个触摸按键,其对应的金属键盘存在对应的感应电容cp。当同一块芯片上设置有多个触摸按键时,通过时分复用的方式来依次闭合触摸按键对应的开关电路,以检测触摸按键是否被触发。

每一个触摸按键存在与之一一对应的开关电路,在开关电路闭合且没有手指触碰触摸按键时,通过感应电容cp向基准电容cx充电,直至基准电容cx上的电压达到一个预定值,计算整个充电过程的时间。手指上的电容cfinger(以下简称cf)为人体与大地之间的寄生电容,当手指触碰触摸按键时,cp上的电容容量变为cp+cf。此时,cp向基准电容cx充电时,由于cp上的电容容量增加,因此充电时间缩短。在现有技术中,通过充电时间的变化量来判断触摸按键是否被触发。

在实际应用中可知,cp对cx的充电时间数据通常较小,可能无法直接用于数据处理。在实际应用中,通常将采样时间数据(也即采样得到的cp对cx的充电时间)进行放大处理,将采样时间数据与设定的放大系数相乘。因此,在判断是否发生按键事件时,是根据放大处理后的采样时间数据来判定。

然而,由于温度、湿度、电子器件损耗等因素的影响,导致触摸按键控制芯片系统在运行一段时间之后,采样时间数据可能会发生变化。在存在触摸按键被触发时,触摸按键可能会因为放大后的采样时间数据超出预先设定范围,导致无法正常判断触摸按键是否被触发。

在本发明实施例中,通过设定第一阈值,使得第一阈值不大于理论最大时间数据与经验时间数据之差。因此,当存在触摸按键被触发时,能够有效避免采集时间数据超出预先设定范围的情况出现,进而能够有效判断触摸按键是否被触发。

为使本发明的上述目的、特征和有益效果能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。

本发明实施例提供了一种触摸按键信号处理方法,参照图1,以下通过具体步骤进行详细说明。

步骤s101,获取采样时间数据。

在具体实施中,可以获取触摸按键控制芯片系统中的某一个触摸按键对应的实际采样时间。

在实际应用中可知,对应于第i个触摸按键,当第i个触摸按键对应的开关电路闭合时,对应的感应电容cpi向基准电容cx充电。此时,第i个触摸按键对应的实际采样时间为:将感应电容cpi采集电荷迁移到基准电容cx的过程中,基准电容cx的电压从0v抬高至预设电压的时长。

在本发明实施例中,获取的实际采样时间可以为触摸按键i在当次轮询时所对应的采样时间。在实际应用中,可以预设周期对触摸按键控制芯片系统中的所有触摸按键进行轮询,在每一个周期内,所有触摸按键均被轮询一次。

在本发明实施例中,获取到的实际采样时间通常较小,因此,为便于计算,通常可以将获取到的实际采样时间与预设的放大系数相乘,将得到的乘积作为采样时间数据。

步骤s102,对所述采样时间数据进行滤波处理,得到滤波时间数据。

在实际应用中,现有的触摸按键控制芯片系统中,可以对采样时间数据进行滤波处理,得到滤波时间数据。之后,根据滤波时间数据与基线时间数据的差值,与预设差值进行比较,检测触摸按键是否被触发。对采样时间数据进行滤波处理的主要目的,是对采样时间数据中瞬间发生的干扰信号以及触摸按键被触发时的抖动信号进行滤波处理。

在具体实施中,在对采样时间数据进行滤波处理时,可以采用中值滤波方法对采样时间数据进行滤波处理,也可以采用平均值滤波方法对采样时间数据进行滤波处理。

可以理解的是,在实际应用中,还可以采用其他的滤波处理方法对采样时间数据进行滤波处理,只要能够对采样时间数据中瞬间发生的干扰信号以及触摸按键被触发时的抖动信号进行滤波处理即可。例如,采用无限冲激响应(infiniteimpulseresponse,iir)滤波处理方法等。本发明实施例上述实施例中提供的滤波处理方法仅限于对滤波处理方法进行说明,并不对本发明的保护范围构成限制。

参照图2-,给出了本发明实施例中的一种对多次采样时间数据进行滤波处理效果的示意图。

从图2中可知,步骤s101中获取到的采样时间数据21存在较大的干扰,对应的信号幅度变化较大。在对采样时间数据21进行滤波后,得到滤波时间数据22。将采样时间数据21与滤波时间数据22进行比较,可以得知,滤波时间数据22更为平滑,对应的信号幅度变化较小。

步骤s103,检测所述触摸按键是否被触发。

在具体实施中,在检测触摸按键是否被触发时,是通过判断逻辑来实现的,即可以将触摸按键对应的基线时间数据与该触摸按键对应的滤波时间数据相减,将得到的差值与预设差值进行比较。当基线时间数据与滤波时间数据之差大于预设差值,则可判定该触摸按键被触发一次;反之,当基线时间数据与滤波时间数据之差不大于预设差值时,判定该触摸按键没有被触发。

例如,触摸按键i对应滤波时间数据ti,且触摸按键i对应的基线时间数据为t0,△t为预设差值。将(t0-ti)与△t进行比较,若t0-ti>△t,则判定触摸按键i被触发一次;若t0-ti≤△t,则判定触摸按键i没有被触发。

需要说明的是,在实际应用中,针对同一个触摸按键控制芯片系统,对应于每一个触摸按键均可以设置一一对应的基线时间数据,也可以对所有触摸按键设置一个相同的基线时间数据。基线时间数据的设置可以根据实际的应用需求进行设定,例如,可以预先通过自检测试获取基线时间数据。本发明实施例不对具体的基线时间数据的获取过程进行具体描述。

在本发明实施例中,当检测到触摸按键被触发时,可以获取该触摸按键被连续触发的次数。当该触摸按键被连续触发的次数为m次时,则可以判定该触摸按键存在触发事件;当该触摸按键被连续触发的次数小于m时,则可以结合下一次或之后几次该触摸按键是否被触发的情况,来判定该触摸按键是否存在触发事件。

也就是说,当检测到触摸按键被触发时,并不是立即判定该触摸按键存在触发事件,而是判断该触摸按键是否被连续触发。只有当该触摸按键被连续触发时,才判定该触摸按键存在触发事件。

换而言之,判断触摸按键是否被触发与判断触摸按键是否存在触发事件是存在区别的,在对所有触摸按键进行轮询的一个周期中,可以判断某一个触摸按键是否被触发;而判断是否存在触发事件,则需要在对所有触摸按键进行轮询的m个周期中,判断该触摸按键是否均被触发。若在对所有触摸按键进行轮询的m个周期中,该触摸按键均被触发时,则可以判定该触摸按键存在触发事件。

在实际应用中,可能会存在因干扰等因素而导致的触发事件误判断的情况出现。而在本发明实施例中,根据触摸按键被连续触发的次数来判断是否存在触发事件,从而可以避免因干扰而导致的触发事件的误判断。

换而言之,对于触摸按键而言,存在触发事件与被触发是两个不同的概念。当判定存在触发事件时,触摸按键已经被连续触发m次;当判定被触发时,触摸按键可能只被触发1次,也可能被连续触发多次。只有被连续触发m次,才判定触摸按键存在触发事件。

在具体实施中,可以根据实际的应用场景设定m。例如,设定m=3。

在本发明实施例中,当检测到触摸按键未被触发时,可以执行步骤s104。

步骤s104,当所述滤波时间数据大于预设的第一阈值时,减小所述放大系数。

在具体实施中,在检测到滤波时间数据大于预设的第一阈值时,则可以减小放大系数。对放大系数进行减小调整,可以是在下一次检测到触摸按键未被触发时,执行一次减小放大系数的操作,直至得到的滤波时间数据不大于第一阈值。

从本发明上述实施例中可知,步骤s101中获取的采样时间数据可以为触摸按键i在当次轮询时所对应的采样时间数据。在获取到当次轮询对应的采样时间数据后,可以根据当次之前的前n次轮询对应的采样时间数据对当次的采样时间数据进行滤处理,得到当次轮询的采样时间数据对应的滤波时间数据。在实际应用中,n为正整数。例如,n=4。

在本发明实施例中,在对放大系数进行调整时,可以在下一次检测到触摸按键没有被触发时,减小放大系数。以此类推,直至在第n次检测到触摸按键没有被触发时,根据减小后的放大系数得到的滤波时间数据不大于第一阈值时,停止对放大系数进行调整。

例如,n=1,则在当次之后的下一次,停止对放大系数进行调整。

在本发明实施例中,第一阈值可以满足如下条件:x≤y-z;其中,x为第一阈值,y为预设理论最大时间数据,z为判定触摸按键被触发时的经验时间数据。预设理论最大时间数据y可以为:能够检测出触摸按键被触发时对应的最大时间数据。判定触摸按键被触发时的经验时间数据可以预先通过多次测量数据计算来获取。例如,可以根据100次触摸按键被触发时对应的采样时间数据,求取平均值作为经验时间数据。

参照图3,给出了现有的一种未对放大系数进行调整时滤波时间数据的波形示意图。

图3中,在t1时刻~t2时刻,滤波时间数据随着时间的变化持续增加。在t2时刻~t3时刻,滤波时间数据保持不变。在t3时刻~t4时刻,触摸按键被触发。此时,从图3中可以看出,在t3时刻~t4时刻,触摸按键被触发,触摸按键被触发时的滤波时间数据超出了软件程序的预先设定范围,此时,软件程序无法正常判断触摸按键是否被触发。

在本发明实施例中,参照图4,给出了本发明实施例中的一种对放大系数进行调整后的滤波时间数据的波形示意图。

图4中,在t1时刻~t2时刻,滤波时间数据随着时间的变化持续增加。在t2时刻~t3时刻,检测到滤波时间数据大于第一阈值,因此,逐步减小放大系数,使得根据减小后的放大系数得到的滤波时间数据不大于第一阈值。在t3时刻~t4时刻,滤波时间数据保持不变。在t4时刻~t5时刻,触摸按键被触发。此时,从图4中可知,触摸按键被触发时,滤波时间数据并没有超出了软件程序的预先设定范围,因此,软件程序能够正常判断触摸按键是否被触发。

由此可见,在本发明实施例中,当没有检测到触摸按键被触发,且滤波时间数据大于预设的第一阈值时,减小放大系数,使得根据减小后的放大系数得到的滤波时间数据不大于第一阈值。通过设定第一阈值,使得第一阈值不大于理论最大时间数据与经验时间数据之差。因此,当存在触摸按键被触发时,能够有效避免采集时间数据超出预先设定范围的情况出现,进而能够有效判断触摸按键是否被触发。

在具体实施中,当检测到触摸按键没有被触发,且滤波时间数据小于预设的第二阈值时,增大放大系数,直至根据增大后的放大系数得到的滤波时间数据不小于第二阈值;第二阈值小于第一阈值。

参照图5,给出了本发明实施例中的一种触摸按键信号处理装置50,包括:获取单元501、滤波单元502、检测单元503以及调整单元504,其中:

获取单元501,用于获取采样时间数据,所述采样时间数据由实际采样时间与预设的放大系数计算得到;

滤波单元502,用于对所述采样时间数据进行滤波处理,得到滤波时间数据;

检测单元503,用于检测所述触摸按键是否被触发;

调整单元504,用于当检测到所述触摸按键未被触发,且所述滤波时间数据大于预设的第一阈值时,减小所述放大系数,直至根据减小后的放大系数得到的滤波时间数据不大于所述第一阈值;所述第一阈值与经验时间数据之和不大于理论最大时间数据,所述经验时间数据为判定所述触摸按键被触发的时间数据,所述理论最大时间数据为能够检测出触摸按键被触发的最大时间数据。

在具体实施中,所述调整单元504,可以用于在下一次检测所述触摸按键是否被触发时,减小所述放大系数。

在具体实施中,所述检测单元503,可以用于将所述滤波时间数据与所述触摸按键对应的基线时间数据相减,当得到的差值大于预设差值时,判定所述触摸按键被触发一次。

在具体实施中,所述触摸按键信号处理装置50还可以包括:判定单元(图5中未示出),可以用于当检测到所述触摸按键被连续触发的次数为m时,判定所述触摸按键存在触发事件;m为整数且m≥2。

在具体实施中,所述触摸按键信号处理装置50还可以包括:设置单元(图5中未示出),可以用于当所述检测单元503检测到所述触摸按键未被触发时,将所述滤波时间数据作为下一次检测所述触摸按键是否被触发时对应的基线时间数据。

在具体实施中,所述滤波单元502,可以用于采用如下任一种滤波方法,对所述采样时间数据进行滤波处理:中值滤波、平均值滤波。

在具体实施中,所述调整单元504,还可以用于当检测到所述触摸按键未被触发,且所述滤波时间数据小于预设的第二阈值时,增大所述放大系数,直至根据增大后的放大系数得到的滤波时间数据不小于所述第二阈值;所述第二阈值小于所述第一阈值。

本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令运行时执行本发明上述任一实施例中提供的触摸按键信号处理方法的步骤,此处不做赘述。

本发明实施例还提供了另一种触摸按键扫描装置,包括存储器和处理器,所述存储器上存储有计算机指令,所述计算机指令运行时执行本发明上述任一实施例中提供的触摸按键信号处理方法的步骤,此处不做赘述。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指示相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:rom、ram、磁盘或光盘等。

虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1