掌桥专利:专业的专利平台
掌桥专利
首页

按键状态确定方法、装置、芯片和存储介质

文献发布时间:2023-06-19 18:35:48


按键状态确定方法、装置、芯片和存储介质

技术领域

本申请涉及电子技术领域,特别是涉及一种按键状态确定方法、装置、芯片和存储介质。

背景技术

随着电子技术的发展,传统的按键逐渐被触摸按键替代。相较于传统物理按键,触摸按键具有设计美观、坚固可靠、操作方便等优势,因而被广泛应用于智能门锁、冰箱、电磁炉等家用电器设备中。

传统方式中,通常采用硬件或软件滤波来处理电容数据,如在微控制单元(MCU,Microcontroller Unit)内部集成的滤波与判断模块,硬件设计简单,易走线布局。

但是,在上述方式中,当触摸按键处于高低温循环、高温高湿等恶劣环境或电磁兼容测试(EMC,Electro-Magnetic)、近场通信(NFC,Near Field Communication)射频干扰、对讲机等强干扰情况下,易出现低功耗状态下出现按键唤醒或工作状态下出现按键响应的问题,从而按键状态确定的准确性较低。

发明内容

基于此,有必要针对上述技术问题,提供一种能够提升恶劣环境或强干扰条件下按键状态确定准确性的按键状态确定方法、装置、芯片和存储介质。

一种按键状态确定方法,包括:

获取待判定按键的按键配置参数,按键配置参数包括按键预处理参数以及按键状态判定参数,按键配置参数基于待判定按键所处环境的环境数据和/或待判定按键的按键状态进行更新;

采集待判定按键的电容值数据;

基于按键预处理参数,对电容值数据进行预处理,得到预处理后的电容值数据;

根据按键状态判定参数,对预处理后的电容值数据进行判定,确定待判定按键的按键状态。

在其中一个实施例中,采集待判定按键的电容值数据之后,还包括:

将采集的电容值数据分组缓存至数据缓冲区中;

对电容值数据进行预处理,得到预处理后的电容值数据,包括:

对数据缓存冲区的电容值数据进行预处理,得到预处理后的电容值数据。

在其中一个实施例中,将采集的电容值数据分组缓存至数据缓冲区中,包括:

获取已有的第一数据缓冲区,并判断第一数据缓冲区数据是否存满;

当第一数据缓冲区的数据已存满时,则新增第二数据缓冲区,并将电容值数据存入第二数据缓冲区。

在其中一个实施例中,基于按键预处理参数,对电容值数据进行预处理,得到预处理后的电容值数据,包括:

对电容值数据进行滤波处理和指数放大处理,得到对应待判定按键的按键动作的特征信息;

对按键动作的特征信息进行均方差计算,得到对应的特征信息均值与特征信息方差。

在其中一个实施例中,对电容值数据进行滤波处理,包括:

对电容值数据进行低通滤波、高通滤波、正态分布滤波以及滑动均值滤波中至少一种滤波处理。

在其中一个实施例中,按键状态判定参数包括均值阈值;

根据按键状态判定参数,对预处理后的电容值数据进行判定,确定待判定按键的按键状态,包括:

判断特征信息均值是否大于均值阈值;

当特征信息均值大于均值阈值,确定待判定按键存在按键动作;

当特征信息均值小于或等于均值阈值,确定待判定按键无按键动作。

在其中一个实施例中,基于待判定按键的按键状态对按键配置参数进行更新,包括:

当确定待判定按键无按键动作时,则对特征信息方差进行第一判定,并基于得到的第一判定结果对按键配置参数进行第一更新处理;

当确定待判定按键存在按键动作时,获取待判定按键的长按计数,并基于长按计数进行第二判定,以及基于得到的第二判定结果对按键配置参数进行第二更新处理。

在其中一个实施例中,上述方法由芯片执行;采集待判定按键的电容值数据之后,还包括:

基于电容值数据,唤醒芯片,并基于按键预处理参数,对电容值数据进行预处理以及进行按键状态的判定处理。

一种按键状态确定装置,包括:

按键配置参数更新模块,用于获取待判定按键的按键配置参数,按键配置参数包括按键预处理参数以及按键状态判定参数,按键配置参数基于待判定按键所处环境的环境数据和/或待判定按键的按键状态进行更新;

电容值数据采集模块,用于采集待判定按键的电容值数据;

电容值数据预处理模块,用于基于按键预处理参数,对电容值数据进行预处理,得到预处理后的电容值数据;

按键状态判定模块,用于根据按键状态判定参数,对预处理后的电容值数据进行判定,确定待判定按键的按键状态。

一种芯片,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述任一实施例所述的方法的步骤。

一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任一实施例所述的方法的步骤。

上述按键状态确定方法、装置、芯片和存储介质中,通过获取待判定按键的按键配置参数,按键配置参数包括按键预处理参数以及按键状态判定参数,按键配置参数基于待判定按键所处环境的环境数据和/或待判定按键的按键状态进行更新,然后采集待判定按键的电容值数据,并基于按键预处理参数,对电容值数据进行预处理,得到预处理后的电容值数据,进一步根据按键状态判定参数,对预处理后的电容值数据进行判定,确定待判定按键的按键状态。从而,可以基于环境数据和/或待判定按键的状态对待判定按键的按键配置参数进行更新调整,使得在进行按键状态判定的时候,基于对应于环境以及按键状态对应的参数进行判定,可以提升按键状态判定的准确性。

附图说明

图1为一个实施例中按键状态确定方法的流程示意图;

图2为另一个实施例中按键状态确定方法的流程示意图;

图3为又一个实施例中按键状态确定方法的流程示意图;

图4为一个实施例中按键状态确定装置的结构框图;

图5为一个实施例中芯片的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本申请提供的按键状态确定方法,可以应用于如图1所示的应用环境中。

在一个实施例中,如图1所示,提供了一种按键状态确定方法,具体可以包括以下步骤:

步骤202,获取待判定按键的按键配置参数,按键配置参数包括按键预处理参数以及按键状态判定参数,按键配置参数基于待判定按键所处环境的环境数据和/或待判定按键的按键状态进行更新。

其中,待判定按键的按键状态可以包括但不限于存在按键动作和无按键动作等。

在本实施例中,待判定按键所处环境的环境数据可以是指待判定按键所处环境的数据,如对应前文的高低温循环、高温高湿、电磁干扰、近场通信干扰、对讲机干扰等。

具体地,按键预处理参数可以是测量范围、算法基准、滤波参数。

在本实施例中,可以随温度变化自动更新按键预处理参数中的算法基准与阈值。

在本实施例中,按键状态判定参数可以是按键阈值、预设频率阈值、均值阈值、方差阈值、长按计数阈值等参数数据。

在本实施例中,参考图2,在获取待判定按键的按键配置参数之前,可以对硬件和系统进行初始化处理。

具体地,对硬件的初始化处理可以包括但不限于配置时钟、配置模块相关寄存器等。对系统的初始化处理可以包括但不限于初始化系统时钟、初始化服务器所使用的相关模块等。

步骤204,采集待判定按键的电容值数据。

在本实施例中,可以通过触摸传感器接口(TSI,Touch Sensor Interface)扫描采集待判定按键的电容值数据。例如,一按键界面上有26个按键,可以通过TSI扫描采集各个按键的电容值数据。

步骤206,基于按键预处理参数,对电容值数据进行预处理,得到预处理后的电容值数据。

其中,预处理可以包括但不限于滤波处理、归一化处理、指数放大处理、傅里叶变换处理等。

在本实施例中,在获取到按键预处理参数以及对应待判定按键的电容值数据之后,可以通过按键预处理参数对电容值数据进行的预处理操作,以得到预处理后的电容值数据。

步骤208,根据按键状态判定参数,对预处理后的电容值数据进行判定,确定待判定按键的按键状态。

其中,待判定按键的按键状态可以包括但不限于存在按键动作和无按键动作等。

在本实施例中,可以通过判断电容值数据是否满足按键状态判定参数的要求,进而确定待判定按键的按键状态。

即待判定按键的按键状态是否为存在按键动作,或者无按键动作等。

上述按键状态确定方法,通过获取待判定按键的按键配置参数,按键配置参数包括按键预处理参数以及按键状态判定参数,按键配置参数基于待判定按键所处环境的环境数据和/或待判定按键的按键状态进行更新,然后采集待判定按键的电容值数据,并基于按键预处理参数,对电容值数据进行预处理,得到预处理后的电容值数据,进一步根据按键状态判定参数,对预处理后的电容值数据进行判定,确定待判定按键的按键状态。从而,可以基于环境数据和/或待判定按键的状态对待判定按键的按键配置参数进行更新调整,使得在进行按键状态判定的时候,基于对应于环境以及按键状态对应的参数进行判定,可以提升按键状态判定的准确性。

在其中一个实施例中,采集待判定按键的电容值数据之后,还包括:将采集的电容值数据分组缓存至数据缓冲区中。

其中,数据缓冲区可以用于缓存和处理电容值数据。

在本实施例中,获取到电容值数据之后,可以将获取到的电容值数据存储指不同的数据缓冲区中,并进行对应的数据处理。

在其中一个实施例中,对电容值数据的存储与预处理可以在不同的数据缓冲区中同步进行。

在本实施例中,对电容值数据进行预处理,得到预处理后的电容值数据,包括:对数据缓存冲区的电容值数据进行预处理,得到预处理后的电容值数据。

具体的,可以在数据缓冲区中对电容值数据进行如滤波处理、指数放大处理、归一化处理等预处理,或者,也可以从数据缓冲中获取数据,在对获取到的电容值数据进行预处理,以基可以得到预处理后的电容值数据。

在其中一个实施例中,将采集的电容值数据分组缓存至数据缓冲区中,包括:获取已有的第一数据缓冲区,并判断第一数据缓冲区数据是否存满;当第一数据缓冲区的数据已存满时,则新增第二数据缓冲区,并将电容值数据存入第二数据缓冲区。

在本实施例中,可以通过多组交替的方式将采集的电容值数据分组缓存至数据缓冲区。例如,获取到第一数据缓冲区,并判断第一数据缓冲区内数据是否存满,当确定第一数据缓冲区的数据未存满时,则可以将采集的电容值数据缓存入第一数据缓冲区,并继续实时判断该第一数据缓冲区数据是否存满。进一步,当确定第一数据缓冲区数据存满是,可以新增第二数据缓冲区,并将新采集到的电容值数据存入第二数据缓冲区。

在本实施例中,参考图2,对电容值数据的缓存与预处理采用分组同步进行,即当第一数据缓冲区数据存满,新增第二数据缓冲区,并将采集到的电容值数据存入第二数据缓冲区,与此同时,对第一数据缓冲区内的电容值数据进行预处理。

在其中一个实施例中,基于按键预处理参数,对电容值数据进行预处理,得到预处理后的电容值数据,包括:对电容值数据进行滤波处理和指数放大处理,得到对应待判定按键的按键动作的特征信息;对按键动作的特征信息进行均方差计算,得到对应的特征信息均值与特征信息方差。

具体地,对电容值数据进行指数放大处理可以通过如下的公式(1)执行:

其中,alpha为放大系数,X为键值,m为稳态值。

在本实施例中,对按键动作的特征信息进行均方差计算是对一个数据缓冲区内的电容值数据进行计算。

具体的,特征信息均值,是对一个数据缓冲区内的电容值数据计算均值,得到对应的数据缓冲区内电容值数据的特征信息均值;特征信息方差,是根据一个数据缓冲区内的电容值数据的特征信息均值,计算对应的特征信息方差。例如,一个数据缓冲区内有N个电容值数据,N个电容值的数值分别为X

在本实施例中,这个数据缓冲区内电容值数据对应的特征信息方差S2的计算公式可参见如下公式(3)所示:

在其中一个实施例中,对电容值数据进行滤波处理,可以包括:对电容值数据进行低通滤波、高通滤波、正态分布滤波以及滑动均值滤波中至少一种滤波处理。

继续参考图2,在本实施例中,对电容值数据依次进行了低通滤波、高通滤波、正态分布滤波、指数放大以及滑动均值滤波等数据预处理。

在本实施例中,通过对电容值数据进行预处理,可以降低干扰信号对电容值数据的干扰。例如,通过对电容值数据进行低通滤波处理,可以去除高频信号对电容值数据的干扰;通过对电容值数据进行高通滤波处理,可以去除低频信号对电容值数据的干扰;通过对电容值数据进行正态分布滤波处理,可以得到平滑的电容值信号数据。

上述实施例中,通过多种滤波方式对获取到的电容值数据进行预处理,使得可以去除多种不同频率的信号的干扰,可以使得预处理后的数据更加准确,进而可以提升后续数据处理与判定的准确性。

在其中一个实施例中,按键状态判定参数可以包括均值阈值。

具体的,可以将均值阈值与特征信息均值相比较,根据比较的结果确定待判定按键的按键状态。

在本实施例中,根据按键状态判定参数,对预处理后的电容值数据进行判定,确定待判定按键的按键状态,包括:判断特征信息均值是否大于均值阈值;当特征信息均值大于均值阈值,确定待判定按键存在按键动作;当特征信息均值小于或等于均值阈值,确定待判定按键无按键动作。

具体地,可以基于获取到的特征信息均值以及预设的均值阈值对待判定按键的按键状态进行判定。例如,继续参考图2,当确定特征信息均值大于均值阈值时,可以确定待判定按键存在按键动作。当确定特征信息均值小于或等于均值阈值时,可以确定待判定按键无按键动作。

进一步,继续参考图2,当确定待判定按键存在按键动作后,如果本次有多个按键满足按键判断,则检查上一组数据最终反馈的按键是否在本次满足按键判断的按键中,若上一组数据最终反馈的按键在本次满足按键判断的按键中,则优先反馈此按键;若上一组数据最终反馈的按键不在本次满足按键判断的按键中,则比较多个满足按键判断的按键的按键变化幅度最大,反馈其中按键变化幅度最大的按键。

进一步,当确定待判定按键存在按键动作后,可以获取当前按键动作的长按计数。

在其中一个实施例中,基于待判定按键的按键状态对按键配置参数进行更新,可以包括:当确定待判定按键无按键动作时,则对特征信息方差进行第一判定,并基于得到的第一判定结果对按键配置参数进行第一更新处理;当确定待判定按键存在按键动作时,获取待判定按键的长按计数,并基于长按计数进行第二判定,以及基于得到的第二判定结果对按键配置参数进行第二更新处理。

其中,第一更新处理可以包括:按比例系数算法更新、直接更新等更新处理。第二更新处理可以包括:直接更新、不更新等更新处理。

在本实施例中,按比例系数算法更新是指按照权重系数计算更新按键配置参数。

在本实施例中,继续参考图2,当确定待判定按键无按键动作时,则可以对特征信息方差进行第一判定,若特征信息方差大于方差阈值,则可以对按键配置参数(如算法基准、均值阈值)进行直接更新;若特征信息方差小于等于方差阈值,则对按键配置参数(如算法基准、均值阈值)按比例系数算法进行更新。

在本实施例中,当确定待判定按键存在按键动作时,可以获取待判定按键的长按计数,若待判定按键的长按计数大于长按计数阈值,则对按键配置参数(如算法基准、均值阈值)进行直接更新;若待判定按键的长按计数小于等于长按计数阈值,则不更新按键配置参数(如算法基准、均值阈值)。

在其中一个实施例中,上述方法由芯片执行。

在本实施例中,参考图3,采集待判定按键的电容值数据之后,还可以包括:基于电容值数据,唤醒芯片,并基于按键预处理参数,对电容值数据进行预处理以及进行按键状态的判定处理。

在本实施例中,唤醒芯片是指将芯片从低功耗状态切换到工作状态。

在本实施例中,当在一个预设时间周期内采集到的各电容值数据都保持一致,则芯片在该预设时间周期后进入低功耗状态;反之,芯片处于工作状态。

进一步,当芯片处于工作状态,无需唤醒。

在本实施例中,芯片处于低功耗状态时,芯片可自动把处理器和内存置入最低功耗状态,从而在不影响性能的情况下满足当前工作负载的运行需求。

在本实施例中,基于按键预处理参数,对电容值数据进行预处理以及进行按键状态的判定处理,与前文对电容值数据的预处理、确定待判定按键的按键状态的操作一致。

在本实施例中,参考图3,在采集到电容值数据后,芯片可以对电容值数据进行硬件滤波处理与指数放大处理。

在本实施例中,对电容值数据进行的硬件滤波处理,可以包括:对电容值数据进行低通滤波、高通滤波、正态分布滤波以及滑动均值滤波中至少一种滤波处理。

在本实施例中,基于电容值数据,确定唤醒芯片,可以包括:判断连续采集到的两个电容值数据是否一致,并在确定连续采集到的两个电容数据不一致时,唤醒芯片。

在本实施例中,继续参考图3,当连续采集到的两个电容数据一致时,判定无按键动作,芯片继续保持休眠。

应该理解的是,虽然图1-3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图4所示,提供了一种按键状态确定装置,包括:按键配置参数更新模块100、电容值数据采集模块200、电容值数据预处理模块300和按键状态判定模块400,其中:

按键配置参数更新模块100,用于获取待判定按键的按键配置参数,按键配置参数包括按键预处理参数以及按键状态判定参数,按键配置参数基于待判定按键所处环境的环境数据和/或待判定按键的按键状态进行更新。

电容值数据采集模块200,用于采集待判定按键的电容值数据。

电容值数据预处理模块300,用于基于按键预处理参数,对电容值数据进行预处理,得到预处理后的电容值数据。

按键状态判定模块400,用于根据按键状态判定参数,对预处理后的电容值数据进行判定,确定待判定按键的按键状态。

在其中一个实施例中,上述装置还可以包括:

电容值数据缓存模块,用于将采集的电容值数据分组缓存至数据缓冲区中。

缓存电容值数据预处理模块,用于对数据缓存冲区的电容值数据进行预处理,得到预处理后的电容值数据。

在其中一个实施例中,电容值数据缓存模块,可以包括:

数据缓冲区判断子单元,用于判断数据缓冲区是否存满。

数据缓冲区新增子单元,用于当第一数据缓冲区的数据已存满时,新增第二数据缓冲区。

在其中一个实施例中,缓存电容值数据预处理模块,可以包括:

数据滤波和指数放大子模块,用于对电容值数据进行滤波处理和指数放大处理,得到对应待判定按键的按键动作的特征信息。

特征信息均值计算子模块,用于对按键动作的特征信息进行均方差计算,得到对应的特征信息均值与特征信息方差。

在其中一个实施例中,数据滤波和指数放大子模块,可以包括:

数据滤波单元,用于对电容值数据进行低通滤波、高通滤波、正态分布滤波以及滑动均值滤波中至少一种滤波处理。

在其中一个实施例中,按键状态判定参数可以包括均值阈值。

在本实施例中,按键状态判定模块400,可以包括:

按键动作判定子模块,用于判断特征信息均值是否大于均值阈值,当特征信息均值大于均值阈值,确定待判定按键存在按键动作;当特征信息均值小于或等于均值阈值,确定待判定按键无按键动作。

在其中一个实施例中,按键配置参数更新模块100,可以包括:

第一更新子模块,用于当确定待判定按键无按键动作时,对特征信息方差进行第一判定,并基于得到的第一判定结果对按键配置参数进行第一更新处理。

第二更新子模块,用于当确定待判定按键存在按键动作时,获取待判定按键的长按计数,并基于长按计数进行第二判定,以及基于得到的第二判定结果对按键配置参数进行第二更新处理。

在其中一个实施例中,上述装置还可以包括:

芯片唤醒模块,用于唤醒芯片。

数据预处理及按键状态判定模块,用于基于按键预处理参数,对电容值数据进行预处理以及进行按键状态的判定处理。

关于按键状态确定装置的具体限定可以参见上文中对于按键状态确定方法的限定,在此不再赘述。上述按键状态确定装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于芯片中的处理器中,也可以以软件形式存储于芯片中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种芯片,其内部结构图可以如图5所示。该芯片包括通过系统总线连接的处理器、存储器、图5中所示TSI和数据库。其中,该芯片的处理器用于提供计算和控制能力。该芯片的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该芯片的数据库用于存储电容值数据。该计算机程序被处理器执行时以实现一种按键状态确定方法。

本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的芯片的限定,具体的芯片可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种芯片,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现以下步骤:获取待判定按键的按键配置参数,按键配置参数包括按键预处理参数以及按键状态判定参数,按键配置参数基于待判定按键所处环境的环境数据和/或待判定按键的按键状态进行更新;采集待判定按键的电容值数据;基于按键预处理参数,对电容值数据进行预处理,得到预处理后的电容值数据;根据按键状态判定参数,对预处理后的电容值数据进行判定,确定待判定按键的按键状态。

在一个实施例中,处理器执行计算机程序时实现采集待判定按键的电容值数据之后,还可以实现以下步骤:将采集的电容值数据分组缓存至数据缓冲区中。

在本实施例中,处理器执行计算机程序时实现对电容值数据进行预处理,得到预处理后的电容值数据,可以包括:对数据缓存冲区的电容值数据进行预处理,得到预处理后的电容值数据。

在其中一个实施例中,处理器执行计算机程序时实现将采集的电容值数据分组缓存至数据缓冲区中,可以包括:获取已有的第一数据缓冲区,并判断第一数据缓冲区数据是否存满;当第一数据缓冲区的数据已存满时,则新增第二数据缓冲区,并将电容值数据存入第二数据缓冲区。

在一个实施例中,处理器执行计算机程序时实现基于按键预处理参数,对电容值数据进行预处理,得到预处理后的电容值数据,可以包括:对电容值数据进行滤波处理和指数放大处理,得到对应待判定按键的按键动作的特征信息;对按键动作的特征信息进行均方差计算,得到对应的特征信息均值与特征信息方差。

在一个实施例中,处理器执行计算机程序时实现对电容值数据进行滤波处理,可以包括:对电容值数据进行低通滤波、高通滤波、正态分布滤波以及滑动均值滤波中至少一种滤波处理。

在一个实施例中,按键状态判定参数可以包括均值阈值。

在本实施例中,处理器执行计算机程序时实现根据按键状态判定参数,对预处理后的电容值数据进行判定,确定待判定按键的按键状态,可以包括:判断特征信息均值是否大于均值阈值;当特征信息均值大于均值阈值,确定待判定按键存在按键动作;当特征信息均值小于或等于均值阈值,确定待判定按键无按键动作。

在一个实施例中,处理器执行计算机程序时实现基于待判定按键的按键状态对按键配置参数进行更新,可以包括:当确定待判定按键无按键动作时,则对特征信息方差进行第一判定,并基于得到的第一判定结果对按键配置参数进行第一更新处理;当确定待判定按键存在按键动作时,获取待判定按键的长按计数,并基于长按计数进行第二判定,以及基于得到的第二判定结果对按键配置参数进行第二更新处理。

在一个实施例中,上述方法由芯片执行。

在本实施例中,处理器执行计算机程序时实现采集待判定按键的电容值数据之后,还可以实现以下步骤:基于电容值数据,唤醒芯片,并基于按键预处理参数,对电容值数据进行预处理以及进行按键状态的判定处理。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:获取待判定按键的按键配置参数,按键配置参数包括按键预处理参数以及按键状态判定参数,按键配置参数基于待判定按键所处环境的环境数据和/或待判定按键的按键状态进行更新;采集待判定按键的电容值数据;基于按键预处理参数,对电容值数据进行预处理,得到预处理后的电容值数据;根据按键状态判定参数,对预处理后的电容值数据进行判定,确定待判定按键的按键状态。

在一个实施例中,计算机程序被处理器执行时实现采集待判定按键的电容值数据之后,还可以实现以下步骤将采集的电容值数据分组缓存至数据缓冲区中。

在本实施例中,计算机程序被处理器执行时实现对电容值数据进行预处理,得到预处理后的电容值数据,可以包括:对数据缓存冲区的电容值数据进行预处理,得到预处理后的电容值数据。

在一个实施例中,计算机程序被处理器执行时实现将采集的电容值数据分组缓存至数据缓冲区中,可以包括:获取已有的第一数据缓冲区,并判断第一数据缓冲区数据是否存满;当第一数据缓冲区的数据已存满时,则新增第二数据缓冲区,并将电容值数据存入第二数据缓冲区。

在一个实施例中,计算机程序被处理器执行时实现基于按键预处理参数,对电容值数据进行预处理,得到预处理后的电容值数据,可以包括:对电容值数据进行滤波处理和指数放大处理,得到对应待判定按键的按键动作的特征信息;对按键动作的特征信息进行均方差计算,得到对应的特征信息均值与特征信息方差。

在一个实施例中,计算机程序被处理器执行时实现对电容值数据进行滤波处理,可以包括:对电容值数据进行低通滤波、高通滤波、正态分布滤波以及滑动均值滤波中至少一种滤波处理。

在一个实施例中,按键状态判定参数可以包括均值阈值。

在本实施例中,计算机程序被处理器执行时实现根据按键状态判定参数,对预处理后的电容值数据进行判定,确定待判定按键的按键状态,可以包括:判断特征信息均值是否大于均值阈值;当特征信息均值大于均值阈值,确定待判定按键存在按键动作;当特征信息均值小于或等于均值阈值,确定待判定按键无按键动作。

在一个实施例中,计算机程序被处理器执行时实现基于待判定按键的按键状态对按键配置参数进行更新,可以包括:当确定待判定按键无按键动作时,则对特征信息方差进行第一判定,并基于得到的第一判定结果对按键配置参数进行第一更新处理;当确定待判定按键存在按键动作时,获取待判定按键的长按计数,并基于长按计数进行第二判定,以及基于得到的第二判定结果对按键配置参数进行第二更新处理。

在一个实施例中,上述方法由芯片执行。

在本实施例中,计算机程序被处理器执行时实现采集待判定按键的电容值数据之后,还可以实现以下步骤:基于电容值数据,唤醒芯片,并基于按键预处理参数,对电容值数据进行预处理以及进行按键状态的判定处理。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

技术分类

06120115626601