市场上的消费电子产品已经开始逐步采用触摸感应按键,以取代传统的机械式按键。针对此趋势,Silicon Labs公司推出了内置微控制器(MCU)功能的电容式触摸感应按键(Capacitive Touch Sense)方案。电容式触摸感应按键开关,内部是一个以电容器为基础的开关。以传导性物体(例如手指)触摸电容器可改变电容,此改变会被內置于微控制器内的电路所侦测。

电容式触摸感应按键的基本原理

◆Silicon Labs 现提供一种可侦测因触摸而改变的电容的方法

  电容式触摸感应按键的基本原理就是一个不断地充电和放电的张弛振荡器。如果不触摸开关,张弛振荡器有一个固定的充电放电周期,频率是可以测量的。如果我们用手指或者触摸笔接触开关,就会增加电容器的介电常数,充电放电周期就变长,频率就会相应减少。所以,我们测量周期的变化,就可以侦测触摸动作。

具体测量的方式有二种:
  (一)、可以测量频率,计算固定时间内张弛振荡器的周期数。如果在固定时间内测到的周期数较原先校准的为少,则此开关便被视作为被按压。
  (二)、也可以测量周期,即在固定次数的张弛周期间计算系统时钟周期的总数。如果开关被按压,则张弛振荡器的频率会减少,则在相同次数周期会测量到更多的系统时钟周期。

  Silicon Labs推出的C8051F9xx微控制器(MCU)系列,可通过使用芯片上比较器和定时器实现触摸感应按键功能,连接最多23个感应按键。而且无须外部器件,通过PCB走线/开关作为电容部分,由内部触摸感应按键电路进行测量以得知电容值的变化。

◆以Silicon Labs的MCU实现触摸感应按键

  利用Silicon
Labs其它MCU系列,仅需搭配无源器件,即可实现电容式触摸感应按键方案。与C8051F93x-F92x方案相比,唯一所需的外部器件是(3+N)电阻器,其中N是开关的数目,以及3个提供反馈的额外端口接点。C8051F93x-F92x之外,Silicon Labs其它MCU系列可直接连接12个开关,或者通过外部模拟多路复用器连接更多开关。

设计触摸感应按键开关
因为我们要侦测电容值的变化,所以希望变化幅度越大越好。现在,有三个主要因素会影响开关电容及变化幅度。

  • PCB上开关的大小、形状和配置
  • PCB走线和使用者手指间的材料种类
  • 连接开关和MCU的走线特性

  我们测试了下图中这12种不同开关。目的是为了发现开关的形状尺寸会如何影响开关的空闲和被接触的状态,还可以发现哪一种开关的空闲电容最大,就不容易被PCB上的寄生电容而影响。测试结果表明,在特定区域中的开关越大且走线越多,则此开关的闲置电容便越高。图中的环状开关具有最低的电容,所以当开关动作时,可显现最大的电容相对变化。

◆开关的形状尺寸会如何影响开关的空闲和被接触的状态

  由于开关上方的材料种类,会影响闲置电容和电容的变化率。我们还测试了玻璃、有机玻璃Mylar聚酯薄膜、ABS塑料和FR4玻璃纤维,这几种不同材料。我们发现,尽可能使用最薄的材料,使电容变化极大化。而且,建议使用具有高介电常数的材料,例如玻璃,以增加开关的绝对电容。

总结
  Silicon Labs的电容式触摸感应按键的优点很多。首先,只需要很少的微控制器开销(overhead)。设计一个开关仅需443字节码空间,每多增加一个开关仅需多增加额外的 1字节。硬件资源只需要一个比较器和定时器。还可以采用高效率算法,让微控制器可以进入低功耗模式,并能定期唤醒以侦测开关动作。总体只占用低于0.05% 的CPU资源。其次,没有外部硬件开销。可以将开关走线直接连至MCU端口管脚,无须其它外部的反馈电阻器或电容器。 而且芯片配置也很简单。无论开关使用为何材料,完成都很容易。另外,按键的侦测,不易受到噪声和供应电压的影响。不受50/60
Hz噪声的影响,也不需要精密电压源(VDD)。

常见问答

问题

回答

问:如何调整触摸灵敏度?是设计时固定的,还是到现场可以进行调整的?

答:灵敏度是通过实验来做的,客户可以对不同状况下的值进行记录,然后保存到flash中,这样实际使用时,不同状况下,系统会用不同值来工作,实现适合的灵敏度。灵敏度是设计时确定的,也可以设计成自学习型的。

问:一个开关需要一个定时器和一个比较器,多个开关是共用定时器和比较器吗?

答:对于多个开关,采用一个多路复用器,就可以共同使用一个定时器和比较器了。

问:如何消除和区分电容触摸的误触摸?

答:确定触摸式按键是否被按下可以通过检测频率或者周期来实现。而消除和区别误触摸,则要通过软件上一些校准的算法来实现。具体的信息,可以登陆www.silabs.com下载详细的参考应用。

问:贵公司的电容式触摸芯片有休眠功能吗?如何唤醒?

答:有休眠功能,我们F9xx系列单片机支持sleep、suspend睡眠状态。可以通过IO、外部中断、比较器等唤醒。

问:和电阻式触摸按键相比,电容式触摸按键有哪些优点,是否存在不足?

答:电阻式的要用A/D采样,并且人的电阻很大,采样比较困难,每个人的电阻差异也很大。
抗干方面,电容式的更好一些。

问:我的手要在按键放多久才能被检测?

答:人的动作是以百毫秒来计算的,而IC内部检测是否有按键按下的时间通过数千个机器周期就可以确定,时间等级差很多。因此基本上手一放上去就会被检测到。

问:电容式触摸按键有没有防水防潮设计,如果使用环境在一些潮湿场所,例如啤酒生产,使用电容式触摸按键是否合适?

答:你可以在"电容式触摸按键"的外面加一层塑料或其他介质进行保护。另外,当"按键"受到污染,"空闲电容,idle capactiance"变大时,你可使用算法来刷新/标定你的检测门限(重新标定时间常数,RC) 。

问:c8051F9xx可以同时监测多少路的按键动作?处理速度能达到多少?

答:C8051F9xx最高速度是24.5MHz,电容感应的响应时间是由电容充放电时间决定的,即与时间常数有关。一般一个周期为1000~2000个系统时间周期/SYSCLK, 故响应时间小于为2*2000*1/24.5MHz = 160uS。
人的动作为上百mS级的,MCU有足够的时间去处理按键响应。由于受到I/O口的限制,C8051F9xx最多能做到23个按键。

为了提高按键的抗干扰能力,在绘制PCB图时应注意哪些问题?

答:按键与单片机IO间走线需要越短越好。

为了提高按键的灵敏度和准确度,编程时应如何如何对其进行处理?

答:灵敏度和准确度是相反的一组值。你必须要自己选一个中间值来平衡。

如果我想更多的了解和学习电容式触摸按键技术,请问有无相关书记和资料课提供?谢谢

答:有的,我们有电容按键的参考设计,包含软硬件以及源代码。请到www.silabs.com网站上下载应用文档,AN338 Capacitive
Touch Sense Solution.pdf,也可以联系我们益登科技相关办事处,获取详细设计资料及指导。

假如我需要开发电容式触摸按键技术,请问我应该买什么开发工具和软件?

答:可以购买我们提供的C8051F931-based ToolStick 与Capacitive
Touch Sense,或者C8051F930DK等开发套件,套件中包含设计资料和参考代码。

Silicon Labs电容式触摸感应按键技术原理及应用的更多相关文章

  1. PSoC电容式触摸感应技术

    PSoC是由Cypress半导体公司推出的具有数字和模拟混合处理能力的可编程片上系统芯片,某些系列的PSoC(如CY8C21X34系列),由于其内部配备的特殊资源,使得它可以很容易地实现电容式触摸感应 ...

  2. 智能货柜 & 技术原理 (动态视觉识别 + 重力感应)

    智能货柜 & 技术原理 (动态视觉识别 + 重力感应) 智能货柜 拥有智能化.精细化运营模式的智能货柜成为代替无人货架继前进的方式. 相比无人货架来说,智能货柜的技术门槛更高,拥有 RFID. ...

  3. Silicon Labs电视调谐器 si2151

    随着数字电视与数模混合电视在全球范围内的逐步普及,人们对于电视机的功能要求也随之不断攀升,进而对整个电视芯片行业造成了在价格与功耗等方面的强烈冲击. 而中国作为连续四年取得全球电视出货量第一的“电视大 ...

  4. 液晶常用接口“LVDS、TTL、RSDS、TMDS”技术原理介绍

    液晶常用接口“LVDS.TTL.RSDS.TMDS”技术原理介绍 1:Lvds Low-Voltage Differential Signaling 低压差分信号 1994年由美国国家半导体公司提出之 ...

  5. 4.1 技术原理 & 4.2 键盘过滤框架

    4.1 技术原理 & 4.2 键盘过滤框架 4.1 预备知识 符号链接:符号链接其实就是一个“别名”.可以用一个不同的名字来代表一个设备对象(实际上),符号链接可以指向任何有名字的对象. Zw ...

  6. 解析 Android Things 技术原理

    2012 年 6 月,由 IoT-GSI(Global Standards Initiative on Internet of Things)发布的白皮书“ITU-T Y.4000/Y.2060”[1 ...

  7. [内核编程] 4.1 技术原理 & 4.2 键盘过滤框架

    4.1 技术原理 & 4.2 键盘过滤框架 4.1 预备知识 符号链接:符号链接其实就是一个“别名”.可以用一个不同的名字来代表一个设备对象(实际上),符号链接可以指向任何有名字的对象. Zw ...

  8. 【沙龙报名中】集结腾讯技术专家,共探AI技术原理与实践

    | 导语 9月7日,上海市长宁区Hello coffee,云+社区邀您参加<AI技术原理与实践>沙龙活动,聚焦人工智能技术在各产业领域的应用落地,共话AI技术带来的机遇与挑战,展望未来. ...

  9. Atitit.ide技术原理与实践attilax总结

    Atitit.ide技术原理与实践attilax总结 1.1. 语法着色1 1.2. 智能提示1 1.3. 类成员outline..func list1 1.4. 类型推导(type inferenc ...

随机推荐

  1. CentOS 6.7下iPython提示“WARNING: Readline services not available or not loaded.”的解决办法

    yum install readline-devel 然后,使用pip或者easy_install安装readline即可 pip install readline

  2. Bash中的$符号

    脚本名称:$0 PID:$$ 参数个数:$# 脚本返回值:$? 第x个参数:$x 第10个以上的参数加大括号:${10} 所有参数:$@ #!/bin/bash echo "The prog ...

  3. 使用SBT构建Scala项目

    既然决定要在Scala上下功夫,那就要下的彻底.我们入乡随俗,学一下SBT.sbt使用ivy作为库管理工具.ivy默认把library repository建在user home下面. 安装SBT 在 ...

  4. Big Data應用:以"玩家意見"之數據分析來探討何謂"健康型線上遊戲"(上)

    首先,所有資料都可以從網路上找到,只是我做了一些分析與整理而已.純粹分享心得~~ 最近再做研究的時候我跟我的同事K先生在某次偶然的討論中發現了一件有趣的事情. [疑~~~~~~~新楓之谷的玩家人氣指數 ...

  5. 【php】中【event】之实现方式

    这两天看了点事件机制,那么在php中,如何实现最简单的事件呢? 废话不多说,我们上代码. <?php class Event{ //事件名称 public $name; //存储hander p ...

  6. 今天把PHP复习了一下.

    记录一下今天复习内容. $_GET[''] $_POST $_SESSION $_COOKIE 常用的 $var='a'; global 全局变量$GLOBALS[''] $$var (动态变量名的变 ...

  7. The version of CocoaPods used to generate the lockfile (*) is higher than the version of the current executable (*). Incompatibility issues may arise.

    解决方法: sudo gem update cocoapod

  8. 能用存储过程的DBHelper类

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.D ...

  9. web系统

    现在的web系统已经越来越多的应用缓存技术,而且缓存技术确实是能实足的增强系统性能的.我在项目中也开始接触一些缓存的需求. 开始简单的就用jvm(java托管内存)来做缓存,这样对于单个应用服务器来说 ...

  10. ThinkPHP表单令牌验证功能详细介绍

    注:TP版本为3.1.3 在ThinkPHP框架下,两次提交同一个表单,比如提交信息后在浏览器点击后退退回上次的页面,重新点击提交按钮,就会提示“表单令牌错误”的信息. ThinkPHP新版内置了表单 ...