基于電阻觸摸屏和CPLD來實(shí)現(xiàn)多點(diǎn)觸摸系統(tǒng)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
觸摸屏是成熟的技術(shù),最基本、也是最常用的是4/5線電阻觸摸屏。很多標(biāo)準(zhǔn)屏支持多種尺寸,可以選擇多種解碼模擬解決方案。電阻觸摸屏支持多種輸入方法,比如手指、觸摸筆、手套和指甲等等。電容觸摸屏是一種新的解決方案,也有4/5線選擇,標(biāo)準(zhǔn)屏比較少,復(fù)雜的模擬解碼器解決方案也比較少。電容觸摸屏比較適合手指的輸入,不太適合指甲、觸摸筆和手套的輸入。電容屏幕最主要的優(yōu)勢(shì)是表面耐用性,成熟的電阻和電容觸摸屏限于單點(diǎn)觸摸。iTouch等產(chǎn)品則采用了多點(diǎn)觸摸技術(shù),多點(diǎn)觸摸增加了人機(jī)接口,并增加了兩路以上的同時(shí)輸入或者觸摸點(diǎn)。靜態(tài)輸入觸摸的例子有鍵盤或者游戲手柄上的Shift鍵和Control、Alt、Delete功能鍵等,它們都有多路獨(dú)立的控制;動(dòng)態(tài)輸入的例子有手勢(shì)、命令、旋轉(zhuǎn)動(dòng)作或者收縮、擴(kuò)大等等。使用過多點(diǎn)觸摸技術(shù)以后,傳統(tǒng)的觸摸技術(shù)就顯得太簡(jiǎn)單了。
目前,可以使用到多點(diǎn)觸摸技術(shù)的應(yīng)用包括醫(yī)療影像(超聲、X射線和MRI在進(jìn)行圖像處理時(shí)需要用到)、信息查詢終端 (相片打印、零售信息查詢終端、地圖/導(dǎo)航等)、音樂/視頻播放器(iTouch)、家電等。本文將介紹一個(gè)使用數(shù)字電阻觸摸屏和MAX II CPLD來實(shí)現(xiàn)多點(diǎn)觸摸系統(tǒng)的簡(jiǎn)單數(shù)字低成本替代方案。
多點(diǎn)觸摸解碼
任何多點(diǎn)觸摸解決方案都從觸摸屏開始。文中的例子使用NKKSwitch的數(shù)字SmartTouch,型號(hào)為FTAS225-5.7A-N。還有別的供應(yīng)商提供的尺寸不同的其他數(shù)字電阻屏。處理接口是I2C,但也可以使用其他接口。
FTAS225-5.7A-N采用了5.7”疊層屏幕,15行×15列,觸點(diǎn)分辨率為5mm×7mm。屏幕疊層實(shí)際上是15×15的開關(guān)矩陣。數(shù)字電阻屏疊層使用水平和垂直的銥錫氧化物(ITO)走線。走線之間是分開的,觸摸時(shí)會(huì)使兩層短路。
在此次演示中,設(shè)計(jì)簡(jiǎn)化為8×8數(shù)字電阻觸摸屏。本例子使用了處理器I2C接口,但是也可以為任何處理器提供任意串行或者并行接口。該設(shè)計(jì)只需要MAX II將數(shù)字電阻觸摸屏與處理器連接起來,利用MAX II內(nèi)部上拉電阻和內(nèi)部振蕩器減少外部元件。
在圖1中,垂直寄存器在每一列為每一行進(jìn)行采樣,水平寄存器組成了移位寄存器,陣列每次都被驅(qū)動(dòng)為低電平。圖中波形顯示了沒有觸摸時(shí)屏幕是怎樣解碼的。當(dāng)屏幕上沒有點(diǎn)被觸摸時(shí),行探測(cè)信號(hào)保持高電平。當(dāng)屏幕上第2行第2列被觸摸時(shí),導(dǎo)致第二行在C2采樣期間被拉低。每次掃描顯示屏?xí)r,I2C模塊向處理器發(fā)送8字節(jié)數(shù)據(jù)。
表1 觸摸屏的優(yōu)缺點(diǎn)
圖1 單點(diǎn)觸摸解碼的工作模式
多點(diǎn)觸摸解碼是怎樣工作的呢?圖2中的波形顯示了三個(gè)觸點(diǎn)。圖中的手指符號(hào)表示每一個(gè)觸點(diǎn)是怎樣映射到行列采樣信號(hào)的。三個(gè)觸點(diǎn)導(dǎo)致掃描期間出現(xiàn)3個(gè)低電平脈沖。在某些3手指觸摸條件下,簡(jiǎn)單解碼器會(huì)錯(cuò)誤地報(bào)告出現(xiàn)混疊信號(hào),而后者是不正確的觸點(diǎn)解碼。3個(gè)觸點(diǎn)必須呈三角形,其中兩個(gè)點(diǎn)共享一行,兩個(gè)點(diǎn)共享一列。圖中的紅圈畫線顯示了混疊信號(hào)解碼脈沖。
圖2 多點(diǎn)觸摸解碼的工作模式
改進(jìn)后的解碼器電路可以減小甚至消除混疊信號(hào)。首先,我們要做的是時(shí)鐘速率提高,通常將時(shí)鐘速率提高10-100倍。在圖3中,I2C時(shí)鐘從100kHz提高到4MHz。增加了同步移位和采樣使能信號(hào)(綠色)。 SFT是移位使能信號(hào),SEN是采樣時(shí)能信號(hào)。加入了時(shí)序控制模塊,支持SFT至SEN延時(shí)調(diào)整(紅色),支持移位使能信號(hào)對(duì)使能延時(shí)調(diào)整進(jìn)行采樣。時(shí)序控制模塊能夠減小移位使能采樣,使能延時(shí)可以增大移位使能。采樣使能延時(shí)獨(dú)立地控制每一列、每一行延時(shí)。
圖3 改進(jìn)后的電路減小了混疊信號(hào)(1)[!--empirenews.page--]
電路是怎樣去掉混疊信號(hào)的呢?在實(shí)際系統(tǒng)中并沒有調(diào)整時(shí)序,時(shí)鐘更快一些。RA到RE詳細(xì)顯示了產(chǎn)生混疊信號(hào)的觸摸屏通路,包括ITO走線阻抗、I到RE。I到RE詳細(xì)闡述了產(chǎn)生混疊信號(hào)的觸摸屏通路。由于采用了電阻,從手指觸點(diǎn)1到混疊信號(hào)脈沖的延時(shí)比較大,因此,控制采樣使能時(shí)序會(huì)忽略它。如左下部的箭頭所示,通過改進(jìn)采樣使能信號(hào),可以消除混疊信號(hào)。圖5詳細(xì)顯示了延時(shí)和時(shí)序變化。時(shí)鐘頻率還是比實(shí)際例子慢,以方便理解該圖。第0列和第5列的采樣時(shí)序不同,以消除混疊信號(hào)。雖然C5 SEN信號(hào)比C0 SEN信號(hào)滯后,但還是比最初設(shè)計(jì)短得多。設(shè)計(jì)人員的目標(biāo)是根據(jù)觸摸屏和PCB特性,使每一列和每一行的采樣時(shí)序足夠長(zhǎng),能夠正確采樣真正的觸摸;同時(shí)采樣時(shí)序還要足夠短,從而可以忽略混疊信號(hào)。利用MAX II器件的可編程能力,使用JTAG可以迅速重新配置設(shè)計(jì)或者動(dòng)態(tài)進(jìn)行控制,很容易對(duì)電路進(jìn)行調(diào)整。
圖4 改進(jìn)后的電路減小了混疊信號(hào)(2)
圖5 改進(jìn)后的電路減小了混疊信號(hào)(3)
參考設(shè)計(jì)電路板非常簡(jiǎn)單(圖6)。只需將MAX II器件直接連接至觸摸屏的30個(gè)引腳,以及15×15 LED陣列。還有下載連接線J1,以及SPI或者I2C連接用的擴(kuò)展插頭J3。相對(duì)于I2C接口,LED陣列更容易進(jìn)行交互式演示。
圖6 演示電路板原理圖[!--empirenews.page--]
圖7是MAX II電路結(jié)構(gòu)圖。它包括移位寄存器,含有來自時(shí)序控制模塊的移位控制信號(hào)。時(shí)序控制模塊還控制采樣寄存器。為能夠有效地演示時(shí)序變化的影響,將使用JTAG源探測(cè)特性Mega向?qū)б约癚uartus II和MAX II系列支持的源探測(cè)編輯器。
圖7 MAX II電路結(jié)構(gòu)圖
如圖8所示,時(shí)序控制模塊有4個(gè)狀態(tài),顯示在左下角。“復(fù)位”驅(qū)動(dòng)所有引腳為高電平,建立時(shí)間為16個(gè)時(shí)鐘周期。“移位”將列掃描移到左側(cè)。“等待”是從移位到采樣的可編程延時(shí)。JTAG8模塊控制延時(shí),是從JTAG電纜下載的8位數(shù)值,控制來自Quartus源探測(cè)編輯器窗口。它還對(duì)內(nèi)部節(jié)點(diǎn)進(jìn)行采樣,以便在Quartus中實(shí)時(shí)讀取。“等待”周期后,采樣狀態(tài)采集列數(shù)據(jù)。
圖8 時(shí)序控制模塊
MAX II是可編程邏輯器件,很容易采用免費(fèi)的Quartus II設(shè)計(jì)工具對(duì)其進(jìn)行定制,滿足使用者的應(yīng)用需求。同時(shí),MAX II CPLD具有以下特性,非常適合數(shù)字電阻觸摸屏解碼:大量的I/O引腳,其中超低功耗MAX IIZ系列含有160個(gè)I/O,MAX II系列含有272個(gè)I/O,很少有處理器提供足夠的I/O來解碼數(shù)字電阻觸摸屏;所有MAX II器件都有內(nèi)部振蕩器和可編程內(nèi)部I/O上拉電阻;MAX II器件支持在系統(tǒng)可編程,這樣可以先設(shè)計(jì)印刷電路板,然后再調(diào)整時(shí)序;MAX II的功耗非常低,MAX IIZ適用于很多電池供電的便攜式應(yīng)用;最后,可編程MAX II能夠靈活的支持需要標(biāo)準(zhǔn)或者專用接口的處理器。