关于触摸屏校准问题及触摸屏中断过程图解
触摸屏校正方法

触摸屏校正方法 The document was finally revised on 2021
用久了出现在触摸不准不灵敏的时候的校正方法:
1、将触摸屏背面的四个拨码开关,第一个设置为ON,其余三个拨码开关位置保持不变。
正常情况下四个拨码开关均在OFF的位置,如下图:
将第一个拨码开关设置为ON (上图)
2、按一下拨码开关旁边的黑色的Reset(复位)按钮或者将人机界面重新上电。
3、人机界面启动后,会要求对触控面板进行触控校正。
校正的方法为人机界面屏幕上出现的十字光标在什么位置就触控一下这个位置,直到十字光标消失,人机界面会继续往下执行启动过程
4、校正完之后,会弹出如下对话框,询问是否要恢复为出厂设置密码如下图,请选择NO 校正完成。
记得把第一个将第一个拨码开关设置回OFF
TK6070需要把J3端子的1-2短接就行,校准完成后在恢复到7-8短接。
触摸屏校准

触摸屏校准
一、3.22触摸屏校准
触摸屏上电后迅速按住屏下方中部位置,当听到“吱”一声后抬手,进入一界面,按任意一点进入触摸校准画面,点击屏中心上出现的小黑点。
然后跟随小黑点点击屏的四个角。
返回。
二、6410;6408系列屏的校准
1.触摸屏上电后,当出现“心系健康,诚信天下”画面时,迅速快速的点击“心系健康”四个字的中部,进入设置界面。
点击“Touch Setting”按钮,在出现的选择框点“Touch Calibration”按钮,然后选择YES 键。
进入触摸校准画面,点屏中心的十字标中心2秒钟,抬起。
然后点击屏四个角落的十字图标,完成后点任意位置返回。
2.连接鼠标至触摸屏下端的USB口,重新上电,任意点击鼠标左键,进入系统设置画面。
点击“Touch Setting”按钮,在出现的选择框点“Touch Calibration”按钮,然后选择YES键。
进入触摸校准画面,点击屏中部的十字标中心。
然后点击屏四个角落的十字图标。
点任意位置返回。
三、8610;8608系列屏的校准
1、连接鼠标至触摸屏下端的USB口,重新上电,点击屏中间的触
摸校准按钮,点击屏中部的十字标中心。
然后点击屏四个角落
的十字图标。
点任意位置返回。
触摸屏上电后,点击屏中间的触摸校准按钮,进入校准画面。
点屏中心的十字标中心2秒钟,抬起。
然后点击屏四个角落的十字图标,完
成后点任意位置返回。
2、。
关于触摸屏校准问题及触摸屏中断过程图解

/*把背景填充为红色*/ Brush_Background(0xF800);
/*画校正用的三个十字坐标*/ //真实点(物理点) drawCross(24,32,0xFF0000); Draw_Text_8_16(28,36, 0x0000,0xFFFF, "1") ; drawCross(216,160,0xFF0000); Draw_Text_8_16(220, 164,0x0000,0xFFFF, "2") ; drawCross(120,288,0xFF0000); Draw_Text_8_16(124,292, 0x0000,0xFFFF, "3") ;
图 6.4 四线电阻屏等效电路图
6.5 等待中断模式等效电路
图 6.6 读取 x 坐标时的等效电路图 XZ=A×XJ+B×YJ+C YZ=D×XJ+E×YJ+F
6.7 读取 Y 坐标时的等效电路
D=[(YD0-YD2)×(YT1-YT2)-(YD1-YD2)×(YT0-YT2)] / K
E=[(XT0-XT2)×(YD1-YD2)-(YD0-YD2)×(XT1-XT2)] / K
F = [YT0×(XT2×YD1 - XT1×YD2) + YT1×(XT0×YD2 - XT2×YD0) + YT2×(XT1×YD0-XT0×YD1)] / K
保存下来的参数即可。
LCD 校准
3点校准:6个未知数K1,A1,B1,K2,A2,B2
校准公式:二元一次方程。
*
*
*
பைடு நூலகம்
XZ1,YZ1 XJ1,YJ1 XZ1=K1XJ1+A1YJ1+B1 YZ1=K2XJ1+A2YJ1+B2
触摸屏的校准方法

本文介绍的校准方法需要三个目标点/或测试点,然后依次进行触摸测试,以确定该显示屏特有的校准因数。
最后通过这些校准因数将触摸屏的对应点与实际显示的对应点完全对应起来。
误差的来源有几个误差源会影响触摸屏控制器,使之无法产生正确的对应点X和Y坐标。
最主要的误差源是电气噪声、机械误差及放大因子。
此外,操作者的误操作也会有所影响,如手指或铁笔按压时间不够长或压力不够大。
以上所有误差均会产生无用数据,必须对它进行纠正补偿才能使触摸屏正常工作。
在各种电气系统中,由热效应或电磁效应以及系统设计缺陷引起的电气噪声无处不在。
在触摸屏中,由于AD转换器的前端电路具有高输入阻抗,因此特别容易受到电气噪声的影响。
除了对带有触摸屏控制器的电路小心布局外,我们通常在AD转换器输入端增加低通滤波器来解决这一问题。
此外也可选择软件方法,舍弃AD转换中的最小的一、两位,并用算法将一些落在允许误差范围之外的数据点从采样流中去除。
这种软件算法也可消除由使用者产生的误差。
本文所阐述的校准方法可用来解决由于机械误差和放大因素引起的误差。
图3中的圆圈表示触摸屏下的LCD显示的图形,椭圆则表示当用户顺着LCD显示的图像画圈时,触摸屏对应点的集合,不过有所夸大。
这个重建的图形显然经过一系列旋转、移位和放大,而且在每个方向变换的参数不一样。
校准的重点则是将触摸屏上显示的这个重建图形经过变换,换算出与LCD显示的图形相一致的对应点集合。
校准的数学基础为了得到一个通用解决方案,我们将每个点描述为一个数学参量。
如图4所示,可将LCD显示器上的每个点当作一个矢量PD,而该点在触摸屏上对应的点则当作矢量P。
此外,我们假设一个参量M,通过这个参量可将PD与P进行换算,即PD=MP(1)这里的M是一个转换矩阵,也是我们要研究的对象。
如果能得到转换矩阵M中相关的数值,那么给定触摸屏上任一点P,我们就可换算出它在LCD显示器上的对应点PD。
现在假设LCD显示器上的任一点都与触摸屏上的某点相对应,但要经过旋转、移位和放大处理。
关于电阻式触摸屏的线性校准问题

关于电阻式触摸屏的线性校准问题1 引言阻性触摸屏与LCD 显示器上的各点很难完全准确配合,因此除了采用精确的机械装配技术校准之外,在使用之前还必须进行软件校准。
本文介绍的校准方法首先确定误差源,然后通过三个选定点导出触摸屏的校准矩阵,并用软件方法来实施点与点之间对应关系的校准。
掌握这种技术,对降低嵌入式系统的成本至关重要。
图1所示是一个阻性触摸屏的横截面,其结构十分简单,由上下相对放置的两层结构构成,FILM 和玻璃的内表面涂上薄薄一层导电材料,并用一些透明绝缘隔离点(绝缘点)将导电表面隔开。
当手指或铁笔按压玻璃表面时,上层FILM 产生弯曲接触下层玻璃。
这种结构中层间的距离决定了触摸屏的敏感度。
层间距离越近,敏感度越小,压力就要越大,以使两层结构可靠接触。
玻璃或图1 阻性触摸屏的横截面 图2 触摸屏的等效电路图2所示是触摸屏的等效电路。
通过一个触摸屏控制器(AD 转换器)将电源的正、负极加到一块玻璃的导电层两端,另一块玻璃上的导电层则起到一个电位计游标的作用。
在玻璃上不同的触摸点,导电的情况也不同,数字转换器上便会录得不同的测试电压值,然后控制器将录得的电压值转换成一个二维坐标:X 轴坐标和Y 坐标。
这些控制器每秒钟可进行200次或更多的采样。
采样率通常与背景噪声和控制器质量有关。
智能控制器还具备其它一些功能,如检测到触摸时中断CPU 、在检测到触摸前设定采样率连续进行采样。
没有触摸时,控制器处于待机状态。
由于阻性触摸屏结构简单、操作易懂、所需软硬件有多个厂商可供选择,因此可用于对成本敏感的设计中。
然而,由于触摸屏与它背后的显示器(LCD 或其它)间的对应点很难完全配合,因此几乎所有带阻性触摸屏的设备在出厂前均要经过一定的校准。
否则在触摸屏上点击某一按钮或选择某项功能时,内置的软件便无法对这一点击做出正确响应。
本文介绍的校准方法需要三个目标点/或测试点,然后依次进行触摸测试,以确定该显示屏特有的校准因数。
触摸屏校正

flagTS = 1; //置标志
rSUBSRCPND|=0x1<<9;
rSRCPND = 0x1<<31;
rINTPND = 0x1<<31;
rINTSUBMSK=~(0x1<<9);
rINTSUBMSK=~(0x1<<9);
rSRCPND = 0x1<<31;
rINTPND = 0x1<<31; //再次清A/D中断,开启A/D中断屏蔽
rADCTSC =0xd3; //设置等待中断模式,为下一次触笔的落下做准备
rADCTSC=rADCTSC|(1<<8); //设置触笔抬起中断
while(1) //等待触笔的抬起
{
if(rSUBSRCPND & (0x1<<9)) //检查A/D触摸屏中断悬挂
}
//绘制“十”字型
void drawCross(U32 x,U32 y,U32 color)
{
int i;
for(i=x-10;i<x+11;i++)
PutPixel(i,y, color);
for(i=y-10;i<y+11;i++)
C=[YT0×(XT2×XD1-XT1×XD2)+YT1×(XT0×XD2-XT2×XD0)+YT2×(XT1×XD0-XT0×XD1)] / K
D=[(YD0-YD2)×(YT1-YT2)-(YD1-YD2)×(YT0-YT2)] / K
drawCross(288,120,0xFF0000);
Draw_ASCII(292,124,0xFF0000,three);
触摸屏校正原理和方法

触摸屏校正原理和方法张开俊2011.6.10不同于鼠标,触控板的相对坐标定位,触摸屏是绝对坐标系定位,其物理坐标需要和LCD屏上的坐标一一对应。
所以在触摸屏原厂生产出货前,以及我们产品在产线组装前,都需要通过特定的软件或整机系统软件进行校正。
1.触摸屏为什么需要校正触摸屏与LCD显示屏是两个不同的物理器件。
LCD处理的像素,例如我们通常所说的分辨率是600x800,实际就是指每行的宽度是600个像素,高度是800个像素,而触摸屏处理的数据是点的物理坐标,该坐标是通过触摸屏控制器采集到的。
两者之间需要一定的转换。
其次,在安装触摸屏时,不可避免的存在着一定的误差,如旋转,平移的,这同样需要校正解决。
再次,电阻式触摸屏的材料本身有差异而且随着时间的推移,其参数也会有所变化,因此需要经常性的校正(电容式触摸屏只需要一次校正即可,这是由两者不同的材料原理造成的,具体可参阅有关电阻式和电容式触摸屏对比的文章)2.如何校正触摸屏的校正过程一般为:依次在屏幕的几个不同位置显示某种标记(如"+"), 用触摸笔点击这些标记,完成校正。
如果P T(x, y)表示触摸屏上的一个点, P L(x, y)表示LCD上的一个点,校正的结果就是得到一个转换矩阵M, 使P L(x, y) = M·P T(x, y)。
3.校正原理我们知道二维几何变换包含三种平移、旋转和缩放。
这三者的矩阵表示为:平移M T:缩放M S:旋转M R:所以P L =M R·M T·M S·P T,将这个公式展开,其结果为:在上面的公式中,LCD上的坐标(X L 、Y L)和触摸屏上的坐标(X T 、Y T)是已知的,而其他的则是我们需要求的:θ, S Y, S X, T Y, S X共有5个变量,至少需要五个方程,因为每组点坐标(P L, P T)可以得到两个方程,因此我们需要采集三组点坐标。
触屏三点校准法

触屏三点校准法
1.两点校准法:
关系:
X = k1* x + datx;
Y = k2* y + daty;
其中X,Y是屏的物理坐标(液晶屏的坐标),x,y是屏逻辑坐标(触屏的坐标)k1,k2为x,y⽅向的⽐例因⼦,datx,daty为x,y⽅向的迁移量.四个未知数我们就需要四个⽅程(其实是两组独⽴的⽅程),所以我们就在液晶屏指定的物理坐标(X,Y)位置显⽰我们校准符号然后通过点击触屏读出x,y带⼊上⾯的式⼦求出k1,k2,datx,daty,以后就通过上⾯的关系将物理坐标和逻辑坐标联系起来了,但是我们在装屏的时候物理坐标和逻辑坐标不仅仅是⽔平或者垂直上⾯的偏差还有⾓度上⾯的偏差(就是物理坐标系的x轴和逻辑坐标的y轴不是垂直的),那么上⾯的⽅程就不实⽤了,为解决这个问题就诞⽣了三点校准法。
2.三点校准法:
关系:
X = k1* x + k3*y+datx;
Y = k2* y +k4*x+ daty;
其中k1,k2,datx,daty,,与上⾯的意义相同,k3,k4就是⾓度偏差带来的⽐例系数,按照上⾯⽅法⼀样设置物理坐标(X,Y)液晶显⽰校准点,然后通过点击校准点读出逻辑坐标x,y带⼊⽅程解出k1,k2,k3,k4,datx,daty这⼉必须⽤三个点才能够解出来所以叫三点校准法。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
保存下来的参数即可。
LCD 校准
3点校准:6个未知数K1,A1,B1,K2,A2,B2
校准公式:二元一次方程。
*
*
*
XZ1,YZ1 XJ1,YJ1 XZ1=K1XJ1+A1YJ1+B1 YZ1=K2XJ1+A2YJ1+B2
校准:5点
5点校准:10个未知数K1,A1,B1,K2,A2,B2
ቤተ መጻሕፍቲ ባይዱ
校准公式:二元二次方程。
设 LCD 上每个点 PD 的坐标为[XD,YD],触摸屏上每个点 PT 的坐标为[XT,YT]。要实现触 摸屏上的坐标转换为 LCD 上的坐标,需要下列公式进行转换: 30,30,28,32
XD=A×XT+B×YT+C
YD=D×XT+E×YT+F
因为其中一共有六个参数(A,B,C,D,E,F),因此只需要三个取样点就可以求得这六个参数。 这六个参数一旦确定下来,只要给出任意触摸屏上的坐标点 PT,代入这个公式,就可以得 到它所对应的 LCD 上像素点的坐标 PD。具体的求解过程就不细讲,只给出最终的结果。已 知 LCD 上 的 三 个 取 样 点 为 : PD0,PD1,PD2 , 它 们 所 对 应 的 触 摸 屏 上 的 三 个 点 为 : PT0,PT1,PT2。A,B,C,D,E,F 这六个参数最终的结果都是一个分式,而且都有一个共同的分母, 为:
下面的程序是实现触摸屏功能的简单实例——以触点为中心,绘制出一个红色的边 长为 10 个像素的正方形。触点的坐标是用下面方法得到的:当触笔落下时,进入中断,然 后读取触点处的坐标,直到触笔的抬起,才退出该次中断。由于触摸屏需要校正,因此在使 用之前需要进行校正处理。但并不是每次使用都要校正,只要坐标没有发生漂移,就不需要 再次校正。所以在进行一次校正后,只要把那几个参数保存起来,下次需要时直接使用上次
int i=0; int xt[3],yt[3];
/*把背景填充为红色*/ Brush_Background(0xF800);
/*画校正用的三个十字坐标*/ //真实点(物理点) drawCross(24,32,0xFF0000); Draw_Text_8_16(28,36, 0x0000,0xFFFF, "1") ; drawCross(216,160,0xFF0000); Draw_Text_8_16(220, 164,0x0000,0xFFFF, "2") ; drawCross(120,288,0xFF0000); Draw_Text_8_16(124,292, 0x0000,0xFFFF, "3") ;
K=(XT0-XT2)×(YT1-YT2)-(XT1-XT2)×(YT0-YT2)
那么这六个参数分别为:
A=[(XD0-XD2)×(YT1-YT2)-(XD1-XD2)×(YT0-YT2)] / K
B=[(XT0-XT2)×(XD1-XD2)-(XD0-XD2)×(XT1-XT2)] / K
C = [YT0×(XT2×XD1 - XT1×XD2) + YT1×(XT0×XD2 - XT2×XD0) + YT2×(XT1×XD0-XT0×XD1)] / K
D=[(YD0-YD2)×(YT1-YT2)-(YD1-YD2)×(YT0-YT2)] / K
E=[(XT0-XT2)×(YD1-YD2)-(YD0-YD2)×(XT1-XT2)] / K
F = [YT0×(XT2×YD1 - XT1×YD2) + YT1×(XT0×YD2 - XT2×YD0) + YT2×(XT1×YD0-XT0×YD1)] / K
/*依次读取三个采样点的坐标值*/ for (i=0;i<3;i++) {
while (flagTS==0) //flagTS采样结束标志位 { delay(500); }
xt[i]=xdata; yt[i]=ydata; flagTS=0; }
/*计算参数 */ K=(xt[0]-xt[2])*(yt[1]-yt[2])-(xt[1]-xt[2])*(yt[0]-yt[2]); A=(32-288)*(yt[1]-yt[2])-(160-288)*(yt[0]-yt[2]); B=(xt[0]-xt[2])*(160-288)-(32-288)*(xt[1]-xt[2]); C=yt[0]*(xt[2]*160-xt[1]*288)+yt[1]*(xt[0]*288-xt[2]*32)+yt[2]*(xt[1]*32-xt [0]*160); D=(24-120)*(yt[1]-yt[2])-(216-120)*(yt[0]-yt[2]); E=(xt[0]-xt[2])*(216-120)-(24-120)*(xt[1]-xt[2]); F=yt[0]*(xt[2]*216-xt[1]*120)+yt[1]*(xt[0]*120-xt[2]*24)+yt[2]*(xt[1]*24-xt [0]*216);
*
*
*
*
*
XZ1,YZ1
XJ1,YJ1
XZ1=K11XJ1(2)+K12XJ1+A11YJ1(2)+A12YJ1+B1
YZ1=K21XJ1(2)+K22XJ1+A21YJ1(2)+A22YJ1+B1
LCD校正范例: ************************************************************************** ***** 函数名:TSCal() ***** 功 能:触摸屏校正 ***** 参 数:无 ***** 返回值:无 ***** 创建者: 陈志发 ***** 创建时间:2011-03-30 ***** 最后更新:2011-03-30 ****************************************************************************/ void TSCal(void) {
图 6.4 四线电阻屏等效电路图
6.5 等待中断模式等效电路
图 6.6 读取 x 坐标时的等效电路图 XZ=A×XJ+B×YJ+C YZ=D×XJ+E×YJ+F
6.7 读取 Y 坐标时的等效电路
/*校验完成后写一个标志位*/ TSOK = 1; }
6.8.4 触摸屏知识点
1. 触摸屏-知识点 1:触摸屏分类 常见触摸屏有电阻型、电容型、红外型。 2. 触摸屏-知识点 2:触摸屏原理 它是 LCD 和按键组合。 触摸屏有 2 层,X , Y。 触摸屏介绍 电阻式(容易受到干扰,只能单点)、电容式(多点触摸)、红外式(抗干扰强,单点) 等触摸屏。 配套开发板的 TFTLCD 液晶屏内部带有触摸屏控制器,为电阻型触摸屏。 S3C2440 的触摸屏接口可以驱动四线电阻触摸屏,四线电阻触摸屏的等效电路如图如下 图所示,途中粗黑线表示相互绝缘的两层导电层,当按压时,它们在触点处相连;不同的触 点在 x,y 方向上的分压值不一样,将这两个电压值经过 A/D 转换后即可得到 x,y 坐标。 触摸屏工作过程如下: 第一阶段:等待中断模式(ADCTSC=0b1101 0011) 平时触摸屏没有被按下时,由于上拉电阻的关系,Y_ADC 为高电平;当 x 轴和 y 轴受挤 压而接触导通后,Y_ADC 的电压由于连通到 y 轴接地而变为低电平,此低电平可做为中断触 发信号来通知 CPU 发生“Pen Down”事件,在 S3C2440 中,称为等待中断模式。 第二阶段:采样 X_ADC 电压,得到 x 坐标,等效电路如图所示: S1、S3 闭合,S2、S4、S5 断开,即 XP 接上电源、XM 接地,YP 作为模拟输入(对 CPU 而言),YM 高阻状态,XP 禁止上拉。这时,YP 即 X_ADC 就是 x 轴的分压点,进行 A/D 转换 后就得到 x 坐标。 第三阶段:采样 Y_ADC 电压,得到 y 坐标,等效电路如下图所示: S2、S4 闭合,S1、S3、S5 断开,即 YP 接上电源、YM 接地、XP 作为模拟输入(对 CPU 而言)、XM 高阻、XP 禁止上拉。这时,XP 即 Y_ADC 就是 y 轴的分压点,进行 A/D 转换后就 得到 y 坐标。