方案简介
在便携式媒体播放器和移动手持终端等大容量、高可视性产品的应用中,触摸式按键作为一种接口技术已被广泛采用。由于具有方便易用,时尚和低成本的优势,越来越多的电子产品开始从传统的机械按键转向触摸式按键。
基于LPC1100系列Cortex-M0微控制器的电容式触摸感应按键方案,采用LPC1100的GPIO口和两个内部定时器,即可实现多达24个独立按键或滑条式电容触摸按键的应用。本方案采用外围RC电路加软件检测技术,集成FIR滤波算法,拥有良好的抗干扰性能,可通过EFT(脉冲群抗干扰度测试)4KV的指标,非常适合由交流电驱动的电子设备。
原理概述
电容式触摸感应按键的基本原理如图1 所示,当人体(手指)接触金属感应片的时候,由于人体相当于一个接大地的电容,因此会在感应片和大地之间形成一个电容,感应电容量通常有几pF到几十pF。利用这个最基本的原理,在外部搭建相关电路,就可以根据这个电容量的变化,检测是否有人体接触金属感应片。
图1 电容式触摸感应原理
基于LPC1100系列Cortex-M0微控制器电容式触摸感应按键原理如图2 所示,利用LPC1100的GPIO中断功能加上内部定时器,可很方便的测量外部电容量变化。处理流程如下:
初始化KEY n为GPIO口,必须关闭内部上拉功能,配置为既不上拉也不下拉的模式;
使能并配置KEY n的高电平中断;
将KEY n设置为输出,并输出低电平,此时电容放电;
开启定时器,将KEY n配置为输入,并开启高电平中断,此时电容开始充电,在KEY n的中断服务函数中读取定时器的时间;
根据这个充电时间的变化量就可以判断出是否有按键按下。图2 基于LPC1100触摸按键原理
注:图2中只是示意了2个独立按键连接方案,利用LPC1100内部的GPIO输入可以连接多达24个独立按键或滑条。
RC电路充放电在有无人体触摸时的充放电波形图如图3所示。当使用GPIO配置为输入时电容Cx充电,如果没有人体触摸的时候电容的充放电曲线如图3绿线所示;当有人体触摸的时候,由于人体带来一个感应电容量,这时电容充放电速度变缓,如图3红线所示。利用这个时间的变化,再加GPIO中断的检测功能,就可以判断是否有按键按下。图3 有无人体触摸时的RC电路充放电示意图
方案特性
支持按键、滑块和滚轮触摸界面;
硬件资源占用少,占用2个定时器和GPIO口;
外围器件少,每个通道只需两个电阻和一个电容,制造成本低;..