CN117459050A - 一种电容按键识别装置及方法 - Google Patents
一种电容按键识别装置及方法 Download PDFInfo
- Publication number
- CN117459050A CN117459050A CN202311577459.3A CN202311577459A CN117459050A CN 117459050 A CN117459050 A CN 117459050A CN 202311577459 A CN202311577459 A CN 202311577459A CN 117459050 A CN117459050 A CN 117459050A
- Authority
- CN
- China
- Prior art keywords
- key
- capacitor
- port
- charging
- stage
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 15
- 239000003990 capacitor Substances 0.000 claims abstract description 103
- 238000001514 detection method Methods 0.000 claims abstract description 78
- 238000001914 filtration Methods 0.000 claims abstract description 13
- 238000007599 discharging Methods 0.000 claims description 3
- 230000009191 jumping Effects 0.000 claims description 3
- 238000012546 transfer Methods 0.000 claims description 3
- 238000011161 development Methods 0.000 abstract description 4
- 230000000875 corresponding effect Effects 0.000 description 7
- 238000005299 abrasion Methods 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K17/00—Electronic switching or gating, i.e. not by contact-making and –breaking
- H03K17/94—Electronic switching or gating, i.e. not by contact-making and –breaking characterised by the way in which the control signals are generated
- H03K17/96—Touch switches
- H03K17/962—Capacitive touch switches
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K17/00—Electronic switching or gating, i.e. not by contact-making and –breaking
- H03K17/22—Modifications for ensuring a predetermined initial state when the supply voltage has been applied
Landscapes
- Input From Keyboards Or The Like (AREA)
Abstract
本发明公开了一种电容按键识别装置,控制单元设有若干GPIO端口,其中,若干GPIO端口包括控制端口、第一检测端口和第二检测端口,控制端口的数量与按键电容的数量相一致;按键电容的一端依次与相对应的控制端口电连接,按键电容的另一端与均与充电电容的一端电连接;充电电容与按键电容连接一端与第一检测端口电连接,充电电容的另一端与第二检测端口电连接。本发明采用MCU的通用输入输出端口来模拟实现电容式触摸按键,不需要专用的按键触摸芯片和特定功能的MCU,通用性强,只需要对软件地简单修改,便可实现移植,移植性好,缩短了开发周期,节省了应用成本。本发明还通过滤波算法,用来提高触摸按键的稳定性。
Description
技术领域
本发明属于电路设计技术领域,尤其涉及一种电容按键识别装置及方法。
背景技术
随着电子科学技术的不断发展,电容式触摸按键的应用越来越广泛,消费类电子和家用电器上的传统机械式按键逐步被电容式触摸按键所替代。传统的机械式按键的实现电路较复杂,容易磨损,使用寿命较短,防水性能较差。而电容式触摸按键没有任何的机械部件,不会磨损,使用寿命长,减少后期维护成本;电容式触摸按键不需要人体直接接触金属,可消除安全隐患;电容式触摸按键面板图案、按键大小、形状任意设计,字符、商标、透视窗等任意搭配,外型美观、时尚,不褪色、不变形、经久耐用;电容式触摸按键感测部分可以放置到任何绝缘层(通常为玻璃或塑料材料)的后面,很容易制成与周围环境相密封的键盘,受周围环境影响较小。
目前市面上主流的是两种触摸按键解决方案,一种是MCU搭配专用的触摸按键芯片,一种是集成了触摸按键的MCU。这两种方式都需要有触摸按键模块的参与,通用性不强,软件可移植性不好,开发周期长,使用成本高。
发明内容
本发明的技术目的是提供一种电容按键识别装置及方法,以解决现有触摸按键通用性差、使用成本高的技术问题。
为解决上述问题,本发明的技术方案为:
一种电容按键识别装置,包括:
若干按键电容、充电电容和控制单元;
控制单元设有若干GPIO端口,其中,若干GPIO端口包括控制端口、第一检测端口和第二检测端口,控制端口的数量与按键电容的数量相一致;
按键电容的一端依次与相对应的控制端口电连接,按键电容的另一端与均与充电电容的一端电连接;
充电电容与按键电容连接一端与第一检测端口电连接,充电电容的另一端与第二检测端口电连接。
其中,控制单元用于控制各GPIO端口以实现不同的工作状态阶段,以实现对被按压的按键电容进行检测;
工作状态阶段包括:复位阶段、第一充电阶段、第二充电阶段以及读取阶段;
复位阶段下,将按键电容和充电电容的电荷放掉;
第一充电阶段下,向选定的按键电容充电;
第二充电阶段下,由按键电容向充电电容充电;
读取阶段下,由控制单元读取充电电容的电压。
具体地,复位阶段下,控制端口、第一检测端口和第二检测端口均处于输出低电平状态;
第一充电阶段下,选定的控制端口为输出高电平状态,其余控制端口为输入状态,第一检测端口为输出高电平状态,第二检测端口为输入状态;
第二充电阶段下,选定的控制端口为输出高电平状态,其余控制端口为输入状态,第一检测端口为输入状态,第二检测端口为输出低电平状态;
读取阶段下,选定的控制端口为输出低电平状态,其余控制端口为输入状态,第一检测端口为输入状态,第二检测端口为输入状态。
一种电容按键识别方法,应用于上述的电容按键识别装置,包括如下步骤:
复位阶段,对各GPIO端口的电位进行复位,其中,GPIO端口包括控制端口、第一检测端口和第二检测端口;
第一充电阶段,选取一控制端口,以及与控制端口相对应电连接的按键电容,令控制端口向按键电容充电,充电次数加1,并记录充电次数;
第二充电阶段,令充电后的按键电容向与之电连接的充电电容进行电荷转移;
读取阶段,通过读取第一检测端口的电压并判断是否为高电平,若为低则重复第一充电阶段至读取阶段,直至所有的控制端口均检测完成;
判断阶段,根据各控制端口相对应的按键电容的充电次数,判断出被按下的按键电容。
其中,复位阶段下,控制端口、第一检测端口和第二检测端口均处于输出低电平状态;
第一充电阶段下,选定的控制端口为输出高电平状态,其余控制端口为输入状态,第一检测端口为输出高电平状态,第二检测端口为输入状态;
第二充电阶段下,选定的控制端口为输出高电平状态,其余控制端口为输入状态,第一检测端口为输入状态,第二检测端口为输出低电平状态;
读取阶段下,选定的控制端口为输出低电平状态,其余控制端口为输入状态,第一检测端口为输入状态,第二检测端口为输入状态。
其中,判断阶段具体为,将各按键电容的充电次数与预设基准值进行比较,将充电次数小于预设基准值的按键电容判定为下压的按键电容。
进一步优选地,判断阶段下,还需要判断按下的按键电容是否存在,若存在则令滤波次数加1,若不存在则跳转至复位阶段;其中,滤波次数的初始值为0。
进一步优选地,在判断阶段下,还需要判断滤波次数是否等于预设阈值,若滤波次数小于则跳转至复位阶段;若等于则判断循环预设阈值次数后,分别得到的按键电容是否一致,若为一致则判定按键电容被按下,否则跳转至复位阶段。
本发明由于采用以上技术方案,使其与现有技术相比具有以下的优点和积极效果:
控制单元MCU都具有通用输入输出口(GPIO),本发明采用MCU的通用输入输出端口来模拟实现电容式触摸按键,不需要专用的按键触摸芯片和特定功能的MCU,通用性强,只需要对软件地简单修改,便可实现移植,移植性好,缩短了开发周期,节省了应用成本。本发明还通过滤波算法,用来提高触摸按键的稳定性。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。
图1为本发明的电容按键识别装置的电路示意图;
图2为本发明的单个按键的工作流程图;
图3为本发明的各工作状态阶段下GPIO端口状态示意图;
图4为本发明的充电次数与第一检测端口的电压的关系图;
图5为本发明的电容按键识别方法的流程图。
具体实施方式
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。
为使图面简洁,各图中只示意性地表示出了与本发明相关的部分,它们并不代表其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘示了其中的一个,或仅标出了其中的一个。在本文中,“一个”不仅表示“仅此一个”,也可以表示“多于一个”的情形。
以下结合附图和具体实施例对本发明提出的一种电容按键识别装置及方法作进一步详细说明。根据下面说明和权利要求书,本发明的优点和特征将更清楚。
实施例
实施例1
参看图1,本实施例提供一种电容按键识别装置,包括:若干按键电容、充电电容和控制单元。控制单元设有若干GPIO端口,其中,若干GPIO端口包括控制端口、第一检测端口和第二检测端口,控制端口的数量与按键电容的数量相一致。按键电容的一端依次与相对应的控制端口电连接,按键电容的另一端与均与充电电容的一端电连接;充电电容与按键电容连接一端与第一检测端口电连接,充电电容的另一端与第二检测端口电连接。
具体地,以图1进行具体举例说明,但不以此为限定。共设置有4个按键电容Cx1、Cx2、Cx3和Cx4以及1个充电电容Cs,4个按键电容分别对应按键1、按键2、按键3以及按键4,控制单元则利用其6个GPIO端口,为方便区分,将其命名为GPIO1、GPIO2、GPIO3、GPIO4、GPIO5和GPIO6。按键电容Cx1的一端与GPIO1端口电连接,按键电容Cx1的另一端与充电电容Cs的一端电连接;按键电容Cx2的一端与GPIO2端口电连接,按键电容Cx2的另一端与充电电容Cs的一端电连接;按键电容Cx3的一端与GPIO3端口电连接,按键电容Cx3的另一端与充电电容Cs的一端电连接;按键电容Cx4的一端与GPIO4端口电连接,按键电容Cx4的另一端与充电电容Cs的一端电连接。而充电电容Cs的一端则与GPIO5端口(第一检测端口)电连接,充电电容Cs的另一端则与GPIO6端口(第二检测端口)电连接。
在本实施例中,控制单元可控制各GPIO端口以实现不同的工作状态阶段,以依次对各按键电容进行检测,从而识别出哪个按键被按下。具体地,工作状态阶段可分为:复位阶段、第一充电阶段、第二充电阶段以及读取阶段,结合图3进行说明。复位阶段下,需要将按键电容和充电电容的电荷放掉,即控制端口、第一检测端口和第二检测端口均处于输出低电平状态。第一充电阶段下,需要向选定的按键电容充电,即选定的控制端口为输出高电平状态,其余控制端口为输入状态,第一检测端口为输出高电平状态,第二检测端口为输入状态。第二充电阶段下,由按键电容向充电电容充电,即选定的控制端口为输出高电平状态,其余控制端口为输入状态,第一检测端口为输入状态,第二检测端口为输出低电平状态。读取阶段下,由控制单元读取充电电容的电压,选定的控制端口为输出低电平状态,其余控制端口为输入状态,第一检测端口为输入状态,第二检测端口为输入状态。
参看图1至图5,本实施例提供一种电容按键识别方法,应用于如实施例1的电容按键识别装置,具体包括如下步骤。为了方便叙述,本实施例沿用了实施例1装置的命名方式,如图1所示。
参看图2和图5,首先进入复位阶段,对各GPIO端口的电位进行复位,从而将充电电容Cs和按键电容Cx1、Cx2、Cx3和Cx4电容都放掉,使得它们都不带有电荷。其中,GPIO端口包括控制端口GPIO1、GPIO2、GPIO3、GPIO4,第一检测端口GPIO5和第二检测端口GPIO6。其中,复位阶段下,控制端口GPIO1至GPIO4、第一检测端口GPIO5和第二检测端口GPIO6均处于输出低电平状态。
然后,进入第一充电阶段,选取一控制端口GPIOn,以及与控制端口相对应电连接的按键电容Cxn,令控制端口GPIOn向按键电容Cxn充电。每充一次电,充电次数加1,并记录充电次数。假设选取的控制端口为GPIO1,则对按键电容Cx1进行充电。第一充电阶段下,选定的控制端口GPIOn为输出高电平状态,其余控制端口为输入状态,第一检测端口GPIO5为输出高电平状态,第二检测端口GPIO6为输入状态。
紧接着,进入第二充电阶段,令充电后的按键电容Cxn向与之电连接的充电电容Cs进行电荷转移。第二充电阶段下,选定的控制端口GPIOn为输出高电平状态,其余控制端口为输入状态,第一检测端口GPIO5为输入状态,第二检测端口GPIO6为输出低电平状态。
进而,进入读取阶段,通过读取第一检测端口GPIO5的电压并判断是否为高电平,若为低则重复上述第一充电阶段至读取阶段,直至变为高电平为止,此时得到的充电次数值就是需要的数据。读取阶段下,选定的控制端口GPIOn为输出低电平状态,其余控制端口为输入状态,第一检测端口GPIO5为输入状态,第二检测端口GPIO6为输入状态。重复上述各阶段从而对所有的控制端口均进行检测。
参看图3,为了更加直白的说明,现以假设扫描按键1进行分步说明。复位阶段下,各端口的状态是:GPIO1-GPIO6都是输出低电平状态,对应的作用就是放掉电容Cx1、Cx2、Cx3、Cx4和Cs的电荷。
第一充电阶段是给Cx1充电。端口的状态是:GPIO1输出高电平状态,GPIO2-GPIO4为输入状态,GPIO5输出高电平状态,GPIO6为输入状态。该步骤的作用是给Cx1充电,直到按键1对应的电容Cx1充满电荷。
第二充电阶段是Cx1给Cs充电。端口的状态是:GPIO1输出高电平状态,GPIO2-GPIO4为输入状态,GPIO5为输入状态,GPIO6输出低电平状态。该步骤作用是将Cx1的电荷转移到Cs,直到Cx1上的电压和Cs上的电压相等。
读取阶段是读取GPIO5上的电压。端口的状态是:GPIO1输出低电平状态,GPIO2-GPIO6为输入状态。该步骤的作用是用来判断电容Cs两端的电压是否达到了IO对应的输入高电平值(VI H)。
最后,进入判断阶段,根据各控制端口相对应的按键电容的充电次数,判断出被按下的按键电容。其中,判断阶段具体为,将各按键电容的充电次数与预设基准值进行比较,将充电次数小于预设基准值的按键电容判定为下压的按键电容。其原理如图4所示,对一个按键的扫描过程就是按键电容Cxn对Cs的充电过程,使得GPIO5上的电压达到IO的输入高电平值(VI H),GPIO5上的电压就是充电电容Cs两端电压。充电次数countn可以反映出按键电容Cxn电容的大小。当触摸按键n有手指触摸时,会使得Cxn的电容值增大,那么countn就会减小,通过将充电次数countn与预设基准值进行比较就可以知道哪一个触摸按键被触摸。
参看图5,本实施例的完整流程如下:对4个触摸按键:按键1,按键2,按键3,按键4。控制单元会逐一扫描各个按键,也就是对按键1到按键4分别执行上述的各工作阶段,直到Cs两端的电压达到VI H,保存充电次数。通过设置一个触摸按键未触摸时的基准值,扫描出的充电次数小于基准值,此时该按键就是被触摸的状态,否则就是没有触摸的状态,返回至第一充电阶段。扫描完四个按键以后,先找出被触摸按键的通道号m,如果没有按键被触摸(即被触摸按键的通道号m不存在),则将滤波次数清0,回到复位阶段,并重新从按键1进行扫描。如果有按键被触摸,则将滤波次数加1,回到复位阶段,并重新从按键1进行扫描。当滤波次数到3次,并且三次的触摸按键通道号都一致时,则认为按键m被按下。
上面结合附图对本发明的实施方式作了详细说明,但是本发明并不限于上述实施方式。即使对本发明作出各种变化,倘若这些变化属于本发明权利要求及其等同技术的范围之内,则仍落入在本发明的保护范围之中。
Claims (8)
1.一种电容按键识别装置,其特征在于,包括:
若干按键电容、充电电容和控制单元;
所述控制单元设有若干GPIO端口,其中,若干所述GPIO端口包括控制端口、第一检测端口和第二检测端口,所述控制端口的数量与所述按键电容的数量相一致;
所述按键电容的一端依次与相对应的所述控制端口电连接,所述按键电容的另一端与均与所述充电电容的一端电连接;
所述充电电容与所述按键电容连接一端与所述第一检测端口电连接,所述充电电容的另一端与所述第二检测端口电连接。
2.根据权利要求1所述的电容按键识别装置,其特征在于,所述控制单元用于控制各所述GPIO端口以实现不同的工作状态阶段,以实现对被按压的所述按键电容进行检测;
所述工作状态阶段包括:复位阶段、第一充电阶段、第二充电阶段以及读取阶段;
所述复位阶段下,将所述按键电容和所述充电电容的电荷放掉;
所述第一充电阶段下,向选定的所述按键电容充电;
所述第二充电阶段下,由所述按键电容向所述充电电容充电;
所述读取阶段下,由所述控制单元读取所述充电电容的电压。
3.根据权利要求2所述的电容按键识别装置,其特征在于,
所述复位阶段下,所述控制端口、所述第一检测端口和所述第二检测端口均处于输出低电平状态;
所述第一充电阶段下,选定的所述控制端口为输出高电平状态,其余所述控制端口为输入状态,所述第一检测端口为输出高电平状态,所述第二检测端口为输入状态;
所述第二充电阶段下,选定的所述控制端口为输出高电平状态,其余所述控制端口为输入状态,所述第一检测端口为输入状态,所述第二检测端口为输出低电平状态;
所述读取阶段下,选定的所述控制端口为输出低电平状态,其余所述控制端口为输入状态,所述第一检测端口为输入状态,所述第二检测端口为输入状态。
4.一种电容按键识别方法,其特征在于,应用于如权利要求1至3任意一项所述的电容按键识别装置,包括如下步骤:
复位阶段,对各GPIO端口的电位进行复位,其中,所述GPIO端口包括控制端口、第一检测端口和第二检测端口;
第一充电阶段,选取一所述控制端口,以及与所述控制端口相对应电连接的按键电容,令所述控制端口向所述按键电容充电,充电次数加1,并记录充电次数;
第二充电阶段,令充电后的所述按键电容向与之电连接的充电电容进行电荷转移;
读取阶段,通过读取所述第一检测端口的电压并判断是否为高电平,若为低则重复所述第一充电阶段至所述读取阶段,直至所有的所述控制端口均检测完成;
判断阶段,根据各所述控制端口相对应的所述按键电容的充电次数,判断出被按下的所述按键电容。
5.根据权利要求4所述的电容按键识别方法,其特征在于,
所述复位阶段下,所述控制端口、所述第一检测端口和所述第二检测端口均处于输出低电平状态;
所述第一充电阶段下,选定的所述控制端口为输出高电平状态,其余所述控制端口为输入状态,所述第一检测端口为输出高电平状态,所述第二检测端口为输入状态;
所述第二充电阶段下,选定的所述控制端口为输出高电平状态,其余所述控制端口为输入状态,所述第一检测端口为输入状态,所述第二检测端口为输出低电平状态;
所述读取阶段下,选定的所述控制端口为输出低电平状态,其余所述控制端口为输入状态,所述第一检测端口为输入状态,所述第二检测端口为输入状态。
6.根据权利要求4所述的电容按键识别方法,其特征在于,所述判断阶段具体为,将各所述按键电容的充电次数与预设基准值进行比较,将充电次数小于预设基准值的所述按键电容判定为下压的所述按键电容。
7.根据权利要求4所述的电容按键识别方法,其特征在于,
所述判断阶段下,还需要判断按下的所述按键电容是否存在,若存在则令滤波次数加1,若不存在则跳转至所述复位阶段;其中,所述滤波次数的初始值为0。
8.根据权利要求7所述的电容按键识别方法,其特征在于,在所述判断阶段下,还需要判断所述滤波次数是否等于预设阈值,若所述滤波次数小于所述则跳转至所述复位阶段;
若等于则判断循环所述预设阈值次数后,分别得到的所述按键电容是否一致,若为一致则判定所述按键电容被按下,否则跳转至所述复位阶段。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311577459.3A CN117459050A (zh) | 2023-11-23 | 2023-11-23 | 一种电容按键识别装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311577459.3A CN117459050A (zh) | 2023-11-23 | 2023-11-23 | 一种电容按键识别装置及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117459050A true CN117459050A (zh) | 2024-01-26 |
Family
ID=89585472
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311577459.3A Pending CN117459050A (zh) | 2023-11-23 | 2023-11-23 | 一种电容按键识别装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117459050A (zh) |
-
2023
- 2023-11-23 CN CN202311577459.3A patent/CN117459050A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1381160B1 (en) | Capacitive keyboard with reduced keying ambiguity | |
US7256714B2 (en) | Keyboard with reduced keying ambiguity | |
US8258986B2 (en) | Capacitive-matrix keyboard with multiple touch detection | |
US8179380B2 (en) | Method and apparatus for implementing a capacitive touch slider | |
US8629686B2 (en) | Noise measurement in capacitive touch sensors | |
US9547399B2 (en) | Injected touch noise analysis | |
US9024790B2 (en) | Capacitive keyboard with non-locking reduced keying ambiguity | |
CN106055183B (zh) | 电容检测电路 | |
EP2667156A1 (en) | Capacitive position sensor system | |
CN107194331A (zh) | 一种指纹识别方法及移动终端 | |
US8159462B1 (en) | Reference voltage offset for capacitive touch-sensor measurement | |
CN103713784A (zh) | 电容式触摸检测电路、装置及其防污渍致误识别的方法 | |
CN105867821A (zh) | 一种图标排列方法、图标排列装置以及终端 | |
EP2434377A1 (en) | Capacitive touch panel | |
CN107038367A (zh) | 一种指纹识别方法及移动终端 | |
WO2007129811A1 (en) | Input device | |
CN110084082B (zh) | 一种电子设备、指纹识别装置及其手指触摸检测电路 | |
CN114355056A (zh) | 电容测量电路、电容测量***、触摸装置及电子设备 | |
CN108777574A (zh) | 一种电容触摸按键电路 | |
CN107609527B (zh) | 一种用于指纹识别的低功耗电容检测装置 | |
CN114356145A (zh) | 触摸检测电路、触摸装置和电子设备 | |
CN106547309A (zh) | 终端设备及其操作方法 | |
CN114487784A (zh) | 电容检测电路、触控芯片及电子设备 | |
CN112039512B (zh) | 电容式触摸按键***及其按键检测方法 | |
CN117459050A (zh) | 一种电容按键识别装置及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |