|
用户名:vanalan 笔名:追忆似水年华 地区: 陕西-西安 行业:其他 |
| 日 | 一 | 二 | 三 | 四 | 五 | 六 |
改地方了
(作者置顶)
由太湖蓝藻事件反思中国的经济发展模式
从印花税上调所想到的
生日生日
恩
又过了生日了!!!!
又老了一岁!!!!
生日前,小田居然从UK打电话给我,恩恩,不错不错,可惜讲到一般手机没电。等我急急忙忙换好电池,他居然不打了。。。。。。唉
28号晚上跟老婆同事同学去吃火锅,用蛋糕抹脸,一帮20多的像十几岁的孩子一样,不,那一刻,似乎我们就是孩子,唉,总之很久没这样闹过了。
Touch Panel校正
因为最近的项目关系,接触到了Touch Panel的校正方法。虽然以前对Touch在Windows CE的驱动部分还是有一定了解,但是这次发现有了更深的了解:)所以写点东西出来跟大家分享。
1。前言.....
市面上的Touch,以电阻式的比较多,我刚好也是适用的这种。电阻技术触摸屏分为四线电阻触摸屏、五线电阻触摸屏或更多线电阻触摸屏,但无论哪一类电阻触摸屏都有一个最大共性:电压成线性均匀分布。正是由于这一特性使得触摸屏的校正和使用非常方便。
电阻式的触摸屏一般会接在板子的ADC上,ADC可以由CPU或者AC97芯片提供。这样可以将模拟信号转化为数字信号。读寄存器中的这些数字信号的方法要跟据各个芯片的spec来做,就不做多说了。
当我们从寄存器中读出X和Y的值,这个值一般是不能直接用的,而是要做校正才行。下面来说说我用的校正方法。
2。Touch的校正
一般的方法有5点法和3点法。原理都一样。我使用的是5点法。
2.1物理坐标和逻辑坐标
为了方便理解,我们首先引入2个概念,坐标和逻辑坐标。物理坐标就是触摸屏上点的实际位置,我们通常以液晶上点的个数来度量。逻辑坐标就是触摸屏上这一点被触摸时A/D转换后的坐标值。如下图,我们假定液晶最左下角为坐标轴原点A,我们在液晶上再任取一点B(十字线交叉中心),B在X方向距离A 10个点,在Y方向距离A 20个点,那么我们就说液晶上B点所正对的解摸屏上这一点的物理坐标为(10,20)。如果我们触摸这一点时得到的X向A/D转换值为100,Y向 A/D,转换值为200,我们就说这一点的逻辑坐标为(100,200)。

图2-1
2.2逻辑坐标的计算
由于电阻式触摸屏的电压成线性均匀分布,那么A/D转换后的坐标也成线性。假如我们将液晶最左下角点对应的解摸屏上的点定为物理坐标原点A其物理坐标记为(XA=0,YA=0)其逻辑坐标记为(XLA,YLA)(不一定为0)。那么触摸屏上任意一点B的逻辑坐标可表达为:
XLB=XLA+KXXB
YLB=YLA+KYYB 式2-1
其中KX、KY分别为触摸屏X方向和Y方向的因子系数,这就像弹簧一样(我们知道弹簧也是线性的),拉力与弹簧伸长正比。KX、KY可能为正,也可能为负,这根据具体触摸屏安装的方向和特性。每个液晶触摸屏,我们也应该单独计算每一个触摸屏的K系数。
如果A点不是坐标原点,也是任意一点式2-1可以表达成
XLB=XLA+KX(XB-XA)
YLB=YLA+KY(YB-YA) 式2-2
由式2-2我们可以推出计算K系统的公式
KX=(XLB-XLA)/(XB-XA)
KY=(YLB-YLA)/(YB-YA) 式2-3
2.3五点法确定基坐标和K系统
如图在液晶上固定的位置显示五个点,因为是固定的位置,所以这五个点的物理坐标是预知的。这五个点不应太靠边,因为边缘点对应的触摸屏线性一般不太好。

(1) 首先在ABCDE对应的位置逐步用尖状物触摸,得到五个点的逻辑坐标。
(2) 分别比较A 和C、B和D的横坐标,如果差值不在允许范围(你自己规定一个即可,比如5),则重复操作(1)(2)步。
(3) 分别比较A和B、C和D 的纵坐标,如果差值不在允许范围(你自己规定一个即可,比如5),则重复操作(1)(2)(3)步。
(4) 根据式2-3,用2组数据计算X向K系数平均值KX={(XLB-XLA)/(XB-XA)+(XLD-XLD)/(XD-XC)}/2
(5) 根据式2-3,用2组数据计算Y系数平均值KY={(YLA-YLC)/(YA-YC)+(YLB-YLD)/(YB-YD)}/2
(6) 将C点逻辑坐标作为基坐标,根据式2-2则触摸屏上任意一点F逻辑坐标与基坐标的关系为:
XLF=XLC+KX(XF-XC)
YLF=YLC+KY(YF-YC) 式2-4
根据这个公式,我们也可逆推出F点的物理坐标
XF=(XLF-XLC)/KX+XC
YF=(YLF-YLC)/KY+YC 式2-5
(7) 用公式2-4求出E点逻辑坐标,并与(1)步得到的E点坐标比较,如果差值不在允许范围(你自己规定一个即可,比如5),则重复操作以上步骤直到满足要求。
(8) 将基坐标XLC、YLC、XC、YC和KX、KY记录在存储设备,触摸屏校正完成。