新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 使用普通I/O口实现电容触摸感应的解决方案

使用普通I/O口实现电容触摸感应的解决方案

作者:时间:2009-07-22来源:网络收藏

  技术背景

本文引用地址:http://www.eepw.com.cn/article/173670.htm

  现在电子产品中,技术日益受到更多关注和应用,不仅美观耐用,而且较传统机械按键具有更大的灵敏度、稳定性、可靠性,同时可以大幅提高产品的品质。受到越来越多的IC设计厂家的关注,不断有新的技术和IC面世,国内的公司也纷纷上马类似方案。Cpress公司的CapSense技术可以说是技术的先驱,走在了这一领域的前列,在高端产品中有广泛应用,MCP推出了mTouch,AT也推出了QTouch技术,FSL推出的电场感应技术与MCP的电感也别具特色,甚至ST也有QST产品。

  但是目前所有的触摸专用IC,因而开发成本高,难度大,而本文介绍的基于RC充电检测(RC Acquisition)的方案可以在任何MCU上,是触摸感应技术领域革命性的突破。首先介绍了RC充电基础原理,以及充电时间的测试及改进方法,然后详细讨论了基于STM8S单片机的硬件、软件设计步骤,注意要点等。

  一、RC充电检测基本原理

  RC充电检测基本原理是对如PCB的电极式的充电放电时间进行测量,通过比较在人体接触时产生的微小变化来检测是否有‘按下’动作产生,可选用于任何单独或多按键、滚轮、滑条。

  如图1(a)所示,在RC网络施加周期性充电电压Vin,测量Vout会得到如(b)的时序,通过检测充电开始到Vout到达某一门限值的时间tc的变化,就可以判断出是否有人体接触。图2显示出有人体接触时充电时间会变长。

电容充电电路及充电时序

人体接触时充电时间会变长

  电路如图3,一个口对PCB构成的充电,另一个口测量电压,对于多个按键时使用同一个口充电。R1通常为几百K到几M,人体与PCB构成的电极一般只有几个pF,R2用于降低噪声干扰,通常为10K。

电容触摸感应电路

  二、充电时间测量方法

  对充电时间的测量可以使用MCU中定时器的捕捉功能,对于多个按键一般MCU没有足够的定时器为每个按键分配一个,也可以使用软件计时的方法,这要求能对MCU的时钟精确计数,并且保证每个周期的时钟个数保持一定。这种情况通常要求对按键使用一个独立的MCU,以保证不被其他任务中断。

  为了提高系统的可靠性和稳定性,改进的测量方法是对Vout进行高和低两个门限进行测量。如图4所示,通过对t1和t2的测量,从而达到更可靠的效果。另外,多次测量也是有效的降低高频干扰的有效方法。

对高

  实际应用中可以使用数字信号的方式直接测量t1和t2,因为数字信号的‘1’和‘0’也都有最高与最低输入门限。使用软件查询方式测量,通过固定频率检测输入脚,其中‘0’的个数就是t1,‘1’的个数就是t2,实际上就是输入信号上升到VIHmin和下降到VILmax的时间。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭