嵌入式的触摸屏校准算法研究外文翻译资料
2022-10-16 16:02:29
英语原文共 6 页,剩余内容已隐藏,支付完成后下载完整资料
嵌入式的触摸屏校准算法研究
摘要
本文首先分析了触摸屏和液晶显示器 (LCD) 之间生成的错误的原因和分类。针对现有嵌入式的触摸屏校准算法的不足,提出了五点校准算法 (也称为多点平均校准算法)。然后,介绍了该算法的数学理论基础。对此提出了整型运算取代浮点运算从而可以得到更好的计算。整型运算可以适应的嵌入式设备的特点和要求。同时,提出偏差校正方法以提高算法的实用性。最后,通过程序实现的算法。实验结果表明该算法是准确和具有实际价值。
索引条款 — — 触摸屏;液晶显示器;5 点校准算法;整数运算;纠偏
一 .导言
触摸屏,具有优异的硬度和耐久性、 快速反应、 小空间消费和易操作模式,是现在广泛应用于嵌入式系统的人机接口。目前这项技术在 PC 的方向显示方向发展的趋势。触摸屏是绝对坐标系统,可以直接选取的点 (如鼠标) 的相对定位系统具有本质的不同。它也可以作为输入或输入的设备的显示终端。有很多各种各样的触摸屏可以分为电阻、 电容、 表面声波和红外扫描等。电阻式触摸屏是最受欢迎的。其原理是通过测量电阻值的水平和垂直获得接触点的坐标。
电阻式触摸屏是一般都是由 4 层透明膜。自底向上是 ︰ 玻璃基板、 ITO 导电下层,上层的 ITO 导电层和塑料层。之间的上部和下部 ITO 导电层隔开绝缘透明细颗粒。当触摸屏幕表面无压力,上部和下部的 ITO 导电层是处于打开状态。一旦按下触摸屏上的一个点,上下层将导电。当按下不同的点时,点到输出端的电阻值也是不同的。因此,系统输出电压值 (模拟) 的点所对应的位置。然后点的 XY 坐标值可以经 A / D 转换。
数据处理的触摸屏是点的物理坐标,点的通过采集的触摸屏控制器;而液晶显示器 (LCD) 加工对象是像素。例如,该分辨率是通常所说的 240 times; 320。实际上,这意味着每个线条的宽度是 240 像素,高度 320 像素。触摸屏的精度是由 A/D 转换器的位数决定的。它的数字的位数是 8,9,10 个或更多。一般来说的准确性就越高,效果越好。然而,这种装置的触摸屏安装在液晶显示器的表面并不一定需要很高精度 A/D 转换器 [3]。液晶电视有了自己固定的决议。如,为 240 times; 320 分辨率 LCD,最大值的 1/320 精度是不够的。因此,它在最需要 9 位 A / D 转换器。事实上,1/320 精度要求可能不是实际的应用程序所需的。例如,经常出现在应用程序界面中的按钮是包含点数目大的矩形区域。任何两个按钮之间的距离也是很大,所以就没有必要这么高的准确性。可以看到,触摸屏和液晶是两个不同的物理设备。某些转换是需要两者之间。第二,当液晶屏上安装了触摸屏,不可避免地会有一些错误,例如旋转、 平移。这种情况,解决了校准。进一步,电阻式触摸屏材料本身是不同的。而且随着时间的推移,参数会改变 [4]。因此频繁的校准也是必需的。上述因素导致偏差的点的坐标,触摸屏和液晶屏之间。在这种情况下,用户可能无法正常操作的用户界面,通过触摸屏的液晶屏上。触摸屏,在投入运行前应进行校准。
二.分析触摸屏校准算法
A.触摸屏和液晶显示器 (LCD) 之间生成的错误的分析
虽然触摸屏和液晶显示器之间产生的错误由若干因素引起的这些错误可以主要归因于两个因素 ︰ 第一是触摸屏和液晶屏是不同的物理元素,所以解析错误情况自然会出现,如图 1 (a) 所示。如图 1 (a),图 1 (b) 和图 1 (c) 所示,点 P(X, Y) 是触摸屏的坐标系统,坐标,而 P 点的对应点 P 的 LCD 坐标系统的坐标。如图所示,在图 1 (a),
是 X 方向分辨率液晶屏和触摸屏之间比值。 K X X X X K
是 Y 方向分辨率液晶屏和触摸屏之间比值。 Y Y K Y Y K
一般来说,触摸屏和液晶显示器的分辨率是规则的安排。所以,和可以被看作是线性。X Y K
第二个因素是触摸屏的液晶屏,包括位移误差和旋转误差,如图 1 (b) 和 (c) 所示上安装后,将生成机械错误。
如图所示,在图 1 (b),
是触摸屏在 X 方向的偏移的量。 X X X X
是触摸屏在 Y 方向的偏移的量。 Y Y Y Y
如图所示,在图 1 (c),
是点与点之间的距离,theta; 是触摸屏的偏移的角度是相对于 x 轴的正方向。cosX R R (0,0) OP
sinY R
是点与点之间的距离,是旋转的触摸屏和液晶屏之间的偏移的量。 cos() X R ❑ R (0,0) OP ❑
sin() Y R ❑
B.数学分析校准算法
为了解决的触摸屏和液晶屏的同一点的坐标不一致的问题,可能理论空间和实际空间之间建立一种线性标定算法。这样做,当我们获得由触摸屏驱动程序,某些点的坐标的 LCD 坐标可以得到线性校准算法。
触摸屏校准方法包括 ︰ 两个点校准、 三点标定和 N 点标定 [5] 等等。两点校准方法的精度较低,而是更高的 [6] 的三点标定方法和进一步改进很有可能。一般来说,收集了更多的积分,越高的标定精度会。然而,太多的点将原因冗余,这是很少使用校准精度的提高,但只会增加计算时间。因此,我们采用五点校准算法 (也称为多点平均校准算法)。
在触摸屏幕坐标空间,并形成由 4 顶点和 2 的对角线,如图 2,其中,理论三角形 (LCD 坐标空间) 的虚线立场,实线的站实际的三角形 (触摸屏幕坐标空间) 所示可以分割成 4 三角形的完整的矩形的中心点 (即第五个点) 中选择一个矩形。
三个触摸屏和液晶屏之间生成的错误的分析了种以上,如果液晶屏和触摸屏之间的角度差异很小,
错误的理论和实际的空间之间可以视为线性 [7],然后触摸屏和液晶屏上的所有点的对应关系可以建立 [8]。我们假定,所有点的坐标上触摸屏和液晶屏完全相对应,即在液晶中的任何点的坐标是,触摸屏在任何点的坐标是,可以建立以下线性关系 ︰ L P (,) L L X Y T P (,) T T X Y
(1) L T T L T T X X B Y C Y D X E Y F
其中,A、 B、 C、 D、 E、 F 站坐标换算系数 (也称为校准系数)。从上面的公式中,我们可以算出的六个坐标转换系数只是由 3 采样点的触摸屏上的坐标和液晶中的相应坐标。
首先,我们选择的两个三角形,例如一个实际三角 ADV (触摸屏) 和一个相应的理论三角形,和替代坐标的两个三角形、、;代入公式 (1-1)。所以,将得到以下公式: Arsquo;Drsquo;Vrsquo;(LCD),D(XL1,YL1),V(XL2,YL2);Arsquo;(XT0,YT0),Drsquo;(XT1,YT1),Vrsquo;(XT2,YT2)
可以通过高斯消元法解决方程集。所以,这些六个动力系数表达式可以得到如下 ︰
六个动力系数分享共同特点,其值如下 ︰ K
可以用相似的方式得到的三角形的剩下的三个对坐标转换系数,可以得到转换系数 (四个组的变换矩阵) 的四组。如果给出了实际的触摸屏上点的坐标,4 理论值在液晶屏可单独使用的转换系数,四个组,然后可能平均 4 理论值,获得只有理论值。
C.整数执行五点校准算法
基于以上的数学分析,触摸屏校准算法可能实现编程。一般情况下,执行浮点也更精准。然而,大量的浮点运算应用到嵌入式设备将导致一定程度的性能损失。不,有的是需要得到非常精确的校准触摸屏。[9] 例如,用户点击屏幕上某一个点,其理论的坐标是 (20,20) 和实际的坐标是 (21、 21),这种情况不会导致一个严重的问题。
基于以上的分析,还有根本不需要再使用浮点运算造成的额外开支,在触摸屏校准算法实现嵌入式的设备,所以,整数算术是通过为预期的目的,将会产生更好地计算性能 [10]。
与浮点运算相比,整数算法用于上述算法的实现,具有另一种 2 优点 ︰
1) 用于存储坐标转换系数的四组通过了 4 个整数阵列后,被节约一半的内存空间;
2) 当高斯消去法用于确定是否有解决方案,分母应相比是浮点执行,特别是低,而我们只需要确定是否分母为零的整数执行的某些实数
为了进一步减少精度损失,我们左可以移位 n 倍 (例如,10 倍) 的校准系数来实现增加 2n 倍和肯定,最终的结果应正确转移缩小相同的倍。
D.5 点校准算法偏差校正方法
当使用上述校准算法时,标定过程一般是 ︰ 点击触摸屏中的交叉字符显示之后,它以获得实际坐标的触摸屏驱动程序 [11]。如果运算符水龙头是相当远的地方的点形成的交叉性质由于误操作或其他意外的情况,将获取的校准系数和实际的一大区别。液晶屏坐标不准确,这种系数,即使用户不能正常使用触摸屏。为解决问题、 坐标转换系数 (或校准系数),得到校准可用于计算触摸屏幕上的一个点的 LCD 坐标校准完毕,如果计算的 LCD 坐标基本上可以匹配实际的坐标转换系数可能为未来校准存储组。如果计算的坐标明显偏离实际,需要重新校准。
三、 程序算法实现的校准
触摸屏校准过程的程序是 ︰ 首先,显示 5 点与固定坐标,然后点击 5 点一个接一个,然后获得通过触摸屏驱动坐标和计算标定系数的标定子程序 [12]。
完成校准过程分为六个部分 ︰ 初始化 (包括初始化的 CPU 时钟、 串行接口初始化和触摸屏幕初始化液晶初始化),屏幕显示,访问 (通过中断处理程序) 的坐标,计算标定系数、 纠偏、 校正系数的存储一个主程序和两个子程序组成。
程序流是如图 3 所示。
图 4。五个校准点显示液晶屏
图 5。纠偏
四.算法测试
A.测试环境
用 S3C2440A ARM9 开发板进行了试验,外部 4 线电阻式触摸屏和 240 times; 320 像素 3.5 英寸 TFT 真彩色液晶屏幕 (垂直屏幕)。与 pc 机通过串行接口连接发展理事会和 pc 机用于进行联机调试的程序通过在开发板的 JTAG 接口和使用 ADS1.2 集成的开发环境。
B.实验过程
4 点之间选定 5 校准点分别位于屏幕的四个角为 4 点和屏幕边缘之间,须留差线性度的触摸屏幕边缘,一些距离。这些点之间的空间须广泛,足以减少缩放的误差尽可能多地。根据的高度和宽度 (240 times; 320) 的屏幕,应选择 5 校准点,其坐标是 (20,20),(20,300),(220,300)、 (220,20) 和 120 (160) 左的 top→left bottom→right bottom→right top→the 中心和显示的顺序由' '和图 4 所示,应在 5 点,显示序列号。然后,按顺序左的 top→left bottom→right bottom→right top→the 中心,通过使用触摸笔,单击 5' '符号如图 4 所示。
CPU 时钟初始化是设置所需的时钟频率。S3C2440A 外部晶振频率为 12 MHz。倍频后 FCLK 提供的 CPU 时钟信号的频率是 400 MHz,用于 AHB (先进的高性能总线) 的 HCLK 频率是 100 MHz,和 PCLK 频率用于 APB (先进的外设总线) 为 50 兆赫。
触摸屏的初始化更重要的是包括设置 A/D 转换频率、 设置触摸屏幕界面模式和设置中断。当用户点击触摸屏,触摸屏的坐标可以通过中断服务子程序。设计的中断服务子程序在触摸屏幕上,首先,'等为中断模式'设置。中断后生成,汽车 (顺序) X / Y 位置转换模式设置,并按顺序得到接触点的坐标值。串行接口用于输出标定系数和其他验证信息。初始化串行接口包括设置串行端口波特率、 数据位、 奇偶校验位,停止位,等等。初始化液晶准备显示' '和在屏幕上的序列号。
C.实验结果
图 4 所示的 5 校准点先后被窃听。根据图 6 中的串行接口输出信息,可以看到 5 协调 (XP,YP) 的触摸屏幕应通过中断服务子程序。为每个组的校准系数,其共同的目的首先是输出,然后每个组 (A、 B、 C、 D、 E 和 F) 的分子,过程是有点不同于以往的数学分析。由于整数算法应用在校准算法中,如果我们直接除以分子分母,一旦分子小于分母,商可能是 0,不符合实际情况。因此,在图 6 中的校准系数 (A、 B、 C、 D、 E 和 F) 是实际系数的分子。图 6 中的最后两行是一个触摸屏的坐标和相应的转换液晶坐标。屏幕截图受空间的限制,只给了坐标 (742,一个触摸屏的 367) 和相应的液晶显示坐标 (51,102)。可以发现 lcd 显示器和触摸屏幕坐标值存在数值较大的差距。
在主程序中的偏差校正功能的具体实现基于获取的校准系数。点击触摸屏上的一个点,然后计算 LCD 坐标,和为中心,画一个小的实心正方形与坐标,然后确定广场的位置是否在哪里使用水龙头屏幕位置相同。如果如此,校准系数应存储在内存中,否则,校准系数就应当重新计算,如图 5 所示。校准系数应存储在 EEPROM 存储器在开发板。
五、 结论
综上,参数的电阻式触摸屏幕更改为本身的物理性能,需要频繁的校准。本文提出了 5 点校准算法 (也称为多点平均校准算法) 来解决的触摸屏校准。该算法使用整数算法而不是浮点运算因此减少了内存空间和增加了计算性能,适于嵌入式设备的特点和运行环境。偏差校正函数解决了触摸屏样本点的十字线中心点的手抖或遮挡视线造成的大偏离而导致不正确的校准系数。这种功能在标定过程中能有效地降低可能的误差和提高了实用性。实验结果表明该算
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[151156],资料为PDF文档或Word文档,PDF文档可免费转换为Word