對于各種消費,、醫(yī)療,、汽車和工業(yè)設備,增強的低成本觸控式用戶界面是一個極具價值的特性,。在許多消費電子應用中,,設計師偏向使用容性觸摸屏,,而不愿使用阻性觸摸技術(shù),原因是前者可以跟蹤手指,,似乎能夠提供更友好的用戶交互體驗,。目前,低成本阻性技術(shù)的應用市場包括:只需要單點觸控,、至關(guān)重要的極其精確的空間分辨率,、利用觸控筆來實現(xiàn)特定功能(如亞洲語言符號識別等),或者用戶必須戴手套的場合,。 雖然阻性技術(shù)傳統(tǒng)上是用來檢測屏幕上“單點觸摸”的位置,,但本文提出了一個創(chuàng)新的“兩點觸摸”概念,它利用阻性觸摸屏控制器 AD7879 在廉價的阻性觸摸屏上檢測最常見的雙指手勢(縮放,、捏合和旋轉(zhuǎn)),。
雖然阻性技術(shù)傳統(tǒng)上是用來檢測屏幕上“單點觸摸”的位置,但本文提出了一個創(chuàng)新的“兩點觸摸”概念,,它利用阻性觸摸屏控制器 AD7879 在廉價的阻性觸摸屏上檢測最常見的雙指手勢(縮放,、捏合和旋轉(zhuǎn))。
阻性觸摸屏的經(jīng)典方法
典型的阻性觸摸屏包括兩個平行的氧化銦錫(ITO)導電層,,中間的間隙將兩層分開(圖 1),。上層(Y)的邊緣電極相對于下層(X)的邊緣電極旋轉(zhuǎn) 90°。當對屏幕的一個小區(qū)域施加壓力,,使這兩層發(fā)生電氣接觸時,,就發(fā)生了“觸摸”現(xiàn)象。如果在上層的兩個電極之間施加一個直流電壓,,而下層懸空,,則觸摸將使下層獲得與觸摸點相同的電壓。判斷上層方向觸摸坐標的方法是測量下層的電壓,,以便確定觸摸點處的電阻占總電阻的比值,。然后交換兩層的電氣連接,獲得觸摸點在另一個軸上的坐標,。
連接直流電壓的層稱為“有源”層,,電流與其阻抗成反比。測量電壓的層稱為“無源”層,,無相關(guān)電流流經(jīng)該層,。發(fā)生單點觸摸時,在有源層中形成一個分壓器,,無源層電壓測量通過一個模數(shù)轉(zhuǎn)換器讀取與觸摸點和負電極之間的距離成比例的電壓1.
由于成本低廉,,傳統(tǒng)的 4 線阻性觸摸屏深受單點觸控應用的歡迎。實現(xiàn)阻性多點觸控的技術(shù)有多種,,其中總是會用到一個矩陣布局屏幕,,但屏幕制造成本高得嚇人,。此外,控制器需要許多輸入和輸出來測量和驅(qū)動各個屏幕帶,,導致控制器成本和測量時間增加,。
圖 1. (a) 阻性觸摸屏的結(jié)構(gòu);(b) 用戶觸摸屏幕時的電氣接觸
超越單點觸控
雖然如此,,但通過理解并模擬該過程背后的物理原理,,我們可以從阻性觸摸屏提取更多信息。當發(fā)生兩點觸摸時,,無源屏幕中的一段電阻加上觸點的電阻與有源屏幕的導電段并聯(lián),,因此電源的負載阻抗減小,電流增大,。阻性控制器的經(jīng)典方法是假設有源層中的電流恒定不變,,無源層為等電位。兩點觸摸時,,這些假設不再成立,,為了提取所需的信息,需要進行更多測量,。
阻性屏幕中的兩點觸摸檢測模型如圖 2 所示,。Rtouch為層間的接觸電阻;在現(xiàn)有的大多數(shù)屏幕中,,其數(shù)量級一般與兩層的電阻相同。如果有一個恒定的電流I流經(jīng)有源層的兩端,,則有源層上的電壓為:
圖 2. 阻性屏幕兩點觸摸的基本模型
手勢識別
以“捏合”(pinch)作為范例可以更好地描述手勢識別的工作原理,。捏合手勢從兩根分開較遠的手指觸摸開始,產(chǎn)生雙重接觸,,使得屏幕的阻抗降低,,有源層兩根電極之間的電壓差因此減小。隨著兩根手指越來越接近,,并聯(lián)面積減小,,因而屏幕的阻抗提高,有源層兩根電極之間的電壓差相應地增大,。
緊密捏合后,,并聯(lián)電阻趨于 0,Ru + Rd提高到總電阻,,因此電壓增大到:
圖 3 顯示了一個沿著垂直(Y)軸捏合的例子,。當手勢開始時,其中一層的兩根電極之間的電壓恒定不變,,另一層則表現(xiàn)出階躍性降低,,然后隨著手指相互靠近而提高,。
圖 3. 垂直捏合時的電壓測量
圖 4 顯示傾斜捏合時的電壓測量結(jié)果。這種情況下,,兩個電壓均表現(xiàn)出階躍性降低,,然后緩慢恢復。兩個恢復速率(利用各層的電阻歸一化)的比值可以用來檢測手勢的角度,。
圖 4. 傾斜捏合時的電壓測量
如果手勢為縮放(手指分開),,其行為可以從上述討論推導出來。圖 5 顯示了沿各軸及沿傾斜方向縮放時測得的兩個有源層電壓趨勢,。
圖 5. 沿不同方向縮放時的電壓趨勢
利用 AD7879檢測手勢
AD7879 觸摸屏控制器設計用于與 4 線式阻性觸摸屏接口,。除了檢測觸摸動作外,它還能測量溫度和輔助輸入端的電壓,。所有四種觸摸測量加上溫度,、電池、輔助電壓測量,,均可以通過編程寫入其片內(nèi)序列器,。
AD7879 結(jié)合一對低成本運算放大器,可以執(zhí)行上述捏合和縮放手勢測量,,如圖 6所示,。
下面的步驟說明了手勢識別的過程:
- 在前半周期中,將一個直流電壓施加于上層(有源層),,并測量X+引腳的電壓(對應于VY+ – VY–),,以提供與Y方向上的運動(接近還是分開)相關(guān)的信息。
- 在后半周期中,,將一個直流電壓施加于下層(有源層),,并測量Y+引腳的電壓(對應于VX+ – VX–),以提供與X方向上的運動(接近還是分開)相關(guān)的信息,。
圖 6 所示的電路需要為差分放大器提供保護,,防止短接到 VDD。在前半周期中,,下方放大器的輸出短接到VDD,。在后半周期中,上方放大器的輸出短接到VDD,。為避免這種現(xiàn)象,, AD7879的GPIO可以控制兩個外部模擬開關(guān),如圖 7所示,。
圖 6. 基本手勢檢測應用圖
圖 7. 避免放大器輸出短接到VDD的應用圖
這種情況下,,AD7879 設置為從機轉(zhuǎn)換模式,并且僅測量半個周期,。當 AD7879 完成轉(zhuǎn)換時,,產(chǎn)生一個中斷,,主處理器重新設置 AD7879 以測量第二個半周期,并且改變 AD7879 GPIO 的值,。第二轉(zhuǎn)換結(jié)束時,,兩層的測量結(jié)果均存儲在器件中。
旋轉(zhuǎn)可以通過一個方向上的同時縮放和一個傾斜捏合來模擬,,因此檢測旋轉(zhuǎn)并不困難,。挑戰(zhàn)在于區(qū)別旋轉(zhuǎn)是順時針 (CW)還是逆時針(CCW),這無法通過上述過程來實現(xiàn),。為了檢測旋轉(zhuǎn)及其方向,,需要在兩層(有源層和無源層)上進行測量,如圖 8 所示,。圖 7 中的電路無法滿足之一要求,,圖 9 提出了一種新的拓撲結(jié)構(gòu)。
圖 8. 順時針和逆時針旋轉(zhuǎn)時的電壓測量
圖 9所示的拓撲結(jié)構(gòu)實現(xiàn)了如下功能:
- 半周期 1:電壓施加于Y層,,同時測量(VY+ – VY–),、VX–和 VX+。每完成一個測量,,AD7879 就會產(chǎn)生一個中斷,,以便處理器改變GPIO配置。
- 半周期 2:電壓施加于X層,,同時測量(VX+ – VX–),、VY–和VY+。
圖 9 中的電路可以測量所有需要的電壓來實現(xiàn)全部性能,,包括:a)單點觸摸位置,;b)縮放、捏合,、旋轉(zhuǎn)手勢檢測和量化; c)區(qū)別順時針與逆時針旋轉(zhuǎn),。用兩點觸摸手勢來完成單點觸摸操作時,,可以估計手勢的中心位置。
圖 9. 單點觸摸位置和手勢檢測的應用圖
實用提示
輕柔手勢產(chǎn)生的電壓變化相當微細,。通過放大這種變化,,可以提高系統(tǒng)的魯棒性。例如,,可以在屏幕的電極與 AD7879 的引腳之間增加一個小電阻,,這將能提高有源層的壓降,但單點觸摸定位精度會有所下降,。
另一種方法是僅在低端連接上增加一個電阻,,當 X 層或 Y 層為有源層時,,僅檢測 X–或 Y–電極。這樣就可以應用一定的增益,,因為直流值相當?shù)汀?/p>
ADI公司有許多放大器和多路復用器可以滿足圖 6,、圖 7 和圖 9 所示應用的需求。測試電路使用AD8506 雙通道運算放大器和ADG16xx 系列模擬多路復用器,;多路復用器的導通電阻很低,,采用 3.3 V單電源供電。
結(jié)束語
利用 AD7879 控制器和極少的輔助電路,,可以檢測縮放,、捏合和旋轉(zhuǎn)。只需在有源層上進行測量,,就能識別這些手勢,。在主處理器的控制下,利用兩個 GPIO 測量無源層的電壓,,可以區(qū)別旋轉(zhuǎn)方向,。在該處理器中執(zhí)行相當簡單的算法,就能識別縮放,、捏合和旋轉(zhuǎn),,估計其范圍、角度和方向,。
感謝
本文獲得了西班牙瓦倫西亞中小企業(yè)協(xié)會(IMPIVA)通過項目 IMIDTF/2009/15 和西班牙教育與科學部通過項目 Consolider/CSD2007-00018提供的部分資助,。
本文作者感謝 Colin Lyden、John Cleary和 Susan Pratt在討論中提供的有益建議,。
參考文獻
(Information on all ADI components can be found at www.analog.com.)
1 Finn, Gareth. “New Touch-Screen Controllers Offer Robust Sensing for Portable Displays.” Analog Dialogue, Vol. 44, No. 2. February 2010. (return to text)