一种降低电容式触摸按键之间干扰的方法

文档序号:1579572 发布日期:2020-01-31 浏览:10次 >En<

阅读说明:本技术 一种降低电容式触摸按键之间干扰的方法 (method for reducing interference between capacitive touch keys ) 是由 汪蕾 于 2019-10-14 设计创作,主要内容包括:一种降低电容式触摸按键之间干扰的方法,其特征在于,该抗干扰处理方法包括有如下步骤:一、程序启动,初始化;二、判断其他中断标志位是否置位,如是,则执行下一步骤;如否,则执行步骤四;三、进入其他中断程序;四、判断按键中断标志位是否置位,如是,则执行下一步骤;如否,则执行步骤六;五、进入按键中断程序;六、延时时间K;七、执行按键处理函数,并开启下一按键通道;八、执行其他程序,然后返回步骤二。本发明的优点在于:在按键中断程序执行后,设置延时环节,确保灵敏度调节电容Cadj上的电压完全放电完成,保证了灵敏度调节电容Cadj上的起始电压都是一致,有效减小充电时间TKCNT的波动。(A method for reducing interference among capacitive touch keys is characterized in that the anti-interference processing method comprises the following steps of , starting and initializing a program, secondly, judging whether other interrupt flag bits are set or not, if so, executing , if not, executing step IV, if not, entering other interrupt programs, fourthly, judging whether the interrupt flag bits of the keys are set or not, if so, executing , if not, executing step VI, entering the key interrupt program, if sixth, delaying time K, seventh, executing a key processing function, starting a key channel, and eighth, executing other programs, and then returning to the step II.)

一种降低电容式触摸按键之间干扰的方法

技术领域

本发明涉及一种电容式触摸按键,特别是涉及一种降低电容式触摸按键之间干扰的方法。

背景技术

电容式触摸按键的基本原理是电荷转移,如图3所示,为现有技术中的触摸按键的电路控制原理图,手指感应电容Cf和电路电容Cx组成触控感应按键上的分布电容Cp,手指触摸到按键时,即将触控感应按键上的分布电容Cp的电荷转移到灵敏度调节电容Cadj上,直到灵敏度调节电容Cadj上的电压达到参考电压Vref,比较器反转,产生按键中断标志位,同时,在电荷转移的过程中对充电时间TKCNT计数。现有技术中,电容式触摸按键的常规控制流程为:当触摸按键按下,将产生按键中断标志位,此时进入中断处理判断是否为按键,如果是按键则得到当前按键值并执行动作;如果程序中比触摸按键中断优先级高的中断有多个,在处理按键中断同时,程序还要处理优先级高的其他中断,这就会导致每个按键中断进出的时间不一致,灵敏度调节电容Cadj的放电时间也不一致,则最终不同按键通道充电的起始电压就会不同,同一按键通道不同时间充电的起始电压也会不同;而充电时间TKCNT是灵敏度调节电容Cadj从起始电压充电到参考电压Vref的时间,如果起始电压不同,则充电时间TKCNT就会不同,那么实际工程中TKCNT的波动会很大。

在使用过程中,TKCNT的波动就会导致触摸按键发生误判,有可能将干扰判断成按键,抗干扰能力差。而这种抗干扰差由于是原理上导致的而无法通过时长判断排除,当TKCNT的波动很大,变化量已经达到表征按键按下的门限时就会触发按键,而且灵敏度调节电容Cadj放电不完全也会导致电容上电荷不断累积,直至电荷累积到参考电压Vref,最终导致按键失灵。

现有技术中针对触摸按键的抗干扰主要有以下几种解决方式:一、优化PCB布线;二、增加滤波处理;三、根据按键按下的时长判断是干扰还是按键;四、增加干扰检测通道,只有干扰检测通道的采样值不是干扰的情况下,按键采样通道的采样值达到设定值时才认为是按键按下。

方法一和方法二需要修改硬件,在实际工程中,方法一需要重新绘制PCB不断验证;而方法二需要修改原理图同时也需要重新绘制PCB,而且也不要调试电容值不断验证。所以方法一和方法二需要花费较多时间而不能很快解决问题,并且不能解决各个按键之间的干扰;方法三只能处理是不是外部干扰,但不能处理来自其他按键通道的干扰,解决不了原理上导致的抗干扰差的问题;方法四判断级别多,确实能抗干扰,但是如果干扰的判定值设置的不够好,则会使得按键抗干扰性能太好,而导致按键的灵敏性降低,使得按键存在按不动的情况,而且也解决不了原理上导致的抗干扰差的问题。

综上所述,目前的触摸按键控制方法还存在上述各种问题,有待于对电容式触摸按键的抗干扰处理方法做出进一步的完善和改进,以提高抗干扰能力。

发明内容

本发明所要解决的技术问题是针对上述现有技术现状而提供一种可有效降低电容式触摸按键之间干扰的方法,该抗干扰处理方法不仅能够解决外部干扰问题,而且还能解决按键之间相互干扰问题。

本发明解决上述技术问题所采用的技术方案为:一种降低电容式触摸按键之间干扰的方法,其特征在于,该抗干扰处理方法包括有如下步骤:

步骤一、程序启动,初始化设置;

步骤二、判断其他中断标志位是否置位,如是,则执行下一步骤;如否,则执行步骤四;

步骤三、进入其他中断程序;

步骤四、判断按键中断标志位是否置位,如是,则执行下一步骤;如否,则执行步骤六;

步骤五、进入按键中断程序;

步骤六、延时时间K,其中,K为灵敏度调节电容Cadj的放电延时时间;

步骤七、执行按键处理函数,并开启下一按键通道;

步骤八、执行其他程序,然后返回步骤二。

作为优选,所述步骤五的按键中断程序包括有如下步骤:

(5-1)、清除按键中断标志位;

(5-2)、计时器启动,按键时长计时;

(5-3)、判断按键时长是否达到预设的按键时长Tb,如是,则有按键按下,执行下一步骤;如否,则无按键按下,转到所述步骤六;

(5-4)、计时器清零,处理按键数据;

(5-5)、得到当前按键操作的按键值,然后执行所述步骤六。

作为进一步优选,所述步骤(5-3)中预设的按键时长Tb的取值范围为50ms~150ms。

作为优选,所述步骤四中判断按键中断标志位是否置位采用如下方法:

(4-1)、触摸按键电路中的灵敏度调节电容Cadj上的参考电压是否达到预设参考电压Vref,如是,则执行下一步骤;如否,则循环本步骤;

(4-2)、比较器反转,产生按键中断标志位。

作为进一步优选,所述步骤(4-1)中的预设参考电压Vref的取值范围为3V~5V。

考虑到理论上只有时间达到无穷大时,电容的放电电压才能达到0V,在实际中设定灵敏度调节电容Cadj的放电电压达到0V小数点后三位(即0.001V~0.009V)即为放电完全,作为优选,所述步骤六中的延时时间K的取值范围为:K≥Tover,其中,Tover为灵敏度调节电容Cadj放电完全的时间,并且,Tover满足

Figure BDA0002232708000000031

上述Vt为灵敏度调节电容Cadj的放电电压,Vref为产生按键中断标志位的参考电压,R为放电电阻,C为放电电容,R和C共同组成放电电路。

与现有技术相比,本发明的优点在于:无改***件结构,仅仅从软件上进行改进,在按键中断程序执行后,设置延时环节,确保灵敏度调节电容Cadj上的电压完全放电完成后再开启下一按键通道,这样就保证了每次当下一个按键启动时,灵敏度调节电容Cadj上的起始电压都是一致的,从而有效减小充电时间TKCNT的波动,耗费时间短、设计成本低,不仅能够解决来自按键外部干扰的问题,还能够解决触摸按键之间的相互干扰问题。

附图说明

图1为本发明实施例的抗干扰处理方法的总流程图。

图2为本发明实施例的抗干扰处理方法的按键中断处理程序流程图。

图3为现有技术中的触摸按键电路控制原理图。

具体实施方式

以下结合附图实施例对本发明作进一步详细描述。

触摸按键的基本原理是电荷转移,如图3所示,手指感应电容Cf和电路电容Cx组成了触控感应按键上的分布电容Cp,触摸按键的过程即将触控感应按键上的分布电容Cp的电荷转移到灵敏度调节电容Cadj上,同时,计时器计时,在电荷转移的过程中对充电时间TKCNT计数,直到灵敏度调节电容Cadj上的电压达到预设的参考电压Vref,比较器反转,产生中断标志位。

其中,在没有按键按下时,分布电容Cp等于电路电容Cx,此时将Cp电荷转移到灵敏度调节电容Cadj的时间就是充电时间的基准值;在有按键按下时,分布电容Cp等于电路电容Cx加上手指感应电容Cf;对于达到相同的参考电压Vref,分布电容Cp的电容值越小,则充电时间越长,TKCNT值越大;分布电容Cp值越大,充电时间变短,相应地,TKCNT值也变小。

在中断标志位产生后,中断程序开始读取充电时间TKCNT,对充电时间TKCNT值的变化量进行判断(即按键按下后的充电时间TKCNT与无按键按下时的充电时间基准值做差值),同时启动按键按下的时长计时,只有当充电时间TKCNT的变化量达到设定的门限且时长达到预设时间时才认为有按键按下,排除可能是外界干扰引起的按键触碰,这样保证了按键抗外部干扰性能;其中,表征按键按下的门限可通过手指按下前后的充电时间TKCNT的变化量设定,这样保证了按键的灵敏性。

而在中断处理的过程中,灵敏度调节电容Cadj即进行放电,当中断处理完成后,下一个按键通道开启,会再次进行电荷转移,此时灵敏度调节电容Cadj的充电起始电压是上一次放电后的电压,这个起始电压由上一次中断处理过程中的灵敏度调节电容Cadj的放电时长决定。如果程序中比触摸按键中断优先级别高的中断有多个,在处理按键中断同时,程序还要处理优先级高的其他中断,这就会导致每个按键中断进出的时间不一致,灵敏度调节电容Cadj的放电时间也不一致,则最终不同按键通道充电的起始电压就会不同,不一定是0V,同一按键通道不同时间充电的起始电压也会不同;而充电时间TKCNT是灵敏度调节电容Cadj从起始电压充电到参考电压Vref的时间,如果起始电压不同,则充电时间TKCNT就会不同,那么实际工程中TKCNT的波动会很大。

为了避免因起始电压不一致而引起的充电时间TKCNT波动,本实施例采用纯软件控制方法,设计了一种降低电容式触摸按键之间干扰的方法,如图1、图2所示,该抗干扰处理方法包括有如下步骤:

步骤一、程序启动,初始化设置。

步骤二、判断其他中断标志位是否置位,如是,则执行下一步骤;如否,则执行步骤四。

步骤三、进入其他中断程序。

步骤四、判断按键中断标志位是否置位,如是,则执行下一步骤;如否,则执行步骤六;在此,判断按键中断标志位是否置位采用如下方法:

(4-1)、触摸按键电路中的灵敏度调节电容Cadj上的参考电压是否达到预设参考电压Vref,如是,则执行下一步骤;如否,则循环本步骤;其中,预设参考电压Vref的取值范围为3V~5V;

(4-2)、比较器反转,产生按键中断标志位。

步骤五、进入按键中断程序;

(5-1)、清除按键中断标志位;

(5-2)、计时器启动,按键时长计时;

(5-3)、判断按键时长是否达到预设的按键时长Tb,如是,则有按键按下,执行下一步骤;如否,则无按键按下,转到所述步骤六;其中,预设的按键时长Tb的取值范围为50ms~150ms;

(5-4)、计时器清零,处理按键数据;

(5-5)、得到当前按键操作的按键值,然后执行所述步骤六。

步骤六、延时时间K,其中,K为灵敏度调节电容Cadj的放电延时时间。

步骤七、执行按键处理函数,并开启下一按键通道。

步骤八、执行其他程序,然后返回步骤二。

本实施例在按键中断程序后设置了延时时间K,该延时时间K必须满足使灵敏度调节电容Cadj放电完全;通常,在触摸按键电路中,一般采用如图3所示的RC放电电路,并且该放电电路满足如下公式:

Vt=Vref×exp(-Tover/RC)

其中,Vt为灵敏度调节电容Cadj的放电电压,Vref为产生按键中断标志位的参考电压,Tover为灵敏度调节电容Cadj放电完全的时间;R为放电电阻,C为放电电容,R和C共同组成放电电路。

由上述公式可知,只有时间达到无穷大时,灵敏度调节电容Cadj的放电电压才能达到0V,在实际中设定灵敏度调节电容Cadj的放电电压Vt取值在0.001V~0.009V之间即为完全放电(小数点后的位数可以根据精度要求进行调整,本实施例取小数点后三位);

于是,当Tover满足:

Figure BDA0002232708000000051

时,即认为灵敏度调节电容Cadj完全放电,延时时间K的取值范围只要满足K≥Tover即可保证灵敏度调节电容Cadj的完全放电。

本实施例无需改***件结构,耗费时间短、设计成本低,从软件上进行改进,在每次按键中断程序执行后,进而执行延时时间K,确保灵敏度调节电容Cadj上的电压完全放电完成,由此,确保了灵敏度调节电容Cadj的放电电压相同,使得下一次按键启动时的起始电压都是一致的,有效了降低了充电时间TKCNT的波动,不仅能够解决来自按键外部干扰的问题,还能够解决触摸按键之间的相互干扰问题,整个控制方法简单易行。

9页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种电容触摸按键的场景式信号自适应处理方法及电子装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类