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