文獻標識碼: A
文章編號: 0258-7998(2011)02-0123-04
目前觸摸屏單點定位技術十分成熟,其本質是以觸摸的方式代替傳統的電腦鼠標的操作[1]。鼠標的操作包含“移動指針”和“按下按鍵”等不同的操作以及其組合。而現有的電腦觸摸屏則是:
(1)以一次觸摸實現“移動指針”并“按下左鍵”兩個操作,并不能區分用戶的意圖是僅“移動指針”、僅“按下按鍵”還是“移動指針”并“按下按鍵”,也不能區分用戶想要按左鍵還是右鍵。
(2)以一次觸摸實現“移動指針”并“按下某按鍵”兩個操作,通過某種方式切換觸摸所實現的功能,在“移動指針并按左鍵”、“移動指針并按右鍵”兩種功能中選擇一種。在實際使用中,需要頻繁地切換功能[2]。
由此可見,目前的觸摸屏系統對鼠標功能的實現不夠完全,且缺乏效率。因此需要有一種方法和設備,能夠允許電腦觸摸屏同時支持“單獨移動指針”、“單獨滾動滾輪”、“單獨按下或抬起按鍵”以及“移動指針”、“滾動滾輪”、“按下或抬起按鍵”三者的任意組合操作,免去頻繁地切換功能,實現對傳統電腦鼠標的完全替代[3]。
支持帶有按鍵和滾輪的觸筆的電腦觸摸屏系統為完全模擬電腦鼠標功能提供了一種巧妙的解決方案。下面介紹系統各組成部分的組成原理以及系統的工作方法。
1 系統硬件構成
系統硬件構成框圖如圖1所示。觸摸屏系統由觸摸屏、帶有按鍵和滾輪的觸筆、控制器三部分組成。

1.1 觸摸屏
觸摸屏由觸摸面板和顯示器件組成。觸摸面板可以是四線電阻式觸摸面板,用于檢測帶有按鍵和滾輪的觸筆的筆尖觸碰的位置,輸出橫、縱兩路由模擬電壓量表示的觸碰位置信號到控制器中A/D(模數)轉換電路[4];顯示器件可以是電腦本來的顯示器或額外的顯示屏。顯示器件作為電腦的顯示設備,與電腦的顯示器接口連接,顯示電腦輸出的圖像信號,圖像信號包括指針的位置。
1.2 帶有按鍵和滾輪的觸筆
帶有按鍵和滾輪的觸筆包含筆尖、左鍵、右鍵、滾輪、無線編碼發射電路。
筆尖碰觸觸摸屏的觸摸面板以確定顯示器件上的指針移動目的地的位置,碰觸由觸摸面板感受。
左鍵、右鍵可以按下/抬起。滾輪既可以按下/抬起,也可以向上/下滾動。左鍵、右鍵、滾輪分別產生3路1位數字信號,信號分別表示左鍵、右鍵、中鍵(滾輪)的按下/抬起。另外,滾輪向上/下滾動時,分別產生兩路方波數字信號,方波數字信號每個周期表示向上/下滾動一個單位。
無線編碼發射電路采用無線編碼發射芯片PT2262,從管腳D0~D4接收用戶按下、抬起按鍵或滾動滾輪的數字電壓信號,其中D0接收左鍵按下/抬起信號,D1接收右鍵按下/抬起信號,D2接收中鍵(滾輪)按下/抬起信號,D3接收滾輪上滾信號,D4接收滾輪下滾信號。這5路1位數字電壓信號被PT2262編碼成一路1位數字信號并無線傳輸給控制器中無線接收解碼電路(無線信號頻率為315 MHz,采用ASK調制方式調制)。
1.3 控制器
控制器包含A/D轉換電路、無線接收解碼電路、主控電路和接口電路。A/D轉換電路包含一個2路12 bit A/D轉換芯片ADS7843,從CLK和DIN端口接收主控電路輸出的控制信號,從X+、X-、Y+、Y-四個端口接收觸摸面板輸出的橫、縱兩路模擬電壓量表示的觸碰位置信號,并將其轉換為橫、縱兩路數字電壓量表示的位置坐標值,編碼成一路1位串行數字信號,輸出給主控電路,并從PENIRQ端口輸出1位數字信號表示是否發生碰觸,輸出給主控電路[5]。
無線接收解碼電路包含一個無線接收解碼芯片PT2272,用于接收帶有按鍵和滾輪的觸筆上無線編碼發射電路所發射的無線信號(無線信號頻率為315 MHz,采用ASK調制方式調制)。對無線信號解碼為表示用戶按下、抬起按鍵或滾動滾輪的數字電壓信號,從管腳D0~D4輸出,其中D0輸出左鍵按下/抬起信號,D1輸出右鍵按下/抬起信號,D2輸出中鍵(滾輪)按下/抬起信號,D3輸出滾輪上滾信號,D4輸出滾輪下滾信號,這5路1位數字信號分別傳輸到主控電路中89C52的輸入端口P10~P14。
主控電路包括一個型號89C52的MCU,作為主控部分,用于處理信號和控制整個系統。主控電路的89C52從端口P20、P21輸出對A/D轉換電路的控制信號(時鐘和控制字),從端口P22接收A/D轉換電路返回的橫、縱兩路數字電壓量表示的位置坐標值(1位數字串行信號),從P23接收A/D轉換電路返回的PENIRQ信號(1位數字信號),并從端口P10~P14接收無線接收解碼電路輸出的表示用戶按下、抬起按鍵或滾動滾輪的數字電壓信號(共5個1位數字信號),P10接收左鍵按下/抬起信號,P11接收右鍵按下/抬起信號,P12接收中鍵(滾輪)按下/抬起信號,P13接收滾輪上滾信號,P14接收滾輪下滾信號。主控電路依據接口類型(如USB接口)進行編碼處理。主控電路的89C52從端口P00~P07輸出需要發送給電腦的控制信號和數據流(共8位數字信號)到接口電路。
接口電路包括一個USB接口芯片PDIUSB D12,用于與電腦外設接口(對應USB接口芯片PDIUSB D12,則為USB接口)連接,實現與電腦的通信。接口電路從PDIUSB D12的端口D0~D7接收主控電路輸出的控制信號和數據流(共8 bit數字信號),并通過雙向端口X1、X2與電腦接口進行數字通信,讓電腦通過顯示器接口傳輸圖像數據,移動顯示器件上顯示的指針,并實現電腦上的按鍵和滾輪操作功能。
2 系統工作方法
圖2是本觸摸屏系統的工作原理示意圖。其工作原理包含6個過程:初始化、用戶輸入、信號傳遞和處理、主控處理、與電腦通信和電腦處理。

2.1 初始化過程
初始化過程包含子過程物理連接、設備識別和驅動。
物理連接:觸摸屏系統通過控制器中接口電路上的接口與電腦外設接口連接。
設備識別和驅動:控制器中的主控電路通過數字信號控制接口電路與電腦進行通信,本系統采用USB協議,使電腦完成USB設備識別與USB設備驅動的過程。
2.2 用戶輸入過程
用戶輸入過程包含兩個相互獨立的過程:碰觸定位和按鍵滾輪操作。
(1)碰觸定位:用戶使用帶有按鍵和滾輪的觸筆的筆尖碰觸觸摸屏的觸摸面板,以向觸摸屏系統表示期望顯示器件上的指針移動到的位置。觸摸面板將此位置以橫、縱兩路由模擬電壓量表示的觸碰位置信號的形式輸出到A/D轉換電路。
(2)按鍵滾輪操作:用戶按下、抬起帶有按鍵和滾輪的觸筆上的按鍵或滾動滾輪,以向觸摸屏系統表示自己希望電腦實現類似于電腦鼠標的按鍵和滾輪功能。這些操作產生數字的電壓信號,輸入到無線編碼發射電路中。
2.3 信號傳遞和處理過程
信號傳遞和處理過程包含兩個獨立的處理過程:A/D轉換和無線收發。
A/D轉換:A/D轉換電路接收主控電路輸出的控制信號后開始工作,如果觸摸面板輸出了橫、縱兩路模擬電壓量表示的觸碰位置信號,ADS7843則將其轉換為橫、縱兩路12位數字電壓量表示的位置坐標值,輸出到主控電路[6]。
無線收發:觸筆的無線編碼發射電路對按下、抬起觸筆上的按鍵或滾動滾輪產生數字的電壓信號并進行編碼,將編碼后的無線信號發射給控制器上的無線接收解碼電路。控制器上的無線接收解碼電路接收此無線信號,并對其解碼,還原成表示用戶按下、抬起按鍵或滾動滾輪的數字電壓信號,輸出到主控電路。
2.4 主控處理過程
主控處理過程全部在89C52的程序模塊中完成。圖3是主控電路89C52的程序模塊示意圖。89C52的程序模塊包括:碰觸定位模塊、USB編碼模塊和輸出模塊。

碰觸定位模塊以一定頻率輸出數字的控制信號,即A/D轉換芯片的時鐘和控制字,從端口P20、P21輸出給A/D轉換電路。如果P24接口接收到的1位數字信號PENIRQ顯示發生碰觸[5],則從端口P23接收A/D轉換電路輸出的一路1位串行數字信號DOUT,從中讀取出碰觸位置的坐標值X、Y,經過如下計算修正:X′=k1×X+X0、Y′=k2×Y+Y0(其中k1、k2、X0、Y0是給定參數,可設計校準功能以確定這些參數),最終得到移動指針的目的地坐標值X′、Y′,輸送給USB編碼模塊。
USB編碼模塊一旦接收到碰觸定位模塊輸出的移動指針的目的地坐標值X′、Y′,或接收到按鍵和/或滾輪操作信號時,則將其編碼為USB協議要求的格式,傳遞給輸出模塊。具體如何編碼,取決于USB報告中將觸摸屏系統描述為何種設備,設計者可以自行決定設備類型。
輸出模塊將移動指針、按鍵操作、滾輪操作信號和接口電路控制信號共8位數字信號通過端口P00~P07輸出給接口電路。
2.5 與電腦通信過程
如圖1所示,接口電路受主控電路輸出的控制信號控制,接收主控電路輸出的需要發送給電腦的數據流,發送給電腦外設接口。
2.6 電腦處理過程
如圖2所示,該過程包含信號解碼和兩個獨立過程(移動指針和/或實現按鍵滾輪功能):
電腦處理電腦外設接口接收到的USB信號,解碼得到依據用戶期望的指針移動位置和按下、抬起按鍵或滾動滾輪操作的意圖,根據此意圖,移動顯示器件上顯示的指針和/或完成按鍵和滾輪操作對應的電腦功能(見圖1)。電腦處理過程結束后,系統回到用戶輸入過程循環工作。
本文介紹的系統經過產品化設計后,生產出的產品與市場同類產品相比,具備相似的成本,但性能更優,能夠實現市場同類產品難以實現的功能;系統可以廣泛地應用于電腦操作、文字錄入、圖文制作、游戲控制等方面,其即插即用無需驅動和鼠標模擬的特點為用戶提供更多方便;支持帶有按鍵和滾輪的觸筆的電腦觸摸屏系統將改變設計師和用戶的觀念,成為電腦觸摸屏的革新者,將會推動觸摸屏更廣泛的應用。
參考文獻
[1] 張運剛,宋小春.從入門到精通-觸摸屏技術與應用[M]. 北京:人民郵電出版社,2007.
[2] 薛迎成.PLC與觸摸屏控制技術[M].中國電力出版社,2008.
[3] 嚴盈富.觸摸屏與PLC入門[M].北京:人民郵電出版社,2006.
[4] 李永忠,鄢光輝.變頻器與觸摸屏應用技術易讀通[M]. 北京:中國電力出版社,2008.
[5] 宋學瑞,蔡子裕,段青青.觸摸屏數據處理算法[J].計算機工程, 2008,34(23).
[6] 岳慶來.變頻器、可編程序控制器及觸摸屏綜合應用技術[M].北京:機械工業出版社,2008.
