日期:2020-01-08 14:06
来源:北京华美讯通科技有限公司
作者:华美讯通
人气:
因为公司的项目关系,接触到了触摸屏的校正方法。虽然之前在Windows的驱动部分还是有一定了解的,但是这次发现有了更深的了解,现在把这些东西跟大家分析一下。
市场上的触摸屏,以电阻式的比较多,我们公司刚好也是生产的这种。电阻技术触摸屏分为四线电阻触摸屏、五线电阻触摸屏或多线电阻触摸屏,但无论哪一类电阻触摸屏都有一个最大共性:电压呈线性均匀分布。正是由于这一特性使得触摸屏的校正和使用非常方便。
电阻式的触摸屏一般会接在板子的ADC上,ADC可以由CPU或者AC97芯片提供。这样可以将模拟信号转化为数字信号。读寄存器中的这些数字信号的方法要根据各个芯片的spec来做,就不多说了。当我们从寄存器中读出x和y的值,这个值一般是不能直接使用的,而是要做校正才行。
为了方便理解,我们首先引入两个概念,坐标和逻辑坐标。物理坐标就是触摸屏上点的实际位置,我们通常以液晶上点的个数来度量。逻辑坐标就是触摸屏上这一点被触摸时A/D转换后的坐标值。我们假设液晶最左下角为坐标轴原点A,我们在液晶上在任取一点B,B在X方向距离A十个点,在Y方向距离A二十个点,那么我们就说液晶上B点所正对的触摸屏上这一点的物理坐标为(10,20)。如果我们触摸这一点时得到的X向A/D转换值为100,Y向A/D,转换值为200,我们就说这一点的逻辑坐标为(100,200)。
由于电阻式触摸屏的电压成线性均匀分布,那么A/D转换后的坐标也成线性。假如我们将最左下角点对应的触摸屏上的点定为物理坐标原点A其物理坐标记为(XA=0,YA=0)其逻辑坐标记为(XLA,YLA)。那么触摸屏上任意一点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
在液晶上固定的位置显示五个点,因为是固定的位置,所有这五个的物理坐标是预知的。这五个点不应太靠边,因为边缘点对应的触摸屏线性一般不太好。
(1)首先在ABCDE对应的位置逐步用尖状物触摸,得到五个点的逻辑坐标。
(2)分别比较A和C、B和D的横坐标,如果差值不在允许范围,则重复操作。
(3)分别比较A和B、C和D的纵坐标,如果差值不在允许范围,则重复操作。
(4)根据式2-3,用两组数据计算X向K系数平均值:
KX={(XLB-XLA)/(XB-XA)+(XLD-XLD)/(XD-XC)}/2
(5)将C点逻辑坐标作为基坐标,根据式22则触摸屏上任意一点F逻辑坐标与基坐标的关系为:
XLF=XLCI,KX(XF-XC)
YLF= YLC,IKY(YFYC) 式2-4
根据这个公式,我们也可逆推出F点的物理坐标:
XF=(XLF-XLC)KXI,XC
YF=( YLF-YLC)KYI,YC 式2-5
这些公式可能有些人不认识,但是对于技术研发人员一看便知。
相关推荐:
触摸一体机集合了多种功能你知道吗?
基于MCU的红外多点触摸屏设计