s3c2440裸机-电阻触摸屏编程(1.电阻触摸屏原理)

2023-08-02  

一、电阻触摸屏原理

触摸屏包含上下叠合的两个透明层,一般覆盖在lcd表面,两个透明层是由均匀的电阻介质组成,如下图。

当触摸屏表面受到的压力(如通过笔尖或手指进行按压)足够大时,顶层与底层之间的薄膜会产生接触,此时会形成x方向和y方向的坐标。那么x,y坐标的值是怎么得来的呢?本质上就是通过ADC转换得来的。详解如下:

触摸屏的等效电路可以看成如下图:

计算触点的X,Y坐标分为如下两步(见下图):

1.计算Y坐标:

在Y+电极施加驱动电压Vdrive, Y-电极接地,由于上下两层膜形成触点,X+做为触点的引出端,测量得到接触点的电压,触点电压与Vdrive电压之比等于触点Y坐标与屏高度之比。如下图:

2.计算X坐标:

在X+电极施加驱动电压Vdrive, X-电极接地,由于上下两层膜形成触点,Y+做为触点的引出端,测量得到接触点的电压,Y+做为引出端测量得到接触点的电压,触点电压与Vdrive电压之比等于触点X坐标与屏宽度之比。如下图:

二、电阻触摸屏的几种模式

1.等待中断模式

平时的时候上下两层膜并不粘在一起,我们把这种状态称为“等待中断模式”, 等效电路如下图的右边那幅图:

s5、s4闭合,s1、s2、s3断开,这个时候Y_ADC/XP通过S5接上拉电阻,处于高电平状态,X_ADC/YP接地。没法读取x,y坐标。

2.读取x坐标模式:

给X方向通电,也就是让S1、S3开关闭合,s2、s4断开,那么当屏幕按下,触点YP的电平就对应x坐标。(XP到XM之间是均匀的电阻介质)

x_adc电压/vcc = x坐标/width, 所以x坐标= width * x_adc电压/vcc

3.读取y坐标模式:

给Y方向通电,也就是让S2、S4开关闭合,s1、s3断开,那么当屏幕按下,触点XP的电平就对应y坐标。(YP到YM之间是均匀的电阻介质)

y_adc电压/vcc = Y坐标/height, 所以y坐标= height * y_adc电压/vcc

4.我们总结一下单次触发TS中断,使用触摸屏的流程:

<1>按下触摸屏,产生TS中断
<2>启动ADC(目的是获取x,y方向上的坐标值)
<3>ADC转换完成,产生adc中断(adc转换需要一定的时间)
<4>ADC中断中来读取x y坐标
松开,结束

我们知道,现在的手机都是支持屏幕滑动翻页和长按的功能。那么这些功能是如何做到的呢?

如何让触摸屏支持长按或者滑动操作(多次触发TS中断)

答案:定时器,当长按屏幕,会产生多次TS中断,因此我们需要用定时器来判断,当定时一段时间后,还有TS中断产生,那么我们认为是长按操作,进行中断响应。滑动也是类似的道理,当定时时间到后,如果还有TS中断产生,且坐标发生了改变,就认为是滑动操作。


<5> 启动定时器

<6> 一段时间后,定时器中断发生,判断触摸屏是否仍被按下(是否有定时器中断产生),如果有就循环上述过程<2><3><4><5>


可以用如下流程图概括TSC的整个SW flow.

TSC触摸屏中断处理流程

image


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。