老古开发网首页
导航:老古开发网首页文章索引文章分类网络文摘→[CapSense触摸感应技术在手机中的应用]
| -文章搜索 - 最新文章 - |

CapSense触摸感应技术在手机中的应用

发布时间:2006年10月27日 点击次数:88
来源:中电网   作者:赛普拉斯半导体国际有限公司 翁小平
 

CapSense触摸感应技术是赛普拉斯半导体使用CY8C21x34系列PSoC芯片开发的、用于触摸式按键、触摸式滚动条(Slider)、触摸式平板(Touchpad)的触摸感应技术。它利用PSoC的CY8C21x34系列芯片一些特有的资源,根据电容感应的原理和松弛震荡器的技术实现触摸感应。区别于其他触摸感应技术,CapSense技术具有几乎不需要外围元件、每一个按键的灵敏度可单独调整、一个芯片可同时实施多个触摸式按键和触摸式滚动条等优点。可用于各种家电产品代替传统的轻触按键和薄膜键盘。同样它也非常适用于时尚手机。本文介绍CapSense技术的基本原理以及它在手机中的应用。

CapSense技术的基本原理

CapSense技术是根据电容感应的原理和松弛震荡器来实现触摸感应。众所周知,PCB板上相邻的导线或铜箔之间存在寄生电容Cp。如图1所示,当有手指接近或触摸铜箔时,相当于附加了两个电容,这两个电容等效于并联在Cp上的一个电容Cf。如果在手指与铜箔之间有不导电的介质,它将影响Cf。介质越厚、介质的介电常数 r越小,对它的影响就越大。为了检测Cp和Cp的变化Cf,我们用图2所示的电路对其实施操作。图中左半面是一个松弛震荡器,它的工作过程如下:使用恒流源以iCHARGE电流对Cp充电,当Cp上的电压上升并刚好超过比较器的反向输入端的电压VBG(1.3V)时,比较器翻转到高电平,控制复位开关闭合,Cp迅速放电到零。比较器翻转恢复到低电平,恒流源以iCHARGE电流再对Cp充电。这个过程周而复始,形成震荡。而震荡的周期近似于充电的时间:

tCHARGE=CpVBG/iCHARGE

图中右半面是一个间隔计数器。它由一个8位的PWM和一个16位的定时器组成。它实施一段时间间隔(PWM的Duty)里16位的定时器对系统时钟的计数。PWM的输入来自比较器的输出,16位的定时器被设置成捕捉定时器,它的输入来自系统时钟SYSCLK。当PWM进入Duty状态时启动16位的定时器工作,当PWM的Duty状态结束时捕捉16位定时器的计数。这个计数的值为:
n=NperiodsXtCHARGEXSYSCLK

其中NPERIODS为当PWM为Duty状态时松弛震荡器的震荡次数,它的值被设置成PWM的周期值减2。将tCHARGE=CpVBG/iCHARGE代入上式有:

n=NPERIODSXCPVBGXSYSCLK/iCHARGE

当其他值都被固定以后n和Cp有唯一确定的关系。如果有手指触摸时,Cp将变化到Cp+Cf,而n将由n1变化到n2

⊿n=n2-n1

当⊿n大于预先设定的阀值时,就可以表明有手指触摸。图3是无手指触摸和有手指触摸对应松弛震荡器的波形和PWM及定时器计数值变化的示意图。

CapSense技术的实施

CapSense所需要的资源包括松弛震荡器和间隔定时器全部都被包含在PSoC芯片里,芯片外围不需要任何元件。为了实施CapSense,PSoC的集成开发环境(IDE)Designer4.2已经为CY8C21x34芯片建立了CSR模块,通过对CSR模块的硬件配置和函数的调用来实施CapSense。


CSR模块的配置

在IDE的器件编辑状态,选择并放置CSR模块后,激活CSR模块导向器(图4),在CSR模块导向器中可以设置多少个触摸按键以及每一个按键所对应的管脚;也可以同时设置一个或两个滚动条(Slider)以及滚动条由几个感应块组成和它们所对应的管脚。滚动条的分辨率可以大于组成它按键的个数,它也在这里被设定。

在模块的参数设置窗口,可以设置CSR模块的工作模式(周期或频率)、手指信号的阀值、噪声信号的阀值、基本线修正的速率和抗ESD信号的周期。当所有设置完成以后,点击Generate Device Application按钮,即可自动生成CSR模块有关的程序供用户程序调用。


几个关键函数的调用

下面是CSR模块的几个关键函数:
void CSR_Start();
void CSR_Stop();
CSR_SetDacCurrent(BYTE bValue, BYTE bRange);
CSR_SetScanSpeed(BYTE bDivider);
void CSR_StartScan(bStrtSw, bSwCnt, bMode);
BYTE CSR_GetScanStatus();
BYTE CSR_iReadSwitch(Byte bSwitch);
CSR_bUpdateBaseline(bSwGroup);
BYTE CSR_bGetCentroidPos(bSwGroup);

CSR_Start和CSR_Stop分别是启动和停止CSR模块。CSR_SetDacCurrent用于设定给Cp充电的恒流源的大小,bValue、bRange参数用于分两级设定恒流源的值。CSR_SetScanSpeed用于设置PWM的周期值,其参数bDivider的值减2为PWM的Duty值。上面两个函数的参数的调整可以调节触摸按键和触摸滚动条的灵敏度和扫描周期。 CSR_StartScan用于启动扫描,bStrtSw、bSwCnt和bMode参数分别用于设置第一个扫描键的键号、顺序扫描键的个数和扫描的方式,扫描的方式有单次扫描和连续扫描两种方式。 CSR_GetScanStatus函数返回扫描的状态,CSR_iReadSwitch函数得到扫描的结果即定时器的计数值。

CSR_bUpdateBaseline是一个重要而有多种功能的函数,如图5所示。对于每一个触摸感应键,都有一个Baseline用于跟踪在没有手指触摸时的定时器计数值,它是通过将每一次扫描得到的定时器的计数值做IIR滤波并符合有关条件后才作修正。作为差值比较的基准线,每一次扫描得到的定时器的计数值都要和它比较得到差值,该差值再和手指信号的阀值比较以判定有无手指触摸。参数bSwGroup可选0、1和2,表明本次调用是修正触摸按键还是第一或第二滚动条。返回值是0或1,表明无或有手指触摸。除了实施以上功能外,该函数还要完成峰值检测和ESD检测,用于提高测试的性能。

手指在滚动条上的定位

滚动条通常被做成锯齿排列,每一个锯齿条对应一个感应块,当手指触摸滚动条或在其上移动时,某一时刻会有几个连续的感应块被感应(如图6),手指中间对应的感应块感应量最大,两边顺序递减。这就可以用重心法来确定手指在滚动条上的位置,此式是n=\frac{\sum_{n=0}^{m}n


欢迎进入老古论坛进行讨论
[网络文摘] 相关文章:
音频DAC性能研究
简介:
MAX9850音频DAC可以工作在较宽的主时钟频率范围,而具有不同的性能表现。通过选择不同的主时钟频率,设计人员可以在性能和简化设计之间做出平衡。本应用笔记分析不同主时钟频率与采样率之比对应的MAX9850性能,说明主时钟频率如何影响器件性能。 MAX9850是一款具备独特时钟电路的音频DAC,该时钟电路允许器件在较宽的主时钟频率范围内获得很好的音频性能。典型的音频DAC需要主时钟频率恰好是采样率的整数倍。例如,如果采样率是48kHz,那么最常用的主时钟是48kHz x 256 = 12.288MHz。MAX9850可以工作在标准音频时钟,也可以工作在常用的系统时钟,例如12MHz,但性能......

美国技术产业职缺增加一倍,但仍落后私人产业
IEK:07年台湾手机板产业迈向全球第一
赛普拉斯联合Artaflex推出新型无线USB LP模块
高通携手中芯国际,专注电源管理芯片
世界太阳能大会于明年首次在中国召开
看好电力线收发器IC前景,英国初创公司筹资
QUICC Engine技术推动通信网络演进
D类音频放大器设计:概念、原理和方法(下)
纯净的持续性能源供应-燃料电池应用优势概论(下)
 
下一个:[网络文摘]基于BREW平台的手机游戏开发
简介:
1 引言 手机已不仅是语音通信的工具,而且逐步成为数据业务开发与应用的平台,中国联通已多次宣布在其CDMA 1X通信网络上采用BREW和无线Java技术来提供数据增殖服务,毋庸回避,BREW与无线Java在增殖服务方面是相互竞争的,尽管各有特点,两者还是提供了相似的服务类型,联通决定采用BREW和Java两套平台,是考虑了技术、管理、投资、经营、政治、经济、文化等诸方面因素的综合决策。 BREW的技术优势在于基于C/C++语言进行的平台开发对于许多程序员来讲均十分熟悉,移动设备制造商无需再开发专有的软件平台,可降低移动设备技术门槛及产品上市门槛,满足终端用户对最新数据应用的需......
 

上一个:[消费类电子]基于ST40GX1与STi5514的网络交互式数字电视机顶盒硬件设计

老古开发网版权所有 2006年9月 asp.Net V2.0 设计:老古
页面缓存:10分钟 执行时间:31毫秒