下载

2下载券

加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 关于电阻屏的线性校准问题

关于电阻屏的线性校准问题.pdf

关于电阻屏的线性校准问题

漫步星空
2012-01-04 0人阅读 举报 0 0 暂无简介

简介:本文档为《关于电阻屏的线性校准问题pdf》,可适用于工程科技领域

关于电阻式触摸屏的线性校准问题引言阻性触摸屏与LCD显示器上的各点很难完全准确配合因此除了采用精确的机械装配技术校准之外在使用之前还必须进行软件校准。本文介绍的校准方法首先确定误差源然后通过三个选定点导出触摸屏的校准矩阵并用软件方法来实施点与点之间对应关系的校准。掌握这种技术对降低嵌入式系统的成本至关重要。图所示是一个阻性触摸屏的横截面其结构十分简单由上下相对放置的两层结构构成FILM和玻璃的内表面涂上薄薄一层导电材料并用一些透明绝缘隔离点(绝缘点)将导电表面隔开。当手指或铁笔按压玻璃表面时上层FILM产生弯曲接触下层玻璃。这种结构中层间的距离决定了触摸屏的敏感度。层间距离越近敏感度越小压力就要越大以使两层结构可靠接触。触笔或手指FilmITO涂层绝缘点玻璃或Film图阻性触摸屏的横截面图触摸屏的等效电路图所示是触摸屏的等效电路。通过一个触摸屏控制器(AD转换器)将电源的正、负极加到一块玻璃的导电层两端另一块玻璃上的导电层则起到一个电位计游标的作用。在玻璃上不同的触摸点导电的情况也不同数字转换器上便会录得不同的测试电压值然后控制器将录得的电压值转换成一个二维坐标:X轴坐标和Y坐标。这些控制器每秒钟可进行次或更多的采样。采样率通常与背景噪声和控制器质量有关。智能控制器还具备其它一些功能如检测到触摸时中断CPU、在检测到触摸前设定采样率连续进行采样。没有触摸时控制器处于待机状态。由于阻性触摸屏结构简单、操作易懂、所需软硬件有多个厂商可供选择因此可用于对成本敏感的设计中。然而由于触摸屏与它背后的显示器(LCD或其它)间的对应点很难完全配合因此几乎所有带阻性触摸屏的设备在出厂前均要经过一定的校准。否则在触摸屏上点击某一按钮或选择某项功能时内置的软件便无法对这一点击做出正确响应。本文介绍的校准方法需要三个目标点或测试点然后依次进行触摸测试以确定该显示屏特有的校准因数。最后通过这些校准因数将触摸屏的对应点与实际显示的对应点完全对应起来。误差的来源有几个误差源会影响触摸屏控制器使之无法产生正确的对应点X和Y坐标。最主要的误差源是电气噪声、机械误差及放大因子。此外操作者的误操作也会有所影响如手指或铁笔按压时间不够长或压力不够大。以上所有误差均会产生无用数据必须对它进行纠正补偿才能使触摸屏正常工作。在各种电气系统中由热效应或电磁效应以及系统设计缺陷引起的电气噪声无处不在。在触摸屏中由于AD转换器的前端电路具有高输入阻抗因此特别容易受到电气噪声的影响。除了对带有触摸屏控制器的电路小心布局外我们通常在AD转换器输入端增加低通滤波器来解决这一问题。此外也可选择软件方法舍弃AD转换中的最小的一、两位并用算法将一些落在允许误差范围之外的数据点从采样流中去除。这种软件算法也可消除由使用者产生的误差。本文所阐述的校准方法可用来解决由于机械误差和放大因素引起的误差。图中的圆圈表示触摸屏下的LCD显示的图形椭圆则表示当用户顺着LCD显示的图像画圈时触摸屏对应点的集合不过有所夸大。这个重建的图形显然经过一系列旋转、移位和放大而且在每个方向变换的参数不一样。校准的重点则是将触摸屏上显示的这个重建图形经过变换换算出与LCD显示的图形相一致的对应点集合。图坐标对应关系示意图校准的数学基础为了得到一个通用解决方案我们将每个点描述为一个数学参量。如图所示可将LCD显示器上的每个点当作一个矢量PD而该点在触摸屏上对应的点则当作矢量P。此外我们假设一个参量M通过这个参量可将PD与P进行换算即PD=MP()这里的M是一个转换矩阵也是我们要研究的对象。如果能得到转换矩阵M中相关的数值那么给定触摸屏上任一点P我们就可换算出它在LCD显示器上的对应点PD。现在假设LCD显示器上的任一点都与触摸屏上的某点相对应但要经过旋转、移位和放大处理。如果按矢量的长度和角度将每个点用(X,Y)两个坐标来表示则LCD显示器和触摸屏上的点都可通过以下方程式来表达:PD=[XD,YD]=[RDcosθD,RDsinθD](a)P=[X,Y]=[Rcosθ,Rsinθ](b)如果触摸屏在校准时与显示屏之间存在一个角度差异为了进行补偿要进行旋转处理即θr=θDθθr是角度差。这样我们便可得到一个中间点:P'=[Rcos〔θθr〕,Rsin〔θθr〕]()将每个点的X坐标和Y坐标以不同的因子放大得到KX和KY。考虑放大因子可以得到以下方程式它更准确地描述了LCD显示器与触摸屏上点与点之间的对应关系:P"=[KXRcos〔θθr〕,KYRsin〔θθr〕]()最后我们加上位移因子XT和YT得到LCD显示器与触摸屏上点与点之间的对应方程式:PD=[KXRcos〔θθr〕XT,KYRsin〔θθr〕YT]()为了将方程式再次变换以求取方程式中的未知量假设触摸屏和LCD显示器上点与点之间有一个角度差θr但这一角度极小因此sinθr≈θr而cosθr≈。根据这一假设我们得出另两个十分有用的近似方程式:cos〔θθr〕≈〔cosθ-θrsinθ〕(a)sin〔θθr〕≈〔sinθ+θrcosθ〕(b)通过以下组合方程式可重新表示为:PD=[KXRcosθ-KXRθrsinθ〕XT,KYRsinθθrKYRcosθ〕YT]()方程式的优点在于它采用触摸屏坐标描述了LCD显示器上的点坐标。上述方程式也可转换为:PD=[KXX-θrKXYXT,θrKYXKYYYT]()利用我们原先的假设(即实际情况中的放大、旋转和位移因数均为常量)除X和Y之外上述方程式右边的各项均为常量。通过采用更方便的方式表达XD和YD坐标我们可以得到触摸屏与LCD显示器各点之间的对应关系方程式:XD=AXBYC(b)YD=DXEYF(b)可见只有当触摸屏和LCD显示器间的角度差非常小时才可运用上述公式。校准矩阵一般的校准算法常选取个采样点来收集校准信息。假设LCD显示器上的对应点可以通过触摸屏上的点转换得到只需正好个采样点我们就可得到校准数据。需要个采样点的原因在于方程式a和b有三个未知量。从这个采样点我们可获得足够的信息来建立并求解这一联立方程组。采样点的选取也应当考虑到实际情况。它们必须能得出非冗余的联立方程组它们不能太靠近触摸屏的边缘(此处呈现非线性)此外它们的间隔必须足够宽以便尽可能减少放大误差。图所示的P、P和P这三个点符合这些条件。这些点距触摸屏边缘约分布足够散得出以下非冗余方程式:XD=AXBYC(a)XD=AXBYC(b)XD=AXBYC(c)YD=DXEYF(a)YD=DXEYF(b)YD=DXEYF(c)图从而求出A、B、C、D、E和F的值。一旦这些参数值定下来便可利用方程式通过触摸屏上的原始数据计算出它在LCD显示器上的对应点。上述联立方程组的未知量已求解出此处不再推导。直接跳过中间步骤得出最后结论将K作为各方程式的公分母便可得出未知量:K=〔X-X〕〔Y-Y〕-〔X-X〕〔Y-Y〕()A=〔〔XD-XD〕〔Y-Y〕-〔XD-XD〕〔Y-Y〕〕/K()B=〔〔X-X〕〔XD-XD〕-〔XD-XD〕〔X-X〕〕/K()C=〔Y〔XXD-XXD〕Y〔XXD-XXD〕Y〔XXD-XXD〕〕/K()D=〔〔YD-YD〕〔Y-Y〕-〔YD-YD〕〔Y-Y〕〕/K()E=〔〔X-X〕〔YD-YD〕-〔YD-YD〕〔X-X〕〕/K()F=〔Y〔XYD-XYD〕Y〔XYD-XYD〕Y〔XYD-XYD〕〕/K()软件实现实际的软件实现过程相对简单。可从wwwembeddedcomcodehtm上得到程序样本它包括三个文件:alibratec、calibrateh和samplec。第一个文件包含两个函数setCalibrationMatrix()和getDisplayPoint()。前者实现了方程式~后者则实现了方程式。启动文件包含了各种声明另一个源文件则实现了一个控制台应用程序这一程序执行校准功能并示范如何在器件中使用这些函数。samplec中的代码假设在调用这些函数前器件中实现了一个执行程序来采集校准数据。表是建议的校准步骤将这些步骤执行完毕就实现了校准过程此时设备便可开始从触摸屏系统接收精确的位置信息。触摸屏控制器中设有中断程序当程序将数字转换器的输出数据过滤后它需要调用函数getDisplayPoint()。通常getDisplayPoint()函数调用是将触摸屏某点数据存入用户输入队列以前的最后一个步骤。表:建议的校准步骤。=======================================用全组数值调用setCalibrationMatrix()以设置显示屏驱动器并提供原始存取数据(见samplec)。这样就不需要为存取数据构造特殊的函数。你只需要按照与程序一样的机制获取纵坐标。在坐标(XD,YD)画出第一个目标。收集从触摸屏返回的数据并存储在坐标(X,Y)。在坐标(XD,YD)画出第二个目标。收集从触摸屏返回的数据并存储在坐标(X,Y)。在坐标(XD,YD)画出第三个目标。收集从触摸屏返回的数据并存储在坐标(X,Y)。采用参考显示数据和其产生的触摸屏数据作为变量调用setCalibrationMatrix()函数。=================================其它考虑因素执行采样函数是为了保证每次都获得准确结果因而它的中间值未经过放大。由于多数数字转换器提供的原始数据为位因此需要进行整数型位数学运算方程式和会产生位的符号数。执行这些方程式时要使用分辨率高达,点的触摸屏数字转换器它适用于分辨率高达点(宽度或高度)的显示器。如果要在大面积的触摸屏中使用这些公式就必须使用位整数或将缩小输出值和中间结果以免在计算校准因子时寄存器出现溢出。函数getDisplayPoint()与校准矩阵有关后者包括一套有效参量这种采样结构使用自动变量来表明LCD显示器和触摸屏的对应点间以及校准矩阵间的关系不过在实际执行中校准矩阵最好是一个全局结构并在启动时正确初始化。(整理编辑:王祥北泰显示技术有限公司)

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/4

关于电阻屏的线性校准问题

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利