电阻式触摸屏校准算法的研究与设计_谭翀

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

邮局订阅号:82-946360元/年技术创新

嵌入式系统应用

《PLC 技术应用200例》

您的论文得到两院院士关注

电阻式触摸屏校准算法的研究与设计

Research and design for Calibrating the Resistance Touch Screen

(武汉数字工程研究所)

谭翀

TAN Chong

摘要:本文介绍电阻式触摸屏的基本结构和工作原理,分析常用的几种触摸屏校准算法,并且给出了在嵌入式Linux 操作系统中,基于MiniGUI 的触摸屏三点校准算法,经测试表明,该算法具有较高的校准精度。关键词:触摸屏;校准;MiniGUI

中图分类号:TP368.1文献标识码:A

Abstract:This paper firstly introduces the structure and principle of the resistance touch screen,and analyzes several kinds of calibration algorithms.It actualizes a three point calibration algorithm based on MiniGUI,and the testing results show good precision of it.Key words:Touch screen;calibration;MiniGUI

文章编号:1008-0570(2010)06-2-0035-03

1引言

在多媒体信息化飞速发展的今天,触摸屏作为一种新的电

脑输入设备,凭借其简单、

方便、自然的人机交互方式,成为目前极富吸引力的多媒体交互设备,被广泛的应用在电信、税务、银行、电力等部门的业务查询应用中,还深入到了城市信息服务、企业管理、工业控制、军事指挥、多媒体教学、娱乐等众多领域中。

触摸屏是一种高新技术产品,具有坚固耐用、反应速度快、节省空间、易于交流等许多优点。用户只要用手指轻轻地碰计算机显示屏上的图符或文字就能实现对主机操作,从而使人机交互更为直截了当,这种技术大大方便了那些不懂电脑操作的用户。市场上较为常见的触摸屏产品有四种:初期的红外线触摸屏、电容型触摸屏、电阻型式触摸屏和表面声波触摸屏,其中电阻式触摸屏是应用得较多的一种。本文主要研究电阻式触摸屏的校准算法,并给出了一种基于MiniGUI 的校准算法设计。

2电阻式触摸屏的工作原理

简单来说,电阻式触摸屏就是一种传感器,它利用压力感应进行控制,将矩形区域中触摸点(X,Y)的物理位置转换为代表X 坐标和Y 坐标的电压。电阻式触摸屏的主要部分是一块与显示器表面非常配合的电阻薄膜屏,这是一种多层的复合薄膜,它以一层玻璃或硬塑料平板作为基层,表面涂有一层导电层(透明的导电电阻),上面再盖一层经过硬化处理、光滑防擦的塑料层、它的内表面也涂有一层透明导电层层,在他们之间有许多细小的(小于1/1000英寸)的透明隔离点把两层导电层隔开绝缘。当手指触摸屏幕时,两层导电层在触摸点位置就有了接触,电阻发生变化,其中一面导电层接通Y 轴方向的5V 均匀电压场,使得侦测层的电压由零变为非零,控制器侦测到这个接通后,进行A/D 转换,并将得到的电压值与5V 相比即可得触摸点的Y 轴坐标,同理也能得出X 轴的坐标,然后再根据模拟鼠标的方式运作。这就是所有电阻技术触摸屏共同的最基本原理。

由压力感应得到坐标值的并不能达到100%的精度,它存在

着误差,其中最主要的误差源是电气噪声、机械误差及放大因子。在触摸屏中,由于A/D 转换器的前端电路具有高输入阻抗,因此特别容易受到电气噪声的影响;触摸屏本身电阻材料的均匀性以及模拟电子开关的内阻和A/D 转换器自身的转换精度会影响直接最后计算出的坐标值;用户接触触摸屏的部分于触摸屏真正对应的点的集合之间具有放大关系。由电气噪声所产生的干扰误差是随机的,而另外两方面所带来的误差是固有误差。此外,操作者的误操作也会有所影响,如手指或铁笔按压时间不够长或压力不够大等。

由于误差的存在,在触摸屏上所绘制的图形和液晶屏上的图形,对应点的集合会有所偏差。在触摸屏上点击某一按钮或选择某项功能时,内置的软件便无法对触摸屏上的点击做出正确响应,而触摸屏具有离散性,任意两个触摸点密度都不能完全一致,所以几乎所有带阻性触摸屏的设备在出厂前均要经过一定的校准。校准是一种图形重建的过程,即将图形经过变换,换算出与液晶屏相一致的点集合,现有的校准算法主要是用来改善上述中的固有误差。

图1电阻式触摸屏结构

3触摸屏校准算法的基本原理

由于电阻式触摸屏的电压成线性均匀分布,那么A/D 转换后的坐标也成线性,因此现有的触摸屏校准算法也都基于此原理。触摸屏的校准方法大致有两点校准、三点校准、五点校准等。其中校准的点数越多,触摸屏的数据越精确,其校准算法也各有不同。

3.1两点校准法

两点校准法即为取触摸屏成对角线的两个点来校准触摸

谭翀:软件工程师硕士

35--

技术创新

《微计算机信息》(嵌入式与SOC)2010年第26卷第6-2期

360元/年邮局订阅号:82-946

《现场总线技术应用200例》

嵌入式系统应用

屏。下面以取触摸屏左上角和右下角这两个点为例进行说明。

1)先触摸并获取触摸屏左上角坐标(lefttopx,lefttopy)。

2)再触摸并获取触摸屏右下角坐标(rightbottomx,rightbotto -my)。

3)计算触摸屏在水平方向和垂直方向的比率ratiox=(rightbottomx-lefttopx)/触摸屏宽度ratioy=(rightbottomy-lefttopy)/触摸屏高度4)假设触摸屏当前点的坐标为(X,Y)当前点X 坐标=X*ratiox+lefttopx 当前点Y 坐标=Y*ratioy+lefttopy 3.2三点校准法

触摸屏常和点阵式液晶显示(LCD)屏叠加在一起配套使用,构成一个矩形的实际物理平面;而由用户触摸的触摸点集合经过A/D 转换器,得到具体显示坐标的集合,这个集合构成了一个逻辑平面。由于存在误差,这两个平面并不重合,校准的作用就是要将逻辑平面映射到物理平面上,即得到触点在液晶屏上的位置坐标。校准算法的中心思想也就是要建立这样一个映射函数。

现有的校准算法大多是基于线性校准,即首先假定物理平面和逻辑平面之间的误差是线性误差,由旋转和偏移形成。如果已知触摸屏上一点A,其物理坐标为,相应的显示坐标为

,根据假定的线性关系,可以得到:

只要能够求得线性变换的参数,就可以通过等式(1)来校正从触摸屏驱动程序那里得来的显示坐标。显然,要求得的值,至少需要知道三个点的坐标。那么在触摸屏上取三个点(注意不要取边界点,并且三点的覆盖面要大),设物理坐标和显示坐标分别为和

,可以得到方程组:

通过高斯消去法,可得:

3.3五点校准法

假设将触摸屏左下角点定为物理坐标原点A,其物理坐标为(X a =0,Y a =0),其逻辑坐标为(XL a ,YL a ),那么触摸屏上任意一点B 的逻辑坐标可表达为:

(1)

其中K x 、K v 分别为触摸屏X 轴方向与Y 轴方向的系数。该系数与触摸屏具体的安装方向和其自身的特性有关。

若A 点并非坐标原点,而是任意一点,则式(1)可表达为:

(2)

由式2可以推出计算触摸屏X 轴方向与Y 轴方向系数的公式:

(3)

在触摸屏上选择位置固定的五个点,由于触摸屏边缘区域的线性不太好,应避免选择靠边的点。如图2所示。

图2五点校准法示意图

在ABCDE 对应的位置用尖状物触摸,得到五个点的逻辑坐标。根据式(3)可计算出X 轴方向和Y 轴方向系数的平均值:(4)

根据C 点的逻辑坐标,通过式(2),可得出触摸屏上任意一点F 的逻辑坐标:

(5)

4基于MiniGUI 的校准算法实现

MiniGUI 是面向实时嵌入式系统的轻量级图形用户界面支持系统,它提供了完善的图形及图形用户界面支持,具有优良的可移植性能,不论在哪个硬件平台、哪种操作系统上运行,均能为上层应用程序提供一致的应用程序编程接口(API)。目前,MiniGUI 已成为跨操作系统的图形用户界面支持系统,可以在Linux/uClinux 、eCos 、uC/OS-II 、VxWorks 等操作系统上运行,已验证的硬件平台包括Intel x86、ARM(ARM7/AMR9/StrongARM/xS -cale)、PowerPC 、MIPS 、M68K(DragonBall/ColdFire)等。MiniGUI 自

1999年发布第一个版本以来,已广泛应用于手持信息终端、

机顶盒、工业控制系统及工业仪表、金融终端等产品和领域。

本文是在嵌入式Linux 系统中,实现基于MiniGUI 的触摸屏校准程序。

从尽量降低校准运算的复杂度和尽量提高校准算法的精确度考虑,本项目选取三点校准法。校准程序在触摸屏上依次显示三个校准点,通过触摸笔点击获取三个点的物理和逻辑坐标,然后计算得出6个校准系数,并将这六个系数保存在触摸屏的非易失性Flash 存储器里。触摸屏上电后,用户可根据需要自行决定是否对触摸屏进行校准,若不进行校准,当进入该触摸屏的应用程序时,立即读出这六个系数的值,然后根据3.2小节中的等式(1)来对任一来自驱动程序的坐标值进行校准,得到用户界面的显示坐标。若进行校准,则运行校准程序,通过校准步骤可重新计算出校准系数,并保存到触摸屏的Flash 中。

36--

相关文档
最新文档