PSoC的电容式非接触感应按键设计与实现
扫描二维码
随时随地手机看文章
电容式感应技术正在迅速成为面板操作和多媒体交互的全新应用技术,其耐用性和降低BOM成本方面的优势,使这种技术在非接触式操作界面上得到广泛的应用。本文采用PSoc片上系统芯片,实现了非接触式、稳定可靠的电容式感应按键的设计。
1 PSoC片上系统
PSoC微处理器由处理器内核、系统资源、数字系统和模拟系统组成。PSoC片上系统包含8个数字模块和12个模拟模块。这些模块都可进行配置,用户通过对这些模块进行配置,定义出用户所需要的功能。数字模块可配置成定时器、计数器、串行通信口(UARTS)、CRC发生器、PWM脉宽调制等功能模块。模拟模块可配置成模数转换器、数模转换器、可编程增益放大器、可编程滤波器、差分比较器等功能模块。数字模块和模拟模块也可构成调制解调器、复杂的马达控制器、传感器信号的处理电路等[1]。
2 电容式感应原理
电容开关是一对相邻电极,在电极之间有很小的电容。当一个导体接近两个电极时,在电极与导体之间会产生一个耦合电容。在这里,手指就是这个导体,通常电容开关的形式是一边接地的电容,导体的存在增加了开关到地之间的电容。检测是否有手指靠近,也就是检测是否有按键按下,可依据电容的变化来判断。检测电容变化的方法有很多:电流与电压相位差检测、电容构成振荡器进行频率检测、电容桥电荷转换检测。因为电容桥电荷转换检测的方法较适用于大量按键扫描和PSoC的性能,所以在此采用该方法进行检测[2]。
电荷转换电路从概念上来说与R-C充放电电路相似,如图1所示。电荷转移的优点是不需要附加电阻器件。CP感应的电容,它的值随着电极材料上所加导体而改变。Csum是参考总电容。
在检测周期开始,通过一个复位开关把Csum上的电荷全部放掉。然后通过单刀双向开关使Cp工作在非重迭的周期上。在第一半周,Cp连接到VDD充电。当CP上的电荷以由CP值决定的速度充到VDD时,开关断开,然后把开关连接到Csum,Cp上的电荷转移到Csum中[3]。
在图1中,因为Csum的电容值比Cp大得多,所以Csum上的电压值在充电的每一周期内只有微小的增加。这个Cp到Csum上的电荷转换周期重复许多次,以使Csum上积累到一个大的信号值。当连接到VDD时,电容Cp上的电荷为:
Q=CV (1)
不是Cp上的所有电荷都转移到Csum中。当Cp上的电压跌落到Csum上的预存电压时,转换便不再进行。为检测感应的电容值是否有改变,可通过Cp-Csum的充放电方式,把Csum充到固定的阈值VTH,再计算到达这个阈值时的周期数。在任意采样点n,Csum上的电压值为:
图2示出了充放电115ms后的电荷转换波形。其充放频率为6MHz,所以其转换次数为700次。
式(2)很明显是一个指数函数,即电压值Vsum为:
检测Cp的变化率,可通过比较Vsum和VTH得到。即计算Vsum充到VTH时的充放电次数n:
当手指靠近时,Cp变成电极感应电容和手指接近产生的耦合电容之和CF+P,所以Csum充电到阈值VTH的速度更快,充放电周期数n也就更小:
这样,检测是否有键按下就简化成了检测周期数的变化率Δn=n-nF+P。当Δn>nTH时,表明有手指靠近。
3 电容式非接触按键的设计与实现
3.1 电容式非接触按键的硬件电路设计
电容式非接触按键的硬件电路如图3所示。该设计中,通过PSoc芯片CY8C2714循环检测感应电极的状态来判断是否有按键按下。该系统的硬件设计非常简单,感应电极不需要附加任何元器件。I/O口P0.2-P0.6共连接4个按键感应电极,芯片通过内部硬件配置和软件算法,对感应电机上是否有手指按下进行检测。另外,PSoC芯片可外接ISSP接口实现在线编程[4]。
3.2 电容式非接触按键的软件实现
非接触按键的检测,须通过比较器、充电电流源和复位开关组成一个张弛振荡器,来对按键电极电容充放电。PSoC内部用户模块配置如图4所示。比较器占用一个模拟模块。它的同相输入端多路模拟开关连接到I/O口上,反相输入端接内部参考电压VBG作为电容充电阈值VTH,与同时输入端进行比较。输出端连接比较逻辑输出总线0。总线与通用输出口连通,再把通用输出口4和通用输入口4连接在一起,作为PWM的时钟输入线。PWM脉宽调制模块占用1个数字模块,其时钟输入连到比较器的输出,PWM的输出连接到定时器的捕获脚。1个16位定时器占用2个数字模块,对PWM输出的脉冲进行定时。
非接触式感应按键的实现过程为:首先设置I/O口的输出驱动模式,开始扫描按键,把按键连接到模拟多通道输入口,使能振荡器。当Cp上的电压线性增加到阈值时,比较器输出高电平。刷新定时器和PWM的周期数,重设计数值,置完成标志位。当扫描完成,停止PWM,定时器中断服务完成。最后根据电容感应原理,计算出定时器的周期数来判断是否有按键按下。在本设计中,如式(5)所示,选取Csum值,使充放电周期数n=1000次时,Vsum到达VTH。当检测到n F+P<800,即Δn>nTH=200时,认为有按键下。
结语
本设计中,基于PSoC片上系统芯片的非接触式感应按键界面,有着非接触、可靠和设计简单的特点。这种方便、灵活的操作界面已在家电和控制系统中得到了应用和推广,所以关于电容式感应按键技术的应用将会是嵌入式系统中的一个研究热点。