背景技术
现在的消费类电子设备大多设置触摸屏用于显示输出的信息,并且接收使用者输入的信息。目前常见的触摸屏分为电阻式触摸屏和电容式触摸屏,电容式触摸屏手感好,容易实现多点触控,但生产成本较高。电阻式触摸屏虽然手感不好,很难实现多点触控,但是因为价格低廉、灵敏度良好、稳定性强和结实耐用等特点,有着很强大的竞争力。
现有电阻式触摸屏具有两个电阻层,如图1所示,其中一个电阻层用于计算触摸点的横向坐标,通常称为X层,另一个电阻层用于计算触摸点的纵向坐标,通常称为Y层。每一个电阻层的电阻沿一个方向均匀分布,当触摸屏的表面受到足够大的压力时,两个电阻层之间会发生接触,接触点将两个电阻层分隔为横向或纵向的两部分电阻,两部分电阻的阻值与触摸点到对应的横向或纵向的两个边缘的距离成正比。
计算触摸点的坐标时,通常需要分别在横向以及纵向施加一个电压,根据电阻分压的原理,分别测量横向以及纵向两端的电压即得出该触摸点的横向坐标与纵向坐标。
然而,上述计算触摸点的方法仅仅是理论计算值,实际检测过程中还需要考虑各种误差才能精确得出触摸点的具体坐标,且上述检测方便只能获得一个触摸点的坐标。随着人们对电子产品使用方式的改变,人们大多习惯于两点触控,仅仅实现单点检测的方法已经无法满足人们的使用需要,因此现在的电阻式触摸屏也需要实现两点触摸点的检测需要。
如公开号为CN102750063A的中国发明专利申请公开了一种对两个触摸点进行检测的方法,但该检测方法必须将很多变量理想化才能大概计算出两触摸点的距离,最后还要加上压力补偿和距离补偿等来减少误差。又如公开号为CN102999243A的中国发明专利申请所公开的检测方法则需要计算tanθ的反函数,由于计算量较大,而且当两个触摸点的连线为水平或者垂直方向时求tan的反函数的误差会变大,并不能准确地计算出两个触摸点之间的距离。公开号为CN102855047A的发明专利申请所公开的技术方案则需要假设两点触摸点的距离与电阻变化的关系为线性,并设计了一个电路来尽量使得两点触摸的距离与电压的变化量呈线性化。但由于触摸屏的电阻仍存在一定的非线性,因此使用这种方法必然也会因为电阻的非线性的影响而存在误差,降低了触摸点的检测准确性。
可见,现有技术中不管检测触摸屏上单个触摸点还是检测两个触摸点时均存在检测精度以及计算量较大的问题。
发明内容
本发明的主要目的是提供一种运算量少且计算精确的电阻式触摸屏检测方法。
本发明的另一目的是提供一种对电子设备硬件要求低且精确计算触摸点位置的触摸屏检测装置。
为了实现上述的主要目的,本发明提供的电阻式触摸屏检测方法包括向触摸屏X层两端加载电压并检测Y层的Y层电压值,向触摸屏Y层两端加载电压并检测X层的X层电压值,并且,使用X层电压值以及Y层电压值建立第一拟合公式,第一拟合公式包含二个以上的第一未知参数,并选取二个以上的校准点后将第一拟合公式代入第一校准公式计算第一未知参数,其中m为校准点的个数,hk(VY (i))为拟合公式,Px(i)为第i个校准点的的横向坐标;使用第一未知参数的值通过第一拟合公式计算触摸点在X层以及Y层的位置。
由上述方案可见,本发明的方案是基于线性回归的方法并通过选取第一拟合公式以及第一校准公式来计算单个触摸点的横向坐标以及纵向坐标。由于计算触摸点的坐标并不是简单地按照电阻值线性地计算出触摸点的坐标位置,触摸点的坐标计算较为精确。此外,由于在正常工作模式下,触摸点坐标的计算是基于拟合公式计算,计算量较少,对电子设备的硬件要求较低。
进一步的方案是,第一拟合公式包括三个第一未知参数,第一拟合公式为PX=K0×1+K1×VY+K2×VX;其中K0、K1、K2为第一未知参数,VY、VX分别是Y层电压值以及X层电压值。
由此可见,由于第一拟合公式较为简单,计算触摸点的坐标时计算量较少,提高电子设备的响应速度。
进一步的方案是,计算单个触摸点的坐标后,再次向触摸屏Y层两端加载电流源并检测Y层一端的Y层单侧电压值,如判断Y层单侧电压值相对于触摸屏没有被触摸时变小,则计算两个触摸点的坐标:向触摸屏X层两端加载电流源并检测X层一端的X层单侧电压值,使用X层单侧电压值以及Y层单侧电压值建立第二拟合公式,第二拟合公式包含二个以上的第二未知参数,并选取二个以上的校准点后将第二拟合公式代入第二校准公式计算第二未知参数,其中m为校准点的个数,hk(Dx(i))为第二拟合公式,Dx为两触摸点在横向方向的距离,Vix为X层单侧电压值;使用第二未知参数的值通过求得第二拟合公式的解计算两个触摸点在横向方向上的间距以及纵向方向上的间距,并使用单个触摸点位置计算步骤中计算的触摸点位置作为两个触摸点的中点位置,计算两个触摸点的实际坐标。
由此可见,计算两个触摸点时使用第二拟合公式以及第二校准公式,对两条公式的计算量不大,降低计算两个触摸点时的计算量,也降低对电子设备的硬件要求。同时,由于计算两个触摸点是以计算一个触摸点的位置作为基础,这样可以精确计算两个触摸点的位置,触摸点的坐标计算更为精确。
为实现上述的另一目的,本发明提供的电阻式触摸屏检测装置包括电压值接收模块,接收向触摸屏X层两端加载电压并检测Y层的Y层电压值,并接收向触摸屏Y层两端加载电压并检测X层的X层电压值,并设有单触摸点坐标计算模块,使用X层电压值以及Y层电压值建立第一拟合公式,第一拟合公式包含二个以上的第一未知参数,并选取二个以上的校准点后将第一拟合公式代入第一校准公式计算第一未知参数,其中m为校准点的个数,hk(VY (1))为拟合公式,Px(i)为第i个校准点的横向坐标,同时使用第一未知参数的值通过第一拟合公式计算触摸点在X层以及Y层的位置。
由上述方案可见,通过使用第一拟合公式以及第一校准公式可以快速地计算一个触摸点的坐标,并且计算过程并不是简单地计算X层电压值与总电压值之间的比值、Y层电压值与总电压值之间的比值来线性地计算触摸点的位置,提高触摸点位置计算的精确性。
具体实施方式
本发明的电阻式触摸屏检测装置是运行在带有电阻式触摸屏的电子产品上的软件程序,而该检测方法是应用上述的检测装置实现对触摸屏上一个触摸点以及两个触摸点的检测、坐标计算方法。
参见图2,电子设备上设置的电阻式触摸屏具有两个电阻层,分别是X层以及Y层,其中X层用于检测触摸点的横向坐标,Y层用于检测触摸点的纵向坐标。电子设备还设置检测电路10,用于检测触摸屏上触摸点的数量以及触摸点的位置。检测电路10具有一个恒流源14以及电压源15,并且设有模数转换电路11、检测单元12以及处理器13,电流源14以及电压源15向X层以及Y层的两端加载电压,模数转换电路11检测并接收X层以及Y层两端的电压信号,将模拟的信号转换成数字信号后输出至检测单元12,检测单元将接收的数据输出至处理器13,并且处理器13可以向检测单元12反馈信息,控制检测单元12的检测操作。
为了分别检测X层电阻值以及Y层电阻值,电流源14以及电压源15通过选择开关K1选通X层电阻或者Y层电阻,相同地,模数转换电路11也通过选择开关K2选通X层电阻或者Y层电阻。例如,检测X层两端的电压值时,开关K1选通Y层电阻,模数转换电路K2选通X层电阻,由此检测X层两端的电压值。同理,检测Y层两端的电压值时,开关K1选通X层电阻,模数转换电路K2选通Y层电阻,由此检测Y层两端的电压值。
检测单元12以及处理器13用于对模数转换电路11检测到的信号进行处理,并计算触摸点的数量以及触摸点的坐标。参见图3,检测装置内设置电压值接收模块20、单触摸点坐标计算模块21、两触摸点判断模块22以及两触摸点坐标计算模块23。
电压值接收模块20用于接收模数转换电路11检测的电压值,并将检测的电压值输出至单触摸点坐标计算模块21,单触摸点坐标计算模块21根据接收到的电压值计算触摸屏上触摸屏的坐标。并且,两触摸点判断模块22也接收电压值接收模块20输出的电压值,并且计算并判断触摸屏上是否存在两个触摸点,如是,则由两触摸点坐标计算模块23计算两个触摸点的坐标。
下面结合图4介绍检测装置的具体工作流程。首先,单触摸点坐标计算模块21接收电压值接收模块20后,计算触摸屏上是否存在触摸点,即执行步骤S1。由于触摸屏上存在触摸点时,X层电阻以及Y层电阻两端的电压值与没有触摸点时发生变化,通过判断两端电压值相对于没有触摸点时是否发生变化即可以判断是否存在触摸点。
如判断触摸屏上存在触摸点,则执行步骤S2,接收触摸屏X层电阻的电压值以及Y层电阻的电压值。如图5所示,电压源14向X层电阻的两端加载电压后,模数转换电路11检测Y层两端的电压值,分别获得Y层两端的电压值VY+和VY-,理论上Y层两端的电压值VY+和VY-应该相等,但实际中有微小的差异,可以用求平均值的方式,即VY=(VY++VY-)/2来计算Y层电压值减少误差。同理,在Y层电阻的两端也施加一个电压VCC,可以测得X层两端的电压,并通过计算平均值的方式计算出X层电压值VX。
理论上触摸点在X层的横向坐标与测量得到Y层电压值的VY成比例关系,但由于电压值的测量存在误差的原因以及X层电压值VX对Y层电压值的VY可能产生的影响,需要建立一个拟合公式计算触摸点在X层的横向坐标位置,拟合公式如下:
PX=K0×1+K1×VY+K2×VX (式1)
其中,PX为触摸点在X层的横向坐标,系数K0、K1、K2为未知参数,为了计算未知参数K0、K1、K2,需要建立校准公式进行计算,并且需要在触摸屏上选取多个校准点,校准公式如下:
其中m为校准点的个数,hk(VY (i))为式1的右边部分,也就是拟合公式,实际上就是根据特定K0至K2的值而计算得出的第i个校准点的横向坐标,Px(i)为第i个校准点的实际横向坐标。
由式2可以知道,使得J(K)的值最小时,即可以计算出K0至K2的值。计算K0至K2的值的方法有很多,本实施例只是介绍其中一种计算方法,也就是标准公式法。
例如,选取触摸屏上的5个点作为校准点,5个点分别是触摸屏的4个角落以及触摸屏的几何中心点,由于5个点的位置是预先选取好的,也就可以得到5个点的坐标位置PX,并且可以检测出5个点分别被触摸时X层电压值VX以及Y层电压值VY,也就得到5组数组,每一组数组分别包括横向坐标PX、Y层电压值VY以及X层电压值VX。
根据这5组数组的数据,按照式1中的顺序,即1、VY、VX三个数值组成一个行向量,5个行向量组成矩阵X;5个校准点的实际触摸坐标组成矩阵Y,得到如下所示的两个矩阵:
其中VY0至VY4及VX0至VX4为5个校准点测量得出的Y层电压值以及X层电压值,PX0至PX4为5个校准点的横向坐标。
由标准公式可以得到
这样即可以计算出三个未知参数K0、K1、K2的值,其中T指矩阵转置,-1为求矩阵的逆矩阵。应用式3计算三个未知参数K0、K1、K2的值,计算量较少,对电子设备的硬件要求较低。上述的计算可以是在触摸屏的校准模式下进行,计算出三个未知参数K0、K1、K2的值可以作为后续的正常使用模式下多次使用,而不需要每次检测触摸点的位置时均计算一次三个未知参数K0、K1、K2的值。
正常检测触摸屏的触摸点的位置时,根据计算出的三个未知参数K0、K1、K2的值,再测量出当前的Y层电阻值VY以及X层电阻值VX,可以计算式1的触摸点的横向坐标PX,这样可以保证触摸点位置检测实时性。
同理,计算触摸点纵向坐标Py时,也可以使用相同的方法计算,不再赘述。计算出触摸点的横向坐标以及纵向坐标后,可以计算出触摸点在触摸屏上的具体位置。
执行上述的步骤S2后,如图4所示,两触摸点判断模块22还需要根据电压值接收模块20所检测的电压值的信号判断触摸屏上是否存在2个触摸点,即执行步骤S3。判断当前是否存在两触摸点时,如图6所示,使用恒流源15向X层的两端加载电流,并检测X层一侧的电压值,获得X层单侧电压值Vix,如果X层单侧电压值Vix相对于没有触摸点存在时变小,则判断存在触摸屏上存在两个触摸点,则执行步骤S4,由两触摸点坐标计算模块23计算两个触摸点的坐标。否则,需要再测量Y层单侧电压值来确认是否存在两个触摸点,也就是通过切换开关将恒流源15向Y层两端加载电流,并使用模数转换电路11测量Y层一侧的电压值并计算出Y层单侧电压值Viy,如果Y层单侧电压值Viy相对于没有触摸点时变小,则判断存在两个触摸点,执行步骤S4,否则,执行步骤S5,将单个触摸点的坐标位置输出。
计算两个触摸点的坐标时,也是使用拟合公式以及校准公式进行计算,即先建立拟合公式,并且在校准模式下计算出拟合公式中的多个未知参数,最后在正常工作模式下通过拟合公式计算出两个触摸点的具体坐标。本实施例计算两个触摸点的位置时使用的拟合公式如下:
Vix=K10×1+K11×DX+K12×Dx 2+K13×Viy (式4)
其中K10、K11、K12、K13为拟合公式中四个未知参数,Vix为X层单侧电压值,Dx为两触摸点在触摸屏的横向方向上的间距,Viy为在Y层单侧电压值。
建立上述的拟合公式后,先进入校准模式,需要使用者先使用两个手指同时按下屏幕,电子设备记录上述的X层单侧电压值Vix和Y层单侧电压值Viy,并记录两个触摸点的实际的距离Dx和Dy,此时,记录两个触摸点的位置为1组校准点,通过选择多组校准点并使用下面的校准公式计算多个未知参数K10、K11、K12、K13。
其中,m为校准点的组数,hk(Dx(i))为式4的右边部分,也就是拟合公式,是根据特定未知参数K10、K11、K12、K13的值和第i组校准点的Dx和Viy的值而计算得出的第i组校准点的X层的单侧电压值,Vix为实际测量出来的X层单侧电压值。
与单触摸点计算方法相同,本实施例也是采用标准公式法计算未知参数K10、K11、K12、K13,也就是组建X矩阵和Y矩阵,以降低电子设备的计算量,降低电子设备对硬件的要求。
计算四个未知参数K10、K11、K12、K13的值后,进入正常使用模式,也就是将四个未知参数K10、K11、K12、K13的值以及实际测量的X层单侧电压值Vix以及Y层单侧电压值Viy代入拟合公式并求解,计算出两个触摸点在横向方向上的实际距离Dx,可以使用下面的公式计算
因为实际中距离必定为正,所以选择Dx为正数的解即为目标解,即可以计算出两个触摸点在横向方向上的实际距离Dx。使用相同的方法即可以求得两触摸点在纵向方向上的间距Dy。
使用计算单个触摸点时计算出的坐标作为两个触摸点的坐标中点,并使用上述步骤计算出的两个触摸点在触摸屏的横向方向上的实际距离Dx以及纵向方向上的实际距离Dy,即可以计算出两个触摸点的具体坐标。当然,还可以结合X层电阻以及Y层电阻在横向以及纵向上的电压差来计算两个触摸点的坐标,可以更加精确地计算出两个触摸点的坐标位置。
计算两个触摸点的坐标后,最后执行步骤S5,输出两个触摸点的具体坐标位置。
本发明是基于线性回归的方式通过拟合公式以及校准公式来计算单个触摸点以及两个触摸点的位置,电子设备的运算量较少,并且可以精确地计算出一个或两个触摸点的位置,触摸点检测的精确性较高。
当然,上述实施例仅是本发明优选的实施方式,实际应用时还可以有更多的变化,例如,在计算校准公式的多个未知参数时可以有更多不同的计算方法;或者,可以设置不同的拟合公式,且拟合公式中最少可以仅设置两个未知参数,减小电子设备的运算量,这样的改变并不影响本发明的实施。
最后需要强调的是,本发明不限于上述实施方式,如拟合公式具体结构的改变、通过校准公式计算未知参数的具体方法的改变等变化也应该包括在本发明权利要求的保护范围内。