基于AD7879的“兩點(diǎn)觸摸”手勢(shì)識(shí)別系統(tǒng)的實(shí)現(xiàn)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
引言
在許多消費(fèi)電子應(yīng)用中,電容式觸控技術(shù)與目前市場(chǎng)占有率最高的傳統(tǒng)電阻式觸控技術(shù)相比,為使用者帶來(lái)了多項(xiàng)優(yōu)點(diǎn),包括:更佳的視覺(jué)享受──提供高達(dá)97%的穿透率與更真實(shí)的色彩呈現(xiàn);更輕松靈活的操控性──觸控功能的實(shí)現(xiàn)只需輕觸即可,甚至於可不必實(shí)際與面板接觸;更長(zhǎng)的使用壽命──電容式面板的壽命約為兩億次,為四線電阻式(一百萬(wàn)次)的兩百倍,五線電阻式(四千萬(wàn)次)的五倍。目前,低成本阻性技術(shù)的應(yīng)用市場(chǎng)包括:只需要單點(diǎn)觸控、至關(guān)重要的極其精確的空間分辨率、利用觸控筆來(lái)實(shí)現(xiàn)特定功能(如亞洲語(yǔ)言符號(hào)識(shí)別等),或者用戶必須戴手套的場(chǎng)合。以小尺寸為主流的消費(fèi)性市場(chǎng)在觸控技術(shù)的選擇上僅有電阻式與投射電容式兩種,前者雖然成本低廉,但是不佳的光學(xué)表現(xiàn)與耐受性長(zhǎng)期受到市場(chǎng)詬?。会嵴唠m有多項(xiàng)優(yōu)點(diǎn),但真正能量產(chǎn)的供應(yīng)商屈指可數(shù),售價(jià)自然相當(dāng)昂貴,以致僅見(jiàn)於少數(shù)高單價(jià)產(chǎn)品上。
雖然阻性技術(shù)傳統(tǒng)上是用來(lái)檢測(cè)屏幕上“單點(diǎn)觸摸”的位置,但本文提出了一個(gè)創(chuàng)新的“兩點(diǎn)觸摸”概念,它利用阻性觸摸屏控制器AD7879在廉價(jià)的阻性觸摸屏上檢測(cè)最常見(jiàn)的雙指手勢(shì)(縮放、捏合和旋轉(zhuǎn))。
1 阻性觸摸屏的經(jīng)典方法
典型的阻性觸摸屏包括兩個(gè)平行的氧化銦錫(ITO)導(dǎo)電層,中間的間隙將兩層分開(kāi)(圖1)。上層(Y)的邊緣電極相對(duì)于下層(X)的邊緣電極旋轉(zhuǎn)90°。當(dāng)對(duì)屏幕的一個(gè)小區(qū)域施加壓力,使這兩層發(fā)生電氣接觸時(shí),就發(fā)生了“觸摸”現(xiàn)象。如果在上層的兩個(gè)電極之間施加一個(gè)直流電壓,而下層懸空,則觸摸將使下層獲得與觸摸點(diǎn)相同的電壓。判斷上層方向觸摸坐標(biāo)的方法是測(cè)量下層的電壓,以便確定觸摸點(diǎn)處的電阻占總電阻的比值。然后交換兩層的電氣連接,獲得觸摸點(diǎn)在另一個(gè)軸上的坐標(biāo)。
連接直流電壓的層稱為“有源”層,電流與其阻抗成反比。測(cè)量電壓的層稱為“無(wú)源”層,無(wú)相關(guān)電流流經(jīng)該層。發(fā)生單點(diǎn)觸摸時(shí),在有源層中形成一個(gè)分壓器,無(wú)源層電壓測(cè)量通過(guò)一個(gè)模數(shù)轉(zhuǎn)換器讀取與觸摸點(diǎn)和負(fù)電極之間的距離成比例的電壓。
由于成本低廉,傳統(tǒng)的4線阻性觸摸屏深受單點(diǎn)觸控應(yīng)用的歡迎。實(shí)現(xiàn)阻性多點(diǎn)觸控的技術(shù)有多種,其中總是會(huì)用到一個(gè)矩陣布局屏幕,但屏幕制造成本高得嚇人。此外,控制器需要許多輸入和輸出來(lái)測(cè)量和驅(qū)動(dòng)各個(gè)屏幕帶,導(dǎo)致控制器成本和測(cè)量時(shí)間增加。
圖1.(a)阻性觸摸屏的結(jié)構(gòu);(b)用戶觸摸屏幕時(shí)的電氣接觸
2 超越單點(diǎn)觸控
雖然如此,但通過(guò)理解并模擬該過(guò)程背后的物理原理,我們可以從阻性觸摸屏提取更多信息。當(dāng)發(fā)生兩點(diǎn)觸摸時(shí),無(wú)源屏幕中的一段電阻加上觸點(diǎn)的電阻與有源屏幕的導(dǎo)電段并聯(lián),因此電源的負(fù)載阻抗減小,電流增大。阻性控制器的經(jīng)典方法是假設(shè)有源層中的電流恒定不變,無(wú)源層為等電位。兩點(diǎn)觸摸時(shí),這些假設(shè)不再成立,為了提取所需的信息,需要進(jìn)行更多測(cè)量。
阻性屏幕中的兩點(diǎn)觸摸檢測(cè)模型如圖2所示。Rtouch為層間的接觸電阻;在現(xiàn)有的大多數(shù)屏幕中,其數(shù)量級(jí)一般與兩層的電阻相同。如果有一個(gè)恒定的電流I流經(jīng)有源層的兩端,則有源層上的電壓為:
圖2.阻性屏幕兩點(diǎn)觸摸的基本模型
3 手勢(shì)識(shí)別
以“捏合”(pinch)作為范例可以更好地描述手勢(shì)識(shí)別的工作原理。捏合手勢(shì)從兩根分開(kāi)較遠(yuǎn)的手指觸摸開(kāi)始,產(chǎn)生雙重接觸,使得屏幕的阻抗降低,有源層兩根電極之間的電壓差因此減小。隨著兩根手指越來(lái)越接近,并聯(lián)面積減小,因而屏幕的阻抗提高,有源層兩根電極之間的電壓差相應(yīng)地增大。
緊密捏合后,并聯(lián)電阻趨于0,Ru+Rd提高到總電阻,因此電壓增大到:
圖3顯示了一個(gè)沿著垂直(Y)軸捏合的例子。當(dāng)手勢(shì)開(kāi)始時(shí),其中一層的兩根電極之間的電壓恒定不變,另一層則表現(xiàn)出階躍性降低,然后隨著手指相互靠近而提高。
圖3.垂直捏合時(shí)的電壓測(cè)量
圖4顯示傾斜捏合時(shí)的電壓測(cè)量結(jié)果。這種情況下,兩個(gè)電壓均表現(xiàn)出階躍性降低,然后緩慢恢復(fù)。兩個(gè)恢復(fù)速率(利用各層的電阻歸一化)的比值可以用來(lái)檢測(cè)手勢(shì)的角度。
圖4.傾斜捏合時(shí)的電壓測(cè)量
如果手勢(shì)為縮放(手指分開(kāi)),其行為可以從上述討論推導(dǎo)出來(lái)。圖5顯示了沿各軸及沿傾斜方向縮放時(shí)測(cè)得的兩個(gè)有源層電壓趨勢(shì)。
圖5.沿不同方向縮放時(shí)的電壓趨勢(shì)
4 利用AD7879檢測(cè)手勢(shì)
AD7879觸摸屏控制器設(shè)計(jì)用于與4線式阻性觸摸屏接口。除了檢測(cè)觸摸動(dòng)作外,它還能測(cè)量溫度和輔助輸入端的電壓。所有四種觸摸測(cè)量加上溫度、電池、輔助電壓測(cè)量,均可以通過(guò)編程寫(xiě)入其片內(nèi)序列器。
AD7879結(jié)合一對(duì)低成本運(yùn)算放大器,可以執(zhí)行上述捏合和縮放手勢(shì)測(cè)量,如圖6所示。
下面的步驟說(shuō)明了手勢(shì)識(shí)別的過(guò)程:
在前半周期中,將一個(gè)直流電壓施加于上層(有源層),并測(cè)量X+引腳的電壓(對(duì)應(yīng)于VY+–VY–),以提供與Y方向上的運(yùn)動(dòng)(接近還是分開(kāi))相關(guān)的信息。
在后半周期中,將一個(gè)直流電壓施加于下層(有源層),并測(cè)量Y+引腳的電壓(對(duì)應(yīng)于VX+–VX–),以提供與X方向上的運(yùn)動(dòng)(接近還是分開(kāi))相關(guān)的信息。
圖6所示的電路需要為差分放大器提供保護(hù),防止短接到VDD。在前半周期中,下方放大器的輸出短接到VDD。在后半周期中,上方放大器的輸出短接到VDD。為避免這種現(xiàn)象,AD7879的GPIO可以控制兩個(gè)外部模擬開(kāi)關(guān),如圖7所示。
圖6.基本手勢(shì)檢測(cè)應(yīng)用圖
圖7.避免放大器輸出短接到VDD的應(yīng)用圖
這種情況下,AD7879設(shè)置為從機(jī)轉(zhuǎn)換模式,并且僅測(cè)量半個(gè)周期。當(dāng)AD7879完成轉(zhuǎn)換時(shí),產(chǎn)生一個(gè)中斷,主處理器重新設(shè)置AD7879以測(cè)量第二個(gè)半周期,并且改變AD7879GPIO的值。第二轉(zhuǎn)換結(jié)束時(shí),兩層的測(cè)量結(jié)果均存儲(chǔ)在器件中。
旋轉(zhuǎn)可以通過(guò)一個(gè)方向上的同時(shí)縮放和一個(gè)傾斜捏合來(lái)模擬,因此檢測(cè)旋轉(zhuǎn)并不困難。挑戰(zhàn)在于區(qū)別旋轉(zhuǎn)是順時(shí)針(CW)還是逆時(shí)針(CCW),這無(wú)法通過(guò)上述過(guò)程來(lái)實(shí)現(xiàn)。為了檢測(cè)旋轉(zhuǎn)及其方向,需要在兩層(有源層和無(wú)源層)上進(jìn)行測(cè)量,如圖8所示。圖7中的電路無(wú)法滿足之一要求,圖9提出了一種新的拓?fù)浣Y(jié)構(gòu)。
圖8 順時(shí)針和逆時(shí)針旋轉(zhuǎn)時(shí)的電壓測(cè)量
圖9所示的拓?fù)浣Y(jié)構(gòu)實(shí)現(xiàn)了如下功能:
半周期1:電壓施加于Y層,同時(shí)測(cè)量(VY+–VY–)、VX–和VX+。每完成一個(gè)測(cè)量,AD7879就會(huì)產(chǎn)生一個(gè)中斷,以便處理器改變GPIO配置。
半周期2:電壓施加于X層,同時(shí)測(cè)量(VX+–VX–)、VY–和VY+。
圖9中的電路可以測(cè)量所有需要的電壓來(lái)實(shí)現(xiàn)全部性能,包括:a)單點(diǎn)觸摸位置;b)縮放、捏合、旋轉(zhuǎn)手勢(shì)檢測(cè)和量化;c)區(qū)別順時(shí)針與逆時(shí)針旋轉(zhuǎn)。用兩點(diǎn)觸摸手勢(shì)來(lái)完成單點(diǎn)觸摸操作時(shí),可以估計(jì)手勢(shì)的中心位置。
圖9.單點(diǎn)觸摸位置和手勢(shì)檢測(cè)的應(yīng)用圖
5 實(shí)用提示
輕柔手勢(shì)產(chǎn)生的電壓變化相當(dāng)微細(xì)。通過(guò)放大這種變化,可以提高系統(tǒng)的魯棒性。例如,可以在屏幕的電極與AD7879的引腳之間增加一個(gè)小電阻,這將能提高有源層的壓降,但單點(diǎn)觸摸定位精度會(huì)有所下降。
另一種方法是僅在低端連接上增加一個(gè)電阻,當(dāng)X層或Y層為有源層時(shí),僅檢測(cè)X–或Y–電極。這樣就可以應(yīng)用一定的增益,因?yàn)橹绷髦迪喈?dāng)?shù)汀?/font>
ADI公司有許多放大器和多路復(fù)用器可以滿足圖6、圖7和圖9所示應(yīng)用的需求。測(cè)試電路使用AD8506雙通道運(yùn)算放大器和ADG16xx系列模擬多路復(fù)用器;多路復(fù)用器的導(dǎo)通電阻很低,采用3.3V單電源供電。
6 結(jié)語(yǔ)
利用AD7879控制器和極少的輔助電路,可以檢測(cè)縮放、捏合和旋轉(zhuǎn)。只需在有源層上進(jìn)行測(cè)量,就能識(shí)別這些手勢(shì)。在主處理器的控制下,利用兩個(gè)GPIO測(cè)量無(wú)源層的電壓,可以區(qū)別旋轉(zhuǎn)方向。在該處理器中執(zhí)行相當(dāng)簡(jiǎn)單的算法,就能識(shí)別縮放、捏合和旋轉(zhuǎn),估計(jì)其范圍、角度和方向。