MSP430在触摸屏中的应用.docx
- 文档编号:24523024
- 上传时间:2023-05-28
- 格式:DOCX
- 页数:22
- 大小:24.84KB
MSP430在触摸屏中的应用.docx
《MSP430在触摸屏中的应用.docx》由会员分享,可在线阅读,更多相关《MSP430在触摸屏中的应用.docx(22页珍藏版)》请在冰豆网上搜索。
MSP430在触摸屏中的应用
电容式触摸按键的按键扩展方法
俞诗鲲
Semi/AEC/MSP430
摘要
基于
MSP430的触摸式传感器采用张驰振荡技术,兼具超低功耗和抗干扰能力强的优点,为广大方案设计商所青睐.如今,越来越多的产品开始采用触摸式传感器,所需按键的数量也随之上升.但是MSP430受限于内置比较器的输入端口数量,只能直接支持6个按键.在这篇应用文档中,我们将介绍两种扩展按键数量的方法,同时提供一种更高效按键检测算法,以利于在多按键应用中缩短检测时间.
1.触摸式应用要求更多的按键
...............................................................................................................2
2.基于MSP430的张驰振荡触摸按键方案简介
.....................................................................................2
3.扩展按键方法
...................................................................................................................................3
图表
3.1口线复用
....................................................................................................................................4
3.2使用外部
I/O扩展芯片
..................................................................................................................6
4.改进的检测技术
................................................................................................................................8
5.总结................................................................................................................................................10
6.参考文献
........................................................................................................................................11
图
1.基于
MSP430的张驰振荡触摸按键原理
...............................................................................2
图
2.振荡频率计算原理
................................................................................................................3
图
3.口线复用扩展方法
................................................................................................................4
图
4.灵敏度受按键大小影响
.........................................................................................................5
图
5.使用口线复用方式设计的触摸式滑动条
................................................................................5
图
6.口线复用方式下的按键走线
..................................................................................................6
图
7.使用外部
I/O扩展芯片扩展按键
...........................................................................................6
图
8.用
LV4051扩展按键
.............................................................................................................7
图
9.LV4051的寄生电容
.............................................................................................................7
图
10.检测窗口长度和检测精度的关系
...........................................................................................8
图
11.新张驰振荡检测技术的系统框图
...........................................................................................9
图
12.新张驰振荡检测技术的检测方法
...........................................................................................9
图
13.新检测方法下的检测时间和检测精度对比
..........................................................................10
图
14.两种按键扩展方法比较
.......................................................................................................10
1.触摸式应用要求更多的按键经过多年的技术演进和量产检验
触摸式按键技术如今日趋成熟.由于具有方便易用,时尚和低成本的优势,越来
越多的电子产品开始从传统的机械按键转向触摸式按键.新的应用对触摸式按键提出了新的需求,其中之一就是要求的按键数目显著增加.一些家电产品如电磁炉需要20多个按键
.另一方面,电容式触摸按键检测精度的提升也使得以往使用电阻式触摸技术来满足需求高分辨能力的应用,比如触摸屏,有机会采用成本更加低廉的电容式触摸技术,这些应用需求反过来又推动了在电容式检测技术中增加按键数目的要求.
目前世面上的电容触摸方案多为专用集成电路,而基于MSP430的张驰振荡触摸按键技术采用的是纯软件的按键检测技术.我们可以针对不同的应用,不同的噪声环境,集成不同的滤波算法.因此,MPS430触摸按键方案拥有良好的抗干扰性能,非常适合由交流电驱动的电子设备,比如家用电器.如何使我们的方案支持更多的按键将是下阶段摆在我们面前的问题.
2.基于MSP430的张驰振荡触摸按键方案简介在讨论按键扩展问题之前,我们简单的回顾一下基于MSP430触摸按键的实现原理.下图1显示了利用MSP430的内置比较器构建张驰振荡结构,实现触摸按键的系统框图:
图1.基于MSP430的张驰振荡触摸按键原理
MSP430的内置比较器和外部的冲放电电阻Rc以及感应电容Csensor一起构成了一个张驰振荡器结构.而感应电容Csensor就是这个振荡器的调协元件,Csensor的任何变化都相应的改变张驰振荡器的谐振频率.我们利用MSP430内置的定时器A来采样振荡频率,从而可以检测到Csensor的变化.片外的三个阻值为R的电阻网络提供了比较器的参考电压,而这个参考电压受到比较器的输出的反馈激励,其电压值在1/3VCC和2/3VCC之间反复变换
造成张驰振荡器的持续振荡.振荡的频率可以由以下公式计算:
fOSC=1/[1.386×RC×CSENSOR]
电容式触摸按键的按键扩展方法
从上述公式中可以看到,振荡频率和传感器的电容值成反比,因此只要检测出振荡频率就可以得出传感器的电容.而频率是周期的导数,只要采样到振荡周期就可以反推出我们需要的电容值.
我们在计算振荡周期是采用如图2所示方法:
在固定是时间窗中计数完整的振荡周期个数
用时间窗的长度T除以计数的个数n就是采样的周期.实际应用中我们可以进一步简化
:
我们关心的并不是电容容值的绝对值,而是相对变化量.因为周期(频率)和感应电容的容值存在一一对应的关系,而在采样窗口T固定的情况下,振荡周期也由振荡次数n唯一确定
因此我们可以直接用n来作为按键触发的判据.
图2.振荡频率计算原理
在上述实现方法中,我们使用MSP430片内的12KHz低速振荡源VLO驱动MSP430内置看门狗WDT来产生检测窗口.MSP430片内的定时器A用来计数检测窗口中的振荡次数
.程序在检测窗口的下降沿和上升沿分别捕获定时器A的输出,两次捕获的定时器计数差就是采样窗口中振荡的次数n.
为方便分析,基于n我们作如下定义:
Base_C:
感应电容为基电容
(没有按键触发
)时对应的振荡次数
Delta_C:
本次检测的振荡次数相对于基电容时振荡次数的变化量
只要确定了
Base_C,每次检测完毕
我们用当次检测的结果减去
Base_C就可以得到
Delta_C.如前文分析,
Delta_C的值可以作为按键触发的判决依据
.
需要详细了解
TI张驰振荡触摸按键技术细节的读者
可以参考我们的另一篇技术文档
SLAA363PCB-Based
CapacitiveTouchSensingWithMSP430.
3.扩展按键方法
电容式触摸按键的按键扩展方法
在张驰振荡触摸按键方案中
每一个按键需要连接到片内比较器的输入口线上
.MSP430内置的比较器拥有一
个8位线的复用器
从图1的结构中可以看出
我们需要一个比较器输入口来作为参考电压输入
因此最多还可以
直接连接7个按键
.考虑到很多触摸式按键应用会使用比较小的
MSP430芯片比如MSP430F2011/F2111,在这些
芯片中,某些比较器输入端和
TACLK和CAOUT复用在一起
也没法用于连接按键
.所以实际可用的按键接入口
只有6个.这样的按键数目对于很多应用都是远远不够的
.为了扩展按键
本文向大家介绍两种方法
:
口线复用和
使用外部I/O扩展芯片.
3.1口线复用
口线复用运用了数学组合的原理
.在这种方式下
每一个触摸按键会由两块或多块铜皮组成
而每一个片内比较
器的输出口线会同时连接到不同的按键的铜皮上
.这样当一个按键被触发时
该按键所对应的几个比较器输入
口线会同时检测到电容变化
由于每个按键对应的口线组合都是独一无二的
我们可以在软件中区分出究竟是
哪个按键被触发
.因为经过口线组合后的组合特征量会大于原始的口线个数
所以这种方法可以用来扩展按键
数量.
图3.口线复用扩展方法
图3是一个应用实例
在这个例子中采用了
2线组合
根据组合数原理
我们可以从
5个比较器输入口线中得到总
共10种不同的组合
也就是10个按键.
C5C2=10
口线组合方法的最大优点是不需要增加额外的电子元器件或
IC,是成本最低的解决方案
.但是它的局限性也非
常明显.首先,按键扩展的数量受到数学组合以及组合深度的限制
.理论上来说
以5根比较器输入口线位基础
我们最多可以复用出
31个不同的组合
:
C5C1+C5C2+C5C3+C5C4+C5C5=5+10+10+5+1=31
事实上,深度的口线复用在物理上是无法实现的
:
在考虑PCB版图时,一个按键很难容纳太多的铺铜片
.一般情
况下,2线组合的复用方式在纯按键应用中是比较常见和易于实现的
.
电容式触摸按键的按键扩展方法
口线复用的另一个问题是灵敏度的降低
.我们知道触摸式电容按键的电容计算可以由以下公式得出
:
ε0εrA
C
=
d
从上式可以看出
电容的容值和铜皮的正对面积成正比
.当我们使用口线复用方法时
一个按键包含多个铜皮
每一块铜皮的面积因此减小为原来的几分之一
而电容变化量
Delta_C也会相应减小
.图4给出的实验数据证实
了电容随铜皮大小的变化趋势
.
图4.灵敏度受按键大小影响
过低的灵敏度会造成很多问题
比如按键反应迟钝
抗干扰能力减弱等
.尤其是当面板厚度超过
5毫米时
按键可
能完全失去功能
.
总而言之,口线复用的方法非常适合于按键数目不超过
10个的应用
.而另一个合适的应用场景是触摸式滑动条
和触摸屏,因为在这类应用中可以使用比较高的复用深度
.图5是使用MSP430F2011设计的触摸划动条
.
图5.使用口线复用方式设计的触摸式滑动条
电容式触摸按键的按键扩展方法
采用口线复用方式时还有一个潜在的应用问题,因为客户在使用按键时有时会按偏,如果正好按到按键的左半
部分或右半部分,因为只有一个或一部分铜皮受到感应,可能会造成程序的误判断.因此按键的PCB设计需要改
进.对于复用的按键,其走线最好是采用交错的形式,如图6的B部分所示.
A.普通走线B.交错走线
图6.口线复用方式下的按键走线
3.2使用外部I/O扩展芯片
图7.使用外部I/O扩展芯片扩展按键
相对于口线复用的方法,使用外部I/O扩展芯片更容易实现和理解.图7显示了该方法的结构框图:
一个专用的I/O扩
展芯片连接到MSP430的一个比较器输入接口线上,如此我们便可以用这个比较器接口线来控制所有连接到I/O扩展
芯片扩展端的按键了.一般来说普通的
I/O扩展芯片都可以做到
1对8个或16的扩展,因此使用这种方法可以轻松的扩
展到几十个按键.图8是一个应用实例.利用两个1对8的扩展芯片
LV4051,我们的演示板用MSP430F2111轻松实现
了对17个按键的控制
电容式触摸按键的按键扩展方法
图8.用
LV4051扩展按键
使用外部I/O扩展芯片增加按键的方法由于没有影响按键大小
不会直接降低按键的灵敏度
.但是外部
I/O扩展
芯片并不是理想无损的
I/O通道复用器
.比如LV4051,它的输入和输出端都有寄生电容的存在.这些寄生电容的等
效电路如图9所示.
图9.LV4051的寄生电容
因此,如果在按键和比较器输入端口线之间加入了LV4051之类的扩展芯片
扩展芯片的寄生电容就和触摸式按键的
感应电容形成并联的结构,寄生电容的容值会直接累加到按键电容的基电容
Base_C上.从理论的角度看
因为我关
心的是感应电容的变化量Delta_C,基电容Base_C的增加并不会直接影响到按键的灵敏度.但是在实际应用中
由于
我们是用定时器A的计数值来表征容值大小,即使Delta_C没有减小
Base_C的增加也会造成Delta_C/Base_C比率
下降.假如检测窗口的大小固定
那么检测到的
Delta_C绝对数值会减小
.举例来说
LV4051输入输出端的寄生电容
加起来大概是25pF左右,一般按键的感应电容在10pF左右,假如使用5毫米的面板,感应电容的变化量大概只有
0.2~0.3pF,那么Delta_C相对于Base_C的比率将由没使用LV4051时的2%降至0.5%.其结果是
在这样小的比率下
Delta_C的绝对数值只能达到各位数
远远不能满足高于噪声门限的要求.因此要在使用外部I/O扩展芯片的情况下
为保证Delta_C的分辨率,只有延长检测窗口.
我们在使用外部I/O扩展芯片的情况下
对于检测窗口长度和灵敏度
(Delta_C)分辨率的关系进行了一个测算
.如图10
电容式触摸按键的按键扩展方法
所示.在这个测算用例中,冲放电电阻RC的阻值是51k,张驰振荡器的振荡频率大致在330-kHz左右.图10的X轴
表示实测的Base_C/(Delta_C)大小,Y轴是检测窗口的长度.通常情况下为了保证远离噪声门限的,我们希望
Delta_C至少在几十的量级以上.那么从图10中我们可以看到左起第三栏可以满足要求.以此为标准计算采样
时间.每一个按键的检测需要8192/330~=25ms.如果是一个8按键的应用,一轮检测需要200毫秒左右.如果是更多
的按键则需要更长的时间.即便是200毫秒,也会使按键的反应变得非常迟钝,不能满足绝大多数应用的要求.
64(0)
512(3)
8192(50)
32768(199)
0
20
40
60
80
100
ScanningTime
(ms)
Base_C(Delta_C)
(inTimer_Acount)
ScanningTimeVs.CapacitanceResolution
OsillationFrequency330kHz
图10.检测窗口长度和检测精度的关系
4.改进的检测技术
从上述分析可以看出,能否使用外部I/O扩展芯片增加按键数量的关键在于缩短单个按键的检测时间.为了解决这个
问题,我们需要对传统的张驰振荡检测技术进行改进.图11和图12显示了新的张驰振荡检测技术的系统框图和基本
原理.
Capture
电容式触摸按键的按键扩展方法
图11.新张驰振荡检测技术的系统框图
在新的方式下
张驰振荡器的输出
CAOUT不再作为高速的时钟去驱动定时器
A计数,而是作为一个低速的时钟
来形成检测窗口
.同时我们用另一个高速的
16MHz时钟SMCLK来计数由张驰振荡器
CAOUT输出的
N个周期信
号的长度.
(Fast)CAOUT
1stSWTAR
Capture
measurementwindow
TACCR1
NSWTAR
Capture
(Very
MeasureStart
MeasureStop
TAR
FAST)
SMCLK
图12.新张驰振荡检测技术的检测方法
图12给出更为详细的系统运作方式
.定时器A工作在捕获模式
张驰振荡器输出
CAOUT作为定时器
A的捕获源
.
另一个16MHz的高速时钟
SMCLK驱动定时器
A来计数.开始检测时
程序记录下第一个
CAOUT上升沿时定时
器A的计数值
之后一直到第
N个CAOUT结束时
再记录下当时的定时器
A计数值.这样两个计数值的差就是
N
个完整张驰振荡器振荡周期的时间量
.
现在我们可以计算出新的检测方法下检测每个按键消耗的时间
:
在与图
10用例相同的要求下
我们需要
Base_C达到8192,Delta_C达到50.我们的MCU跑在16MHz的时钟下,那么8192个主频周期需要
8192/16=512微秒.现在的检测时间只有原来的
1/48.图13给出了新旧两种方式下检测时间的对比
.如果使用新
的检测方法
即使是20个按键的应用我们也可以在
10毫秒内检测完毕
丝毫不会影响按键响应速度
.有了新的
检测方法,传统的电阻式触摸屏这类包含上百个触摸单元的应用将有机会由成本更为低廉的电容式技术取代
.
电容式触摸按键的按键扩展方法
MeasurementWindowVS.ScanningTime
ImprovedROapproach
ROapproach
100
90
80
70
60
Scanning50
Time(ms)40
30
20
10
0
64(0)
Base_C(Delta_C)
512(3)
8192(50)
32768(199)
新检测方法下的检测时间和检测精度对比
本文附带了使用新检测技术的演示程序.该程序设定在MSP430F2121演示板上运行.读者只需要根据自己的
需求重新配置端口,就可以简单的移植到自己的平台上.
本文介绍了在现有的MSP430张驰振荡触摸按键技术上两种按键扩展的方法.每种方式都有各自的有缺点和适
图13.
5.总结
合的应用场景.现总结在下图14中:
按键扩展方式易用性成本灵敏度检测时间应用场景
口线复用一般无decreased不变少于10个按键的应用;滑条
I/O扩展芯片好需要额外ICunchanged延长多于10个按键的应用
图14.两种按键扩展方法比较
总的来说,如果触摸式按键应用不是特别复杂,所需按键数目小余10,可以采用口线复用的方式降低成本.假如
按键数量要求较多,用I/O扩展芯片的方法会更容易实现.无论使用哪一种按键扩展方法,我们都推荐使用本文
所介绍的新的检测技术,来降低检测时间提高响应速度.
当然,任何应用都有其特殊性,而不能简单的以本文提出的10个按键的标准来选择按键扩展方式.在很多情况
下,我们需要根据产品的特点来选择真正合适的方法.甚至
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MSP430 触摸屏 中的 应用