采用AD7879的阻性触摸屏手势识别实现
目前,低成本阻性技术的应用市场包括:只需要单点触控、至关重要的极其精确的空间分辨率、利用触控笔 来实现特定功能(如亚洲语言符号识别等),或者用户必须戴手套的场合。虽然阻性技术传统上是用来检测屏幕上"单点触摸"的位置,但本文提出了一个创新的"两点触摸"概念,它利用阻性触摸屏控制器AD7879在廉价的阻性触摸屏上检测最常见的双指手势(缩放、捏合和旋转)。
阻性触摸屏的经典方法
典型的阻性触摸屏包括两个平行的氧化铟锡(ITO)导电层,中间的间隙将两层分开(图1)。上层(Y)的边缘电极相对于下层(X)的边缘电极旋转90°。当对屏幕的一个小区域施加压力,使这两层发生电气接触时,就发生了"触摸"现象。如果在上层的两个电极之间施加一个直流电压,而下层悬空,则触摸将使下层获得与触摸点相同的电压。判断上层方向触摸坐标的方法是测量下层的电压,以便确定触摸点处的电阻占总电阻的比值。然后交换两层的电气连接,获得触摸点在另一个轴上的坐标。
连接直流电压的层称为"有源"层,电流与其阻抗成反比。测量电压的层称为"无源"层,无相关电流流经该层。发生单点触摸时,在有源层中形成一个分压器,无源层电压测量通过一个模数转换器读取与触摸点和负电极之间的距离成比例的电压1。
由于成本低廉,传统的4线阻性触摸屏深受单点触控应用的欢迎。实现阻性多点触控的技术有多种,其中总是会用到一个矩阵布局屏幕,但屏幕制造成本高得吓人。此外,控制器需要许多输入和输出来测量和驱动各个屏幕带,导致控制器成本和测量时间增加。
手势识别实现
图1 (a) 阻性触摸屏的结构;(b) 用户触摸屏幕时的电气接触
超越单点触控
虽然如此,但通过理解并模拟该过程背后的物理原理,我们可以从阻性触摸屏提取更多信息。当发生两点触摸时,无源屏幕中的一段电阻加上触点的电阻与有源屏幕的导电段并联,因此电源的负载阻抗减小,电流增大。阻性控制器的经典方法是假设有源层中的电流恒定不变,无源层为等电位。两点触摸时,这些假设不再成立,为了提取所需的信息,需要进行更多测量。
阻性屏幕中的两点触摸检测模型如图2所示。Rtouch为层间的接触电阻;在现有的大多数屏幕中,其数量级一般与两层的电阻相同。如果有一个恒定的电流I流经有源层的两端,则有源层上的电压为:
图2 阻性屏幕两点触摸的基本模型
手势识别
以"捏合"(pinch)作为范例可以更好地描述手势识别的工作原理。捏合手势从两根分开较远的手指触摸开始,产生双重接触,使得屏幕的阻抗降低,有源层两根电极之间的电压差因此减小。随着两根手指越来越接近,并联面积减小,因而屏幕的阻抗提高,有源层两根电极之间的电压差相应地增大。
紧密捏合后,并联电阻趋于0,Ru+Rd提高到总电阻,因此电压增大到:
图3显示了一个沿着垂直(Y)轴捏合的例子。当手势开始时,其中一层的两根电极之间的电压恒定不变,另一层则表现出阶跃性降低,然后随着手指相互靠近而提高。
图3 垂直捏合时的电压测量
图4显示倾斜捏合时的电压测量结果。这种情况下,两个电压均表现出阶跃性降低,然后缓慢恢复。两个恢复速率(利用各层的电阻归一化)的比值可以用来检测手势的角度。
图4 倾斜捏合时的电压测量
如果手势为缩放(手指分开),其行为可以从上述讨论推导出来。图5显示了沿各轴及沿倾斜方向缩放时测得的两个有源层电压趋势。
图5 沿不同方向缩放时的电压趋势
利用AD7879检测手势
AD7879触摸屏控制器设计用于与4线式阻性触摸屏接口。除了检测触摸动作外,它还能测量温度和辅助输入端的电压。所有四种触摸测量加上温度、电池、辅助电压测量,均可以通过编程写入其片内序列器。
AD7879结合一对低成本运算放大器,可以执行上述捏合和缩放手势测量,如图6所示。
下面的步骤说明了手势识别的过程:
在前半周期中,将一个直流电压施加于上层(有源 层),并测量X+引脚的电压(对应于VY+ – VY–),以提供与Y方向上的运动(接近还是分开)相关的信息。
在后半周期中,将一个直流电压施加于下层(有源 层),并测量Y+引脚的电压(对应于VX+ – VX–),以提供与X方向上的运动(接近还是分开)相关的信息。
图6所示的电路需要为差分放大器提供保护,防止短接到VDD。在前半周期中,下方放大器的输出短接到VDD。在后半周期中,上方放大器的输出短接到VDD。为避免这种现象,AD7879的GPIO可以控制两个外部模拟开关,如图7所示。
图6 基本手势检测应用图
图7 避免放大器输出短接到VDD的应用图
这种情况下,AD7879设置为从机转换模式
- 三大主流触摸屏技术解析 视觉与触觉技术的统一(08-18)