基于张弛原理的 JST080触摸按键的优化设计
2010-01-12管瑞,周龙,陈雄
管 瑞 ,周 龙 ,陈 雄
(武汉工业学院电气信息工程系,湖北武汉 430023)
目前触摸感应技术越来越多的得到电子行业的关注和应用。电容触摸传感正迅速替代传统的按键式开关用户界面,它本身不需要机械动作,而且可以使产品完全密封,使设计更加现代美观和耐用,且具有更大的灵敏度、稳定性、可靠性。除了在消费市场不断扩展外,触摸传感因其在美观、维护、成本和清洁等方面的优势,也逐渐开始渗入医疗、工业和汽车应用中。目前全球领先的单片机和和模拟半导体供应商Microchip公司推出了全新的触摸按键解决方案,使工程师在采用 PI C单片机的应用中可方便地添加触摸感应界面。Microchip公司推出的全新触摸按键解决方案,在技术上主要使用了两种方法:张弛原理和直接电容测量。
JST080就是一种基于张弛原理的电容触摸感应专用芯片。内置 8-B ITMCU、8通道电容式触摸感应 I C。自主开发算法,具有环境自适应,抗干扰信号,相邻感应按键抑制的功能。可广泛应用于消费类电子产品,例如手持通讯 MP3、MP4、家电类、教育类、玩具类、PC周边类仪器仪表、医疗器械、手持式遥控器等产品。
1 JST080的工作原理
1.1 张弛原理
JST080电容式触摸感应按键的基本原理就是一个不断地充电和放电的张弛振荡器[1]。如图1所示。如果不触摸开关,张弛振荡器有一个固定的充电放电周期,频率是可以测量的。如果用手指或者触摸笔接触开关,就会增加电容器的介电常数,充电放电周期就变长,频率就会相应减少。所以,测量其周期的变化就可以侦测触摸动作。
图1 电容触摸按键原理
张弛振荡器是一个自激 RC振荡器[2],它使用 2个带 SR锁存的比较器来改变感应电容器电压的充电方向,如图2所示。比较器的正输入端决定充电的上下限,C1+是内部信号,C2+接外部信号以便设置充电下限,1000 PF的电容用来滤除来自电源的高频噪声并确保有一个稳定的下限。电压 V-将在上下限之间充放电,它由 C2OUT的逻辑电平信号驱动。
图2 张弛振荡器
通过比较器的正输入端来设置充电的上下限。从下限充电到上限,然后放电从新回到下限的时间,就是振荡器的周期。当电容器 Cs上电压 V-低于下限时,系统开始充电,如果 V-在上下限之间 ,则系统保持前一个状态 (充电或放电)当 V-高于上限时,系统开始放电,然后在中间区域持续放电。整个充放电周期[2]如图3所示,即电容触摸按键振荡波形。
图3 充放电周期
反馈电阻 R与传感器极板 (用 Cs表示)一起形成 RCs回路 ,如图4所示,图4(a)为 RCs回路,电容器充放电的速率由 RCs时间常数来确定,即:τ=RCs。图4(b)、4(c)即无触摸按下时的时间常数。
图4 RCs电路
当手指接近焊盘时,由于手指引入额外的电容,使总电容将变大,导致振荡器的 RCs时间常数改变。如图5所示,图5(b)、5(c)即有触摸按下时,RCs时间常数增加,振荡器频率将减小,在单片机中将检测这一频率变化。电容增量就是检测的依据。
图5 RCs时间常数变化
1.2 JST080的工作原理
JST080是通过 KEY0-KEY7口感应外界模拟信号的微弱变化,来识别是否有干扰源靠近或接触到KEY0-KEY7口上。如图6所示,利用这个原理将KEY0-KEY7制作成按键口,通过感应按键口模拟信号的微弱变化来识别是否有按键按下。
图6 JST080硬件电路图
当手按在面板上时,电荷通过面板迁移到面板下面的触摸按键上,触摸按键连在芯片的感应脚上,此时,芯片的内部电路感应到电压的变化,同时给出相应的时间值,再经过系统的算法,给出是否有按键。具体算法[4-7]如图7所示。
图7 JST080的按键扫描流程图
2 JST080的优化方案
在设计触摸感应按键时,首先需要检测触摸按键上电荷或电平容量以及一些相关的转换关系,即必须进行系统的校准:其次电荷 /电平的改变将受外界环境的影响,静电放电和电磁干扰均会引发误动作,且环境变化如温度的改变将影响到系统的校准,同时其它污染物在表面的堆积都会影响其精确性和可重复操作性。因此抗干扰性与自适应性成为触摸感应按键设计的关键。
2.1 自适应能力优化方案
按键要有自适应的能力,因为按键的充电时间会随其所处环境的温度和湿度的改变而改变。判断有按键按下是通过两次读取按键充电时间值作差,然后与先前规定的差值作比较来实现的,上电后第一次读取的按键充电时间值作为无按键按下的充电时间值,如果无键充电时间值始终无变化时,则随着时间的变化,真正的无键充电时间值就会缓慢发生变化。当这个变化差值大于规定的标准差值时,则认为有按键按下。
为解决这个问题,提出了以下方案。即无键充电时间值始终处于变化中,而且是随着环境的变化而变化。使保存的无键充电时间值始终等于或逼近真正的无键充电时间值,实现按键的自适应。此无键充电时间值由以下公式计算得到。
式中:T为无键充电时间值;T0为前一次读取的无键充电时间值;T1为新读取的无键充电时间值。
注意按上面的公式刷新按键值,如果出现手非常缓慢的触摸按键的情况,软件将无法识别有按键按下的情况。
2.2 抗干扰能力优化方案
提高抗干扰能力可以从两个方面入手:一方面硬件上增加充电时间,考究 PCB板的设计,提高抗干扰;另一方面软件上增加去抖。
2.2.1 硬件上抗干扰
硬件上,由于按键扫描时间的限制,按键的充电时间被限制的比较小,只能从 PCB的设计上考究,增加按键的抗干扰能力。具体做法是:①按键成叉子形状,两个小叉子互叉但不相连,一个小叉子接按键口,另一个小叉子接地;②按键与按键之间的空隙布满地线[3],如图8所示使干扰信号基本无法对按键形成干扰;③按键走线尽量走直线;④按键大小做到与普通人手指差不多大小,增大人手与按键的触摸面积[8]。
图8 按键与按键间的设计
2.2.2 软件上抗干扰
软件上增加去抖动,具体做法是:①确认按键是否按下需要连续两次按下的计数值都为按下值;②在计数值减小的情况下,如果不是按键按下,需判断是否需做按键计数值的刷新,这样做可以防止手触摸按键速度相对慢时无法检测到按键。
3 优化方案应用举例
上述自适应与抗干扰方案已经成功应用于JST080。在 JST0180按键按下判断程序的与按键松开判断程序的设计中,就采用了自适应刷新无键计数值与软件去抖动做法,提高了触摸按键的自适应能力和抗干扰能力,使整个触摸按键系统更加可靠。
3.1 JST080按键按下判断程序设计
在按键按下判断程序的设计中,如图9所示,判断按键是否处于按下状态时,如果读取值 (以下以N表示)与上一次的按键值 (以下以 B表示)作差的结果大于按键按下的标准值 (以下以 DC表示),即 BN>DC则认为有按键按下动作。当判断有按键按下动作后,即采用去抖动方案;当判断按键无按下动作后,采用自适应方案。
图9 JST080按键按下判断程序流程图
按键按下标准值DC的选取与客户对按键灵敏度的要求有关,要求的灵敏度越高,对应选取的标准值越小。同时,DC的选取应以抗干扰和能够实现按键动作识别为标准。抗干扰是指选取的标准值不能太小,要尽量防止把因温度、湿度或其它干扰引起的差值变化当做按键按下动作。能够实现按键动作识别是指判断差值不能选取的太大,防止判断不到按键动作。
3.2 JST080按键松开判断程序设计
在按键松开判断程序中,同样采用了上述自适应方案,如图10所示,设按键松开标准值为 UC,如果N-B>UC则认为有按键释放动作。最后自适应刷新无键计数值退出程序。其中 UC的选取规则同DC。
图10 JST080按键松开判断程序流程图
4 结束语
通过对电容触摸专用芯片 JST080的深入研究,提出了采用自适应刷新无键充电时间值,软件上增加去抖动,和硬件上 PCB的优化设计方案,提高触摸按键系统的可靠性。经过实践证明,该方案有效的提高了电容触摸按键的自适应和抗干扰能力。
[1] Marc Mc Comb. Introduction tom TouchTMCapacitive Touch Sensing[EB/OL].[2010-03-03].http://www.microchip.com/en_US/technology/m Touch Buttons/index.html.
[2] Tom Per me.Introduction To Capacitive Sensing[EB/OL]. [2010-03-03]. http://www.microchip. com/en _ US/technology/m Touch Buttons/index.html.
[3] Tom Perme. Layout and Physical Design Guidelines for Capacitive Sensing[EB/OL].[2010-04-03].http://www.microchip.com/en_US/technology/m Touch Buttons/index.html.
[4] Tom Perme.Software Handing for Capacitive Sensing[EB/OL].[2010-04-03].http://www.microchip. com/en _ US/technology/m Touch Buttons/index.html.
[5] Keith Curtis and, Tom Per me. Capacitive Multibutton Configuration[EB/OL].[2010-04-03]. http://www.microchip.com/en_US/technology/m Touch Buttons/index.html.
[6] Burke Davison.Capacitive Touch Algorithm Simulation[EB/OL].[2010-04-03].http://www.microchip. com/en_US/technology/m Touch Buttons/index.html.
[7] Enrique Aleman.Using the Capacitive Sensing Moudle on the PI C16F72X[EB/OL].[2010-04-03].http://www.microchip.com/en_US/technology/m Touch Buttons/index.html.
[8] Thomas Perme.电容触摸传感的理论框架[J].电子产品世界,2009(8):9-11,15.