很多LCD模块都采用了电阻式触摸屏,这些触摸屏等效于将物理位置转换为代表X、Y坐标的电压值的传感器。通常有4线、5线、7线和8线触摸屏来实现,本文详细介绍了SAR结构、四种触摸屏的组成结构和实现原理,以及检测触摸的方法。
电阻式触摸屏是一种传感器,它将矩形区域中触摸点(X,Y)的物理位置转换为代表X坐标和Y坐标的电压。很多LCD模块都采用了电阻式触摸屏,这种屏幕可以用四线、五线、七线或八线来产生屏幕偏置电压,同时读回触摸点的电压。
过去,为了将电阻式触摸屏上的触摸点坐标读入微控制器,需要使用一个专用的触摸屏控制器芯片,或者利用一个复杂的外部开关网络来连接微控制器的片上模数转换器(ADC)。夏普公司的LH75400/01/10/11系列和LH7A404等微控制器都带有一个内含触摸屏偏置电路的片上ADC,该ADC采用了一种逐次逼近寄存器(SAR)类型的转换器。采用这些控制器可以实现在触摸屏传感器和微控制器之间进行直接接口,无需CPU介入的情况下控制所有的触摸屏偏置电压,并记录全部测量结果。本文将详细介绍四线、五线、七线和八线触摸屏的结构和实现原理,在下期的文章中将介绍触摸屏与ADC的接口与编程。
SAR结构
SAR的实现方法很多,但它的基本结构很简单,参见图1。该结构将模拟输入电压(VIN)保存在一个跟踪/保持器中,N位寄存器被设置为中间值(即100...0,其中最高位被设置为1),以执行二进制查找算法。因此,数模转换器(DAC)的输出(VDAC)为VREF的二分之一,这里VREF为ADC的参考电压。之后,再执行一个比较操作,以决定VIN小于还是大于VDAC:
其后,SAR的控制逻辑移动到下一位,将该位强制置为高,再执行下一次比较。SAR控制逻辑将重复上述顺序操作,直到最后一位。当转换完成时,寄存器中就得到了一个N位数据字。
图2显示了一个4位转换过程的例子,图中Y轴和粗线表示DAC的输出电压。在本例中:
1. 第一次比较显示VIN小于VDAC,因此位[3]被置0。随后DAC被设置为0b0100并执行第二次比较。
触摸屏原理
触摸屏包含上下叠合的两个透明层,四线和八线触摸屏由两层具有相同表面电阻的透明阻性材料组成,五线和七线触摸屏由一个阻性层和一个导电层组成,通常还要用一种弹性材料来将两层隔开。当触摸屏表面受到的压力(如通过笔尖或手指进行按压)足够大时,顶层与底层之间会产生接触。所有的电阻式触摸屏都采用分压器原理来产生代表X坐标和Y坐标的电压。如图3所示,分压器是通过将两个电阻进行串联来实现的。上面的电阻(R1)连接正参考电压(VREF),下面的电阻(R2)接地。两个电阻连接点处的电压测量值与下面那个电阻的阻值成正比。
为了在电阻式触摸屏上的特定方向测量一个坐标,需要对一个阻性层进行偏置:将它的一边接VREF,另一边接地。同时,将未偏置的那一层连接到一个ADC的高阻抗输入端。当触摸屏上的压力足够大,使两层之间发生接触时,电阻性表面被分隔为两个电阻。它们的阻值与触摸点到偏置边缘的距离成正比。触摸点与接地边之间的电阻相当于分压器中下面的那个电阻。因此,在未偏置层上测得的电压与触摸点到接地边之间的距离成正比。
四线触摸屏
四线触摸屏包含两个阻性层。其中一层在屏幕的左右边缘各有一条垂直总线,另一层在屏幕的底部和顶部各有一条水平总线,见图4。为了在X轴方向进行测量,将左侧总线偏置为0V,右侧总线偏置为VREF。将顶部或底部总线连接到ADC,当顶层和底层相接触时即可作一次测量。
为了在Y轴方向进行测量,将顶部总线偏置为VREF,底部总线偏置为0V。将ADC输入端接左侧总线或右侧总线,当顶层与底层相接触时即可对电压进行测量。图5显示了四线触摸屏在两层相接触时的简化模型。对于四线触摸屏,最理想的连接方法是将偏置为VREF的总线接ADC的正参考输入端,并将设置为0V的总线接ADC的负参考输入端。
五线触摸屏
五线触摸屏使用了一个阻性层和一个导电层。导电层有一个触点,通常在其一侧的边缘。阻性层的四个角上各有一个触点。为了在X轴方向进行测量,将左上角和左下角偏置到VREF,右上角和右下角接地。由于左、右角为同一电压,其效果与连接左右侧的总线差不多,类似于四线触摸屏中采用的方法。
为了沿Y轴方向进行测量,将左上角和右上角偏置为VREF,左下角和右下角偏置为0V。由于上、下角分别为同一电压,其效果与连接顶部和底部边缘的总线大致相同,类似于在四线触摸屏中采用的方法。这种测量算法的优点在于它使左上角和右下角的电压保持不变;但如果采用栅格坐标,X轴和Y轴需要反向。对于五线触摸屏,最佳的连接方法是将左上角(偏置为VREF)接ADC的正参考输入端,将左下角(偏置为0V)接ADC的负参考输入端。
七线触摸屏
七线触摸屏的实现方法除了在左上角和右下角各增加一根线之外,与五线触摸屏相同。执行屏幕测量时,将左上角的一根线连到VREF,另一根线接SAR ADC的正参考端。同时,右下角的一根线接0V,另一根线连接SAR ADC的负参考端。导电层仍用来测量分压器的电压。
八线触摸屏
除了在每条总线上各增加一根线之外,八线触摸屏的实现方法与四线触摸屏相同。对于VREF总线,将一根线用来连接VREF,另一根线作为SAR ADC的数模转换器的正参考输入。对于0V总线,将一根线用来连接0V,另一根线作为SAR ADC的数模转换器的负参考输入。未偏置层上的四根线中,任何一根都可用来测量分压器的电压。
检测有无接触
所有的触摸屏都能检测到是否有触摸发生,其方法是用一个弱上拉电阻将其中一层上拉,而用一个强下拉电阻来将另一层下拉。如果上拉层的测量电压大于某个逻辑阈值,就表明没有触摸,反之则有触摸。这种方法存在的问题在于触摸屏是一个巨大的电容器,此外还可能需要增加触摸屏引线的电容,以便滤除LCD引入的噪声。弱上拉电阻与大电容器相连会使上升时间变长,可能导致检测到虚假的触摸。
四线和八线触摸屏可以测量出接触电阻,即图5中的RTOUCH。RTOUCH与触摸压力近似成正比。要测量触摸压力,需要知道触摸屏中一层或两层的电阻。图6中的公式给出了计算方法。需要注意的是,如果Z1的测量值接近或等于0(在测量过程中当触摸点靠近接地的X总线时),计算将出现一些问题,通过采用弱上拉方法可以有效改善这个问题。 转自:http://lyingjun.blog.163.com/blog/static/2690579120076994716168/ |