專利名稱:一種電容觸摸屏多點觸摸檢測方法
一種電容觸摸屏多點觸摸檢測方法
本發(fā)明涉及觸摸屏技術(shù),尤其涉及一種電容觸摸屏的多點觸摸檢測方法。 [背景技術(shù)]觸摸屏可以有多種實現(xiàn)原理,流行的觸摸屏包括電阻式觸摸屏、電容式觸摸屏、表 面紅外觸摸屏等等。其中,電阻式觸摸屏因為其低成本、易實現(xiàn)、控制簡單等優(yōu)點流行多年。 近來,電容式觸摸屏以其透光率高、耐磨損、耐環(huán)境(溫度、濕度等)變化、壽命長、可實現(xiàn)高 級復(fù)雜功能,如多點觸摸,而受到大眾的歡迎。如
圖1所示,自電容的觸摸屏一般由兩層ITO組成,一層接地,一層接掃描線。以 一個單點為例,10為掃描線,當沒有手指30觸摸時,10上的等效電容大小為兩層ITO耦合 的電容20,即Cx ;當有手指觸摸時,由于手指有一個等效對地電容40,即Cf,則此時掃描線 10對應(yīng)的等效電容大小為Cx+Cf。通過分辨觸摸前后電容的大小,即可以判斷這點是否有 觸摸發(fā)生。當多個點構(gòu)成矩陣陣列時,便形成了圖2所示的等效電路。美國專利US5825352公開了一種多點觸摸檢測方法。該檢測方法采用分時復(fù)用技 術(shù),在觸摸屏的X軸和Y軸分別采用峰值和谷值檢測法檢測觸摸。即每個時間只掃描一行 或者一列,如先掃描Y方向,得到Y(jié)的觸摸坐標,然后再掃描X方向,得到X坐標。當2個手 指(圖3中的實線同心圓)320觸碰在觸摸屏表面的時候,在X軸和Y軸上的電容的分布會 呈現(xiàn)如圖3所示的波浪形狀。圖3中,由于手指的觸摸作用,在Y方向會呈現(xiàn)一個波峰,如310所示,在X方向會 呈現(xiàn)兩個波峰340和350,以及一個波谷360,如330所示。在檢測觸摸坐標時,美國專利 US5825352首先檢測第一個波峰340,然后再檢測波峰值旁邊的波谷360,接著檢測波谷后 面的波峰350,依次類推。如果存在一個明顯的波谷,則表示有兩個電容點發(fā)生觸摸動作。 類似,如果有兩個明顯的波谷,則表示有三個電容點發(fā)生觸摸動作。該檢測方法按照坐標方向依次檢測電容峰值和谷值,然后再按照峰值和谷值結(jié)合 的辦法來分辨觸摸的坐標,這樣,需要處理整屏的數(shù)據(jù),增加了處理器的負擔。本發(fā)明要解決的技術(shù)問題是提供一種需處理數(shù)據(jù)少,能夠減輕處理器負擔的電容 觸摸屏多點觸摸檢測方法。為了解決上述技術(shù)問題,本發(fā)明采用的技術(shù)方案是,一種電容觸摸屏多點觸摸檢 測方法,包括以下步驟101)對觸摸屏矩陣的行和列的電容進行掃描檢測,分別獲取觸摸屏矩陣行和列的 電容數(shù)據(jù);102)獲取初始電容閾值,將各行和各列的電容數(shù)據(jù)分別減去初始電容閾值后,得 到各行各列的計算電容值;103)判斷行和列計算電容值曲線中是否存在電容值大于零的曲線段,如有,則計算每段電容值大于零的曲線段的重心作為該曲線段對應(yīng)的接觸點坐標;如無,則認定為沒 有觸摸;104)將各接觸點列坐標和行坐標發(fā)送給處理器進行處理。以上所述的電容觸摸屏多點觸摸檢測方法,觸摸屏矩陣的每行和每列,均有各自 的初始電容閾值。以上所述的電容觸摸屏多點觸摸檢測方法,觸摸屏矩陣每行的電容閾值為該行的 掃描電容值與行電容值增量之和,每列的電容閾值為該列的掃描電容值與列電容值增量之 和;所述的掃描電容值為觸摸屏矩陣的行或列在沒有觸摸的條件下的電容值。以上所述的電容觸摸屏多點觸摸檢測方法,在沒有觸摸的條件下,觸摸屏矩陣每 掃描一個循環(huán),更新一次電容閾值。以上所述的電容觸摸屏多點觸摸檢測方法,在步驟103中,判斷行和列計算電容 值曲線中存在電容值大于零的曲線段之后,首先通過逐步提高電容閾值尋找每段電容值大 于零的曲線段的最高點,按照預(yù)設(shè)的寬度值保留所述最高點兩側(cè)的電容值曲線段,然后計 算每段電容值曲線段的重心作為該曲線段對應(yīng)的接觸點坐標。以上所述的電容觸摸屏多點觸摸檢測方法,當兩個鄰近接觸點的行和列的坐標小 于預(yù)設(shè)的坐標閾值時,把這兩個鄰近接觸點坐標按算術(shù)平均合并成觸摸點坐標。以上所述的電容觸摸屏多點觸摸檢測方法,在只有1個觸摸點的情況下,該觸摸 點在屏幕上的移動,判定為對圖像進行拖拽。以上所述的電容觸摸屏多點觸摸檢測方法,當2個既定觸摸點之間的直線的距離 發(fā)生變化時,判定為對圖像進行縮放;當1個既定觸摸點繞另1個既定觸摸點旋轉(zhuǎn)時,判定 為對圖像進行旋轉(zhuǎn)。以上所述的電容觸摸屏多點觸摸檢測方法,當2個既定觸摸點之間的直線的距離 發(fā)生變化的同時,2個既定觸摸點之間還產(chǎn)生相對旋轉(zhuǎn)時,如旋轉(zhuǎn)的角度小于預(yù)設(shè)值,則判 定為對圖像進行縮放;如旋轉(zhuǎn)的角度大于預(yù)設(shè)值,則判定為對圖像進行旋轉(zhuǎn)。以上所述的電容觸摸屏多點觸摸檢測方法,當2個既定觸摸點中的1個不動,另一 個移動時,如移動觸摸點移動方向與2個既定觸摸點連線之間的夾角小于預(yù)設(shè)角度,則判 定為對圖像進行縮放;如移動觸摸點移動方向與2個既定觸摸點連線之間的夾角大于預(yù)設(shè) 角度,則判定為對圖像進行旋轉(zhuǎn)。本發(fā)明電容觸摸屏多點觸摸檢測方法對檢測電容設(shè)置了 一個門限值,處理器只要 處理高于門限值的電容數(shù)據(jù),既降低了需處理數(shù)據(jù)量,減輕了處理器的工作負擔,又在一定 程度增加了系統(tǒng)的抗干擾性,降低了誤觸摸幾率。下面結(jié)合附圖和具體實施方式
對本發(fā)明作進一步詳細的說明。圖1是現(xiàn)有技術(shù)觸摸屏觸摸檢測原理圖。圖2是現(xiàn)有技術(shù)自電容觸摸屏的等效電路圖。圖3是現(xiàn)有技術(shù)觸摸電容大小分布圖。圖4是本發(fā)明與現(xiàn)有技術(shù)觸摸檢測方法比較圖。其中圖4. 1是“海平面”示意圖; 圖4. 2是坐標計算示意圖。
圖5是本發(fā)明電容觸摸屏多點觸摸檢測方法的流程圖。其中,圖5. 1為觸摸坐標 計算流程圖;圖5. 2為“山峰”分離流程圖。圖6是本發(fā)明電容觸摸屏多點觸摸檢測方法實施例圖像的移動的示意圖。其中, 圖6a是圖像移動手指觸摸動作示意圖;圖6b是圖像移動示意圖。圖7是本發(fā)明電容觸摸屏多點觸摸檢測方法實施例圖像放大(或者縮小)的示意 圖。其中,圖7a是圖像縮放手指觸摸動作示意圖;圖7b圖像縮放示意圖。
圖8是本發(fā)明電容觸摸屏多點觸摸檢測方法實施例圖像的旋轉(zhuǎn)的示意圖。其中, 圖8a圖像旋轉(zhuǎn)手指觸摸動作示意圖;圖8b圖像旋轉(zhuǎn)示意9是自電容多點觸摸“鬼影”機理示意圖。在圖4. 1中,A圖中的410為原始采樣數(shù)據(jù),每個觸摸行或者列由一個個不同大小 電容構(gòu)成的一個個“山峰”。US5825352即對410進行直接處理得到440、450、460、470每個 “山峰”對應(yīng)的峰值和谷值,B圖中的420即為本發(fā)明由行和列電容閾值構(gòu)成的初始“海平 面”,這個“海平面”可以是溫度、濕度和構(gòu)成矩陣電容行列的函數(shù)。由行和列電容閾值構(gòu)成 的“海平面”高,抗干擾能力增強,靈敏度降低;“海平面”低,抗干擾能力降低,靈敏度增強。 在C圖中,經(jīng)過由行和列電容閾值構(gòu)成的“海平面”420處理后,得到441、451和471所示的 高于“海平面”,電容值大于零的曲線段構(gòu)成的“山峰”。如果在C圖中沒有“山峰”存在,則 表示沒有觸摸發(fā)生。從圖4. IC可以看出,觸摸點形成的“山峰”被“海平面”分離,在每段電容值大于零 的曲線段“山峰”的兩側(cè)是平坦的“平面”,這樣可以方便地按照下面求重心坐標的公式1) 求出觸摸點的坐標。為了更加精確,還可以進行下面的步驟在D圖中,430為從“海平面” 420再次升高的新的“海平面”,“海平面”升高的高 度以出現(xiàn)孤點472為宜。在圖4. 2中,以圖4. ID中的472為中心點,左右對稱從圖4. IC中的471中取出
2K+1個數(shù)據(jù)(K預(yù)設(shè)的自然數(shù),如1、2、3......),可以得到分離的“山峰” 473。然后按照下
面求重心坐標的公式1)求出473區(qū)域的坐標,這樣待處理的結(jié)果大大減少,同時也增加了 系統(tǒng)的抗干擾能力(如去掉了圖4. IA中由干擾產(chǎn)生的電容“山峰” 460)。求重心坐標的公式1)[令 Δ '如果在形成孤點472后,“海平面”430上還有電容“山峰”,如442和452存在,則 可以繼續(xù)增加“海平面”的高度,直至出現(xiàn)下一個電容值孤點,否者認為所有的電容“山峰” 均被分離。如前所述,由行和列電容閾值構(gòu)成的“海平面”與溫度、濕度和構(gòu)成矩陣的行列電 容有關(guān),為了避免出現(xiàn)“誤響應(yīng)”或者“不響應(yīng)”,這個“海平面”需要作實時調(diào)整。參閱圖5 的自我調(diào)整技術(shù),即在每幀掃描結(jié)束后,判斷是否有觸摸,如果沒有觸摸,則根據(jù)掃描結(jié)果 更新電容閾值。也就是說,在沒有觸摸的條件下,觸摸屏矩陣每掃描一個循環(huán),更新一次電 容閾值,不僅反映了觸摸屏矩陣構(gòu)造的不均一因素對矩陣行列電容的影響,而且將溫度、濕 度的變化對矩陣行列電容的影響實時反映到電容閾值中。這樣,由行和列電容閾值構(gòu)成的“海平面”也不是一個真的“平面”,由于生產(chǎn)工藝的不同,觸摸屏對應(yīng)矩陣的每個行或者列, 均可有一個電容閾值,這些電容閾值即構(gòu)成了略有起伏的初始“海平面”。圖5. 1為本發(fā)明電容觸摸屏多點觸摸檢測方法一個循環(huán)的流程圖,啟動掃描程序 后,首先取出每行每列的電容閾值數(shù)據(jù)Cyhn(n從0到N-I,其中N為電容觸摸屏行數(shù))和 Cxhm (m從0到M-I,其中M為電容觸摸屏列數(shù))。取了電容閾值數(shù)據(jù)后,接著進行行列掃描,首先掃描行,從第一行掃描到N行,每 個掃描電容數(shù)據(jù)Cyn減去對應(yīng)行的電容閾值Cyhn為ACyn,即是門限值以上第η行的電容 值,存儲ACyn*Cyn。對Δ Cyn的處理根據(jù)如下法則如果該差值Δ Cyn等于或小于零, 則存儲的ACyn為0,否者存儲門限值(電容閾值)以上的電容值A(chǔ)Cyn。當行掃描完成后,即可以進行“山峰”分離。分離方法可以參考圖4. 2中的473和 圖5. 2。當一行掃描完成時,首先判斷在初始“海平面”上是否有“山峰”,如果有,則升高“海 平面”直至第一個電容孤點出現(xiàn)。如圖4. ID中的472出 現(xiàn)。 以圖4. IC中的471為中心對 稱,從471中取2K+1個數(shù)據(jù)構(gòu)成新的“山峰”。接著再判斷新的“海平面”上是否還有“山 峰”存在,如果有“山峰”存在,則繼續(xù)升高“海平面”得到第二個電容孤點,形成第二個“山 峰”。繼續(xù)升高“海平面”直至所有“山峰”的電容孤點被取出并形成新的分離“山峰”。當 “海平面”上沒孤立電容時,表示分離完成。完成“山峰”分離后,可以按照公式1)對每個分離的“山峰”進行計算求出每個“山 峰”的重心,即每個“山峰”的中心行坐標。按照上述的方法,同樣可以求出每個山峰的中心列坐標。當每個山峰的行列坐標求出后,可以進行坐標組合求出觸摸點坐標。為了避免干 擾導(dǎo)致的一個觸摸山峰出現(xiàn)多個電容孤點的問題,可以設(shè)置一個坐標閾值(如5mm)。即當 兩個鄰近觸摸點的行和列的坐標小于這個閾值時,可以把這兩個坐標按算術(shù)平均得到一個 新的坐標,這個坐標即為觸摸點坐標。從上面的分析可以看出,這種檢測方法和觸摸的點數(shù)沒有關(guān)系。在每完成一幀電容掃描后,首先判斷是否有觸摸發(fā)生,即行或列是否有“山峰”,如 有觸摸發(fā)生,則將觸摸坐標發(fā)送給處理器以完成相應(yīng)的動作。如果沒有觸摸發(fā)生,即ACyn 和Δ Cxm全部為零,則更新全部電容閾值。處理方法為取出存儲的Cyn和Cxm,新的電容閾 值即為Cyhn = Cyn+Δ Cy,Cxhm = Cxm+Δ Cx,其中電容值增量Δ Cy和ACx為固定的常數(shù), 如果要求靈敏度高,可以把電容值增量ACy和ACx設(shè)置低一點,如果要求抗干擾能力強, 可以把電容值增量ACy和ACx設(shè)置高一點。圖5中參數(shù)定義如下 本發(fā)明技術(shù)方案帶來的有益效果是采用了電容閾值技術(shù)后,對檢測電容設(shè)置了一個門限值,既降低了待處理數(shù)據(jù)量, 又在一定程度增加了系統(tǒng)的抗干擾性,可以降低誤觸摸的幾率。操作實施例基于電容閾值的自電容多點觸摸算法,可以靈活的處理各種圖像操作,如圖片的 移動、縮放、旋轉(zhuǎn)等。具體示意圖見圖6、7、8。在圖6、7、8中,帶箭頭的實線為手指或者圖像的移動軌跡,同心圓表示移動前的 手指,虛線同心圓表示移動后的手指。圖6為單點觸摸實現(xiàn)圖像的移動。在圖像移動過程中,單手指必須觸摸在屏上,即 相當于在屏上劃線,該線的軌跡即為圖像的移動軌跡,這個給用戶的感覺就是在對圖像進 行拖拽。圖7為兩點實現(xiàn)圖像的放大縮小功能。為完成這個功能,兩個手指也必須觸摸在 屏上,因為兩個手指都不離開屏幕,兩個觸摸點為既定觸摸點??梢詢蓚€手指同時移動,也 可以一個手指不動,另外一個手指移動。根據(jù)移動前的距離和移動后的距離的比例關(guān)系確 定圖像的縮放比例關(guān)系。為了和圖像的旋轉(zhuǎn)分開,手指移動的軌跡盡量在一個方向上。在圖9中,當檢測到圖9的X和Y軸的“山峰”時(即手指不在電容屏同一行或者 列),處理器將不能判斷手指是處在圖9中左圖中的狀態(tài)還是處在圖9中右圖的狀態(tài),即我們所說的“鬼影”。從圖9的左圖和右圖中可以看出,這兩個圖中觸摸點之間的距離相同,這 樣,如果只是對圖像做縮放功能,即按照屏的中心對稱點縮放圖像,可以通過計算兩個手指 之間移動前后的距離得到圖像縮放比例。如果需要得到圖像的旋轉(zhuǎn)方向,則可以采用圖8 所示的方法。圖8為兩點實現(xiàn)圖像的旋轉(zhuǎn),這個功能的實現(xiàn)充分考慮了人體的動作習(xí)慣,實現(xiàn) 起來非常輕松。實現(xiàn)過程如下先將一個手指,如拇指,放在觸摸屏上,然后放上另外一個手 指如食指。拇指不動,按順時針或者逆時鐘方向旋轉(zhuǎn)食指。食指移動的角度和方向即為圖 像移動的角度和方向。在食指移動的過程中,食指也必須放在觸摸屏上。圖像的旋轉(zhuǎn)過程 以拇指為支點,食指為旋轉(zhuǎn)點。同理,用戶也可以以食指為支點,拇指為旋轉(zhuǎn)點,這完全取決 于用戶的習(xí)慣,其軟件的處理方法完全相同。采用支點的辦法,可以解決由于“鬼影”導(dǎo)致 軟件不能區(qū)分旋轉(zhuǎn)方向的問題。
在圖像的旋轉(zhuǎn)過程中,支點的位移必須控制在一定范圍。為了區(qū)分圖像的縮放和 旋轉(zhuǎn),可以設(shè)置一個臨界角度值,如25°,如旋轉(zhuǎn)的角度在25°以內(nèi),可以認為是圖片的縮 放,旋轉(zhuǎn)的角度在25°以外,可以認為是圖片的旋轉(zhuǎn)。也可以下面的方法,當2個既定觸摸點中的支點不動,另一個觸摸點移動時,如移 動觸摸點移動方向與2個既定觸摸點連線之間的夾角小于45度,則判定為對圖像進行縮 放;如移動觸摸點移動方向與2個既定觸摸點連線之間的夾角小于45度,則判定為對圖像 進行旋轉(zhuǎn)。
權(quán)利要求
一種電容觸摸屏多點觸摸檢測方法,其特征在于,包括以下步驟101)對觸摸屏矩陣的行和列的電容進行掃描檢測,分別獲取觸摸屏矩陣行和列的電容數(shù)據(jù);102)獲取初始電容閾值,將各行和各列的電容數(shù)據(jù)分別減去初始電容閾值后,得到各行各列的計算電容值;103)判斷行和列計算電容值曲線中是否存在電容值大于零的曲線段,如有,則計算每段電容值大于零的曲線段的重心作為該曲線段對應(yīng)的接觸點坐標;如無,則認定為沒有觸摸;104)將各接觸點列坐標和行坐標發(fā)送給處理器進行處理。
2.根據(jù)權(quán)利要求1所述的電容觸摸屏多點觸摸檢測方法,其特征在于,觸摸屏矩陣的 每行和每列,均有各自的初始電容閾值。
3.根據(jù)權(quán)利要求2所述的電容觸摸屏多點觸摸檢測方法,其特征在于,觸摸屏矩陣每 行的電容閾值為該行的掃描電容值與行電容值增量之和,每列的電容閾值為該列的掃描電 容值與列電容值增量之和;所述的掃描電容值為觸摸屏矩陣的行或列在沒有觸摸的條件下 的電容值。
4.根據(jù)權(quán)利要求3所述的電容觸摸屏多點觸摸檢測方法,其特征在于,在沒有觸摸的 條件下,觸摸屏矩陣每掃描一個循環(huán),更新一次電容閾值。
5.根據(jù)權(quán)利要求1所述的電容觸摸屏多點觸摸檢測方法,其特征在于,在步驟103中, 判斷行和列計算電容值曲線中存在電容值大于零的曲線段之后,首先通過逐步提高電容閾 值尋找每段電容值大于零的曲線段的最高點,按照預(yù)設(shè)的寬度值保留所述最高點兩側(cè)的電 容值曲線段,然后計算每段電容值曲線段的重心作為該曲線段對應(yīng)的接觸點坐標。
6.根據(jù)權(quán)利要求5所述的電容觸摸屏多點觸摸檢測方法,其特征在于,當兩個鄰近接 觸點的行和列的坐標小于預(yù)設(shè)的坐標閾值時,把這兩個鄰近接觸點坐標按算術(shù)平均合并成 觸摸點坐標。
7.根據(jù)權(quán)利要求1至6中任一權(quán)利要求所述的電容觸摸屏多點觸摸檢測方法,其特征 在于,在只有1個觸摸點的情況下,該觸摸點在屏幕上的移動,判定為對圖像進行拖拽。
8.根據(jù)權(quán)利要求1至6中任一權(quán)利要求所述的電容觸摸屏多點觸摸檢測方法,其特征 在于,當2個既定觸摸點之間的直線的距離發(fā)生變化時,判定為對圖像進行縮放;當1個既 定觸摸點繞另1個既定觸摸點旋轉(zhuǎn)時,判定為對圖像進行旋轉(zhuǎn)。
9.根據(jù)權(quán)利要求8所述的電容觸摸屏多點觸摸檢測方法,其特征在于,當2個既定觸摸 點之間的直線的距離發(fā)生變化的同時,2個既定觸摸點之間還產(chǎn)生相對旋轉(zhuǎn)時,如旋轉(zhuǎn)的角 度小于預(yù)設(shè)值,則判定為對圖像進行縮放;如旋轉(zhuǎn)的角度大于預(yù)設(shè)值,則判定為對圖像進行 旋轉(zhuǎn)。
10.根據(jù)權(quán)利要求8所述的電容觸摸屏多點觸摸檢測方法,其特征在于,當2個既定觸 摸點中的1個不動,另一個移動時,如移動觸摸點移動方向與2個既定觸摸點連線之間的夾 角小于預(yù)設(shè)角度,則判定為對圖像進行縮放;如移動觸摸點移動方向與2個既定觸摸點連 線之間的夾角大于預(yù)設(shè)角度,則判定為對圖像進行旋轉(zhuǎn)。
全文摘要
本發(fā)明公開了一種電容觸摸屏多點觸摸檢測方法,包括以下步驟對觸摸屏矩陣的行和列的電容進行掃描檢測,分別獲取觸摸屏矩陣行和列的電容數(shù)據(jù);獲取初始電容閾值,將各行和各列的電容數(shù)據(jù)分別減去初始電容閾值后,得到各行各列的計算電容值;判斷行和列計算電容值曲線中是否存在電容值大于零的曲線段,如有,則計算每段電容值大于零的曲線段的重心作為該曲線段對應(yīng)的接觸點坐標;如無,則認定為沒有觸摸;將各接觸點列坐標和行坐標發(fā)送給處理器進行處理。本發(fā)明既降低了需處理數(shù)據(jù)量,減輕了處理器的工作負擔,又在一定程度增加了系統(tǒng)的抗干擾性,降低了誤觸摸幾率。
文檔編號G06F3/044GK101840295SQ20101012163
公開日2010年9月22日 申請日期2010年3月10日 優(yōu)先權(quán)日2010年3月10日
發(fā)明者張靖愷, 莫良華, 郭艷 申請人:敦泰科技(深圳)有限公司