具体实施方式
本发明将详细描述一些实施例如下。然而,除了所揭露的实施例外,本发明的范围并不受该些实施例的限定,乃以其后的申请专利范围为准。而为了提供更清楚的描述及使该项技艺的普通人员能理解本发明的发明内容,图示内各部分并没有依照其相对的尺寸进行绘图,某些尺寸或其它相关尺度的比例可能被凸显出来而显得夸张,且不相关的细节部分并没有完全绘出,以求图示的简洁。
请参考图1所示,其为本发明一实施例的一触控装置100的一示意图。该触控装置100包含一触控面板110。该触控面板110包含一基板与形成于该基板的多个感测电极组120。该多个感测电极组120连接到一处理模块130。该处理模块130内包含必要的电路并且连接到一内存模块140。
该内存模块140内包含了必要的程序代码与数据,可供该处理模块130执行与运用,以便实作某一种算法。该种算法系根据该多个感测电极组120所侦测到的某一些电性,据以计算出发生在该触控面板110上近接事件的坐标。本领域的普通技术人员可以理解到,该多个感测电极组120的设计有多种形式,而上述的算法对应至该多个感测电极组120的设计。换言之,当多个感测电极组120的设计改变时,算法即有可能必须做相应的修改。本发明也不限定上述处理模块130与内存模块140的连接方式与其实作方法。在一实施例中,该处理模块130与内存模块140可以位于同一芯片当中。但在另一实施例中,该处理模块130可以透过其它的电路或控制器存取位于不同芯片上的内存模块140。
请参考图2所示,其为根据本发明一实施例的X轴坐标误差值暨补偿值的一示意图。假设在图1所示的触控面板110上,以平行于X轴的方向199产生连续的近接事件,则图2标出的曲线200A与200B系经过处理模块130使用算法之后所得到的X轴计算坐标的误差值,与相应的近接事件的X轴真实坐标的关系。曲线200A与曲线200B系分别对应至同一位置的近接事件的不同边缘区块大小。
可以观察到曲线200A与200B,在越接近触控面板110的边缘,则误差值也就越大。在一实施例中,该多个感测电极组120包含有沿着X轴排列的多个感测电极单元,用以感测该触控面板的多个电容变化量,其算法的误差值会产生如图2所示的关系。
在某些实施例中,当触控装置100为电容式时,电容变化量相关于投影面积。处理模块130首先透过电容变化量计算出投影面积以及校正前的X轴坐标值,并透过事先建立的查找表查找出电容变化总和的平方根(capsum),亦即外部导电物体靠近或接触感测电极组120所导致的电容变化量的总和的平方根。由于感测电极组120的设计形式,使得同一投影面积的近接事件在触控面板110中间所影响的电容变化总和的平方根,不同于在触控面板110边缘处所影响的电容变化总和的平方根。因此,当处理模块130计算完上述的投影面积之后,还得根据近接事件所发生的位置,亦即X轴坐标值查找出电容变化总和的平方根。但本发明并不限定该感测电极组120的设计形式,以及其所使用的算法,只要有图2所示的曲线关系,就可以适用本发明。
在一实施例中,内存模块140内包含了两个查找表,一个查找表用于根据近接事件的X轴坐标值来查找出上述的电容变化总和的平方根,另一个查找表则用于根据电容变化总和的平方根回过头来校正近接事件的X轴坐标值。请参考图3A所示,其为根据本发明一实施例的电容变化总和的平方根查找表。图3A所示的查找表的横轴可以表示某一近接事件的投影面积,或者是投影面积的正比值,例如电容变化量。查找表的竖轴可以表示某一近接事件经该算法所得出的X轴计算坐标。表内的数值表示电容变化总和的平方根。
当控制模块130所执行的算法计算出某一近接事件的X轴计算坐标与其投影面积(或电容变化量)时,即可以利用上述的查找表计算出电容变化总和的平方根。
在一实施例中,横轴的投影面积(或电容变化量)A1,A2,A3,…An之间的差是相等的,而竖轴的X轴计算坐标X1,X2,X3,…,Xm之间的差也是相等的。在上述的计算过程中,若算法所计算出的X轴计算坐标与/或其投影面积(或电容变化量)不等于查找表的值时,即可以利用相邻的两个点,使用内插法来计算电容变化总和的平方根。当然,在另一实施例中,上述的横轴与/或竖轴的值不需要是等差,也可以利用内插法来计算电容变化总和的平方根。
假设计算出来的投影面积(或电容变化量)为A1.3,X轴计算坐标为X2.6。在一实施例中,可以直接用最接近的电容变化总和的平方根值来算,也就是Ae31。在另一实施例中,可以先对横轴作内插,亦即使用Ae21与Ae22找出第一值Ae21.3,使用Ae31与Ae32找出第二值Ae31.3。接着,再根据纵轴作内插,也就是使用上述的第一值Ae21.3与第二值Ae31.3找出真正的电容变化总和的平方根值。在更一实施例中,可以先对纵轴作内插,亦即使用Ae21与Ae31找出第一值Ae2.61,使用Ae22与Ae32找出第二值Ae2.62。接着再根据横轴作内插,也就是使用上述的第一值Ae2.61与第二值Ae2.62找出真正的电容变化总和的平方根值。
在找出电容变化总和的平方根值后,可以再用另一个查找表,来校正近接事件的X轴坐标值。请参考图3B所示,其为根据本发明一实施例的X轴误差值的查找表。图3B所示的查找表的横轴可以表示某一近接事件的电容变化总和的平方根。查找表的竖轴可以表示某一近接事件经该算法所得出的X轴计算坐标。表内的数值表示X轴坐标的误差量。比方说,可以由虚线框出的多个数据E13,E23,E33,…,Em3来回推出图2所示的曲线200A。
当控制模块130所执行的算法计算出某一近接事件的X轴计算坐标与其电容变化总和的平方根时,即可以利用上述的查找表计算出X轴坐标的误差值。再利用X轴计算坐标与其误差值,就可以计算出该近接事件的X轴真实坐标。
在一实施例中,横轴的电容变化总和的平方根A1,A2,A3,…Amn之间的差是相等的,而竖轴的X轴计算坐标X1,X2,X3,…,Xm之间的差也是相等的。在上述的计算过程中,若算法所计算出的X轴计算坐标与/或电容变化总和的平方根不等于查找表的值时,即可以利用相邻的两个点,使用内插法来计算X轴坐标的误差值。当然,在另一实施例中,上述的横轴与/或竖轴的值不需要是等差,也可以利用内插法来计算X轴坐标的误差值。
请参找图3C所示,其为根据本发明一实施例的一X轴真实坐标的查找表。图3C所示的查找表的横轴可以表示某一近接事件的电容变化总和的平方根。查找表的竖轴可以表示某一近接事件经该算法所得出的X轴计算坐标。表内的数值表示校正后的X轴真实坐标。本领域的普通技艺人员可以理解到,图3B与图3C的使用方法相同,只不过图3B查找到的是误差值,而图3C查找到的是校正后的X轴真实坐标。
无论实施例是使用图3A以及图3B或图3C的表格,两个查找表需要耗用较大的存储器空间,即(m+1)x(n+1)+(m+1)x(mxn+1)个单位的空间。对于内存模块140来说,耗用这么大的存储器空间是相当可观的。所以在本发明的另一实施例中,可以减少所耗用的存储器空间。
请参考图4A所示,其为根据本发明一实施例的X轴计算坐标对X轴真实坐标的一示意图。对应于一特定的电容变化总和的平方根,X轴的计算坐标与X轴真实坐标的对应关系可被描述如图4A,其横轴为X轴的计算坐标,竖轴为X轴真实坐标。在另一实施例中,竖轴可以为X轴误差值。图4A包含X轴计算坐标对应至某一电容变化总和的平方根的一条曲线410,以及多条逼近该曲线410的直线420A至420D。比方说,曲线410的横轴范围介于X1与Xm之间。
在一实施例中,由于各个直线420A至420D的值与该曲线410的对应值的误差落在一限度内,所以可以利用直线420A至420D来取代曲线410。如此一来,内存模块140只需要记得多条直线420A至420D所对应的斜率与起始点,就可以根据X轴计算坐标找出对应的某一条直线420,从而计算出X轴真实坐标或X轴误差值,进而得出X轴真实坐标。
请参考图4B所示,其为根据本发明一实施例的X轴计算坐标对电容变化总和的平方根的一示意图。X轴计算坐标与电容变化总和的平方根的对应关系可被描述如图4B,横轴为X轴的计算坐标,竖轴为电容变化总和的平方根。图上示出X轴计算坐标对应至某一电容变化总和的平方根的一条曲线430,以及多条逼近该曲线430的直线440A至440D。
在图4A所示的实施例当中,需要利用已知的电容变化总和的平方根对应出多条直线420,再利用X轴计算坐标找出对应的一条直线420,进而解出X轴真实坐标。在一实施例中,取得电容变化总和的平方根的查表流程亦可同时利用图4B所示的对应关系取得。换言之,可以先利用图4B加入一可选的步骤,亦即利用X轴计算坐标与该曲线430计算出电容变化总和的平方根。。
除此之外,若储存曲线430需要太多存储器空间,则也可以使用多条直线440A至440D来逼近曲线430。换言之,只需要记得这些直线440A至440D的起始点与斜率,就可以计算出校正后的电容变化总和的平方根。
请参考图5A所示,其为根据本发明一实施例的存储器内容的一示意图。图5A的横轴表示电容变化总和的平方根,横轴的范围和图3C相同,最小的值为A1,最大的值为An。图5A的竖轴仍然表示X轴计算坐标,竖轴的范围也与图3B相同,最小的值为X1,最大的值为Xm。图5A与图3B或图3C不同的地方在于,其所储存的内容并不是X轴真实坐标或是X轴误差值,而是上述各条直线420的起始点和斜率。
虚线部分显示了一组直线420A2至420D2,这些直线420可以对应地逼近一曲线410,其也对应到某一电容变化总和的平方根Af。换言之,如果已知电容变化总和的平方根为Af,且X轴计算坐标介于X1至Xm之间时,可以根据X轴计算坐标找到对应的一条直线,例如420B2。接着,再根据直线420B2所记载的起始点和斜率,可以将X轴计算坐标转换成X轴真实坐标。
请参考图5B所示,其为根据本发明一实施例的存储器内容的一示意图。图5B的横轴表示电容变化总和的平方根,横轴的范围和图3C相同,最小的值为A1,最大的值为An。图5B的竖轴仍然表示X轴计算坐标,竖轴的范围也与图3A相同,最小的值为X1,最大的值为Xm。图5B与图3A不同的地方在于,其所储存的内容并不是电容变化总和的平方根,而是上述各条直线440的起始点和斜率。
虚线部分显示了一组直线440A2至440D2,这些直线440可以对应地逼近一曲线430,其也对应到某一电容变化总和的平方根Af。换言之,如果计算所得的电容变化总和的平方根为Af,且X轴计算坐标介于X1至Xm之间时,可以根据X轴计算坐标找到对应的一条直线,例如420B2。接着,再根据直线420B2所记载的起始点和斜率,可以将计算所得的电容变化总和的平方根转换成校正后的电容变化总和的平方根。
尽管图5A与图5B所示实施例中的横轴与纵轴的范围一致,且这两个存储器空间的字段数量相当,但本发明并不限定其横轴与纵轴的范围彼此相同,也不限定其字段数量彼此相同。
假定图5A所记忆的内容可以对应到p条曲线410,每一条曲线410对应到q条直线420,每条直线需要记载起始点和斜率。由于p远小于n,且q远小于m,所以图5A实施例占用的存储器空间为p*q*2,远小于图3B的(m+1)*(m*n+1)。假定图5B所记忆的内容可以对应到r条曲线430,每一条曲线430对应到s条直线440,每条直线需要记载起始点和斜率。由于r远小于n,且s远小于m,所以图5B实施例占用的存储器空间为r*s*2,远小于图3B的(m+1)*(m*n+1)。总的来说,使用图5A与图5B所示的查找表,可以节省大量的存储器空间。
请参考图6所示,其为根据本发明一实施例的校正方法。该校正方法可用于校正触控面板边缘的一坐标值的方法,可以适用于图1所示的实施例。特别是处理模块130可以执行图6所示的校正方法。除了下述说明以外,该校正方法也可以包含上述实施例的说明。
步骤610:提供一查找表。该查找表可以位于图1所示实施例的一内存模块140。该查找表包含对应到多个电容变化总和的平方根的多个第一线性函数的斜率与起始点。在一实施例中,该多个第一线性函数可以是图4A所示的直线420A至420D,也可以是图5A所示的直线420A2至420D2。
步骤620:计算发生在触控面板110边缘的一近接事件所对应的一计算坐标与一投影面积以得出一电容变化总和的平方根。
步骤630:根据该计算坐标与电容变化总和的平方根,自该查找表所包含的多条第一线性函数当中选出一条第一线性函数。
步骤640:根据该条第一线性函数与该计算坐标得出一真实坐标。
在一实施例中,坐标值表示该触控面板的一个轴向,该触控面板包含沿着该轴向排列的多个感测电极单元。
在另一实施例中,据该计算坐标来计算该电容变化总和的平方根。该查找表更包含多条第二线性函数(如直线440)的斜率与起始点。例如图4B所示的直线440A至440D,或者是图5B所示的直线440A2至440D2。该电容变化总和的平方根值的计算更包含:根据该计算坐标与投影面积(或电容变化量),自该查找表所包含的该多条第二线性函数当中选出一条第二线性函数;以及根据该条第二线性函数与该计算坐标查找出一电容变化总和的平方根。
在更一实施例中,对应到同一该电容变化总和的平方根的该多条第一线性函数所对应的计算坐标的区间各不相同。对应到同一该投影面积的该多条第二线性函数所对应的计算坐标的区间各不相同。
请参考图7A所示,其为根据本发明一实施例的校正X轴坐标的一示意图。图7A的横轴为X轴计算坐标,竖轴为X轴误差值。图7A的各条线系根据图3A或图3B所示实施例所得,每一条线系对应到不同的电容变化总和的平方根。
请参考图7B所示,其为根据本发明另一实施例的校正X轴坐标的一示意图。图7B的横轴为X轴计算坐标,竖轴为X轴误差值。图7A的各条线系根据图5A至图6所示实施例所得,每一条线系对应到不同的电容变化总和的平方根。
将图7A与图7B相比,可以看到各条线经过校正后的结果相差不多,但图7A实施例所耗用的存储器容量远高于图7B实施例所耗用的存储器容量。总上所述,本发明的主要精神之一,系使用多个线性函数来逼近一条曲线,利用少量的计算来减少存储器的消耗,从而得到相似的校正值。