触摸按键的实现主要是通过检测板级系统上构建的RC振荡电路在固定时间内的振荡次数,如果振荡次数发生明显变化,则判断为触摸状态。那么振荡次数主要是由RC的值决定,在系统中R值是固定的,而电容C即系统的中的传感器,是由PCB layout的一个尺寸与手指大小的覆铜片。其与周围的地层构建一个电容值微小的电容(大约为10pF)。当手指接近会改变其介电常数, 导致电容值发生改变,因而导致振荡次数发生改变。如1图所示
图1
那么从实现角度来说,要实现触摸功能需要有RC振荡比较网络,比较器以及计数器。而MSP430具有这类资源,且其管脚漏电流非常小,非常适合用于触摸按键的功能。目前主要有检测RC充放电时间的方法(RC)与检测RC振荡次数即弛张振荡的方法(RO)。从目前的应用的角度,RO方法具有更好的稳定性与抗干扰能力。其原理如图2所示。
图2
MSP430的内置比较器和外部的冲放电电阻Rc以及感应电容Csensor一起构成了一个张驰振荡器结构。而感应电容Csensor就是这个振荡器的调协元件,Csensor的任何变化都相应的改变张驰振荡器的谐振频率。我们利用MSP430内置的定时器A来采样振荡频率,从而可以检测到Csensor的变化。
基于MSP430的触摸按键2
触摸按键的原理性东西在第一篇里已经大概讲过,本篇主要具体介绍一下怎么样使用MSP430来构建触摸按键。
图1
这张图1在上一章已经讲过。对于图中Px.y为高,比较器正端为高,Csensor进行充电,直到比较器负端为高时,比较器输出反向为低,则Csensor开始放电,如此持续振荡。比较器内部输出的是方波信号,通过TImerA对其进行计数。通过对比在固定时间窗里振荡数目的变化来判断是否有触摸的动作。下图为时间窗与震荡次数的关系。
图2
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)