引言
隨著平面顯示器的大規(guī)模應(yīng)用和大屏幕平板顯示器的出現(xiàn),紅外觸摸屏的應(yīng)用已十分廣泛。同時,分辨率的進一步提高成為紅外觸摸屏應(yīng)用于大屏幕的關(guān)鍵,本文提出了一種提高紅外式觸摸屏分辨率的方法。
系統(tǒng)結(jié)構(gòu)及工作原理
系統(tǒng)工作原理
紅外觸摸屏基本原理是光束阻斷技術(shù),它不需要在原來的顯示器表面覆蓋任何材料,只需在顯示屏幕的四周安放一個框架??蚣軆蓚€對邊上,一邊安裝紅外發(fā)光二極管(LED),另一邊安裝紅外線探測器,在顯示屏幕的表面形成一個由紅外線組成的柵格。當有任何物體進入這個柵格的時候,就會阻擋一些光線,光電轉(zhuǎn)換電路就會收到變化的信號,由ADC轉(zhuǎn)換后,MCU將計算的觸摸位置坐標傳遞給操作系統(tǒng)。
早期紅外觸摸屏分辨率直接由紅外管對數(shù)決定,觸摸分辨率就等于屏的物理分辨率。如果采用模擬信號處理方式對接收的信號強度進行分級,對于接收的信號,不僅要判斷其是否被阻擋,還要判斷出被阻擋的程度。如圖1所示,觸摸物的不同位置將導(dǎo)致接收信號的強度差異,因此,觸摸物的位置與接收的紅外信號強度有直接的對應(yīng)關(guān)系,即使觸摸物移動非常小的距離,也會導(dǎo)致信號強度發(fā)生改變,即利用模擬信號的處理方式可以得到極高的分辨率。
采用模擬信號處理方式的觸摸屏分辨率主要由紅外管對數(shù)和模數(shù)轉(zhuǎn)換精度決定,即觸摸屏分辨率=紅外管對數(shù)×單對紅外管能實現(xiàn)的分辨率。觸摸屏坐標由紅外管的物理坐標和觸摸點在相應(yīng)管中的坐標共同決定。
系統(tǒng)結(jié)構(gòu)
該系統(tǒng)主要紅外光信號發(fā)射電路、光電轉(zhuǎn)換電路和信號處理電路組成。結(jié)構(gòu)組成框圖如圖2所示。
硬件設(shè)計
紅外發(fā)射信號電路設(shè)計
紅外信號發(fā)射電路主要由MAX6966構(gòu)成,MAX6966是10端口、恒流LED驅(qū)動器,能驅(qū)動多支紅外發(fā)光管,且管子發(fā)光強度一致性很好。MAX6966串口外設(shè)可為微處理器提供10個額定電壓為7V的I/O端口。
如圖3所示,MAX6966/MAX6967為通用輸入/輸出(GPIO)外設(shè),可提供P0~P9共10個I/O端口,通過高速SPI兼容串口控制。這10個I/O端口可配置為邏輯輸入、開漏邏輯輸出和恒流吸人的任意組合,無論作為邏輯輸入、開漏邏輯輸出,還是恒流吸入,端口都可承受獨立于MAX6966或MAX6967電源的7V電壓。配置為恒流吸入的輸出端口,可設(shè)為吸入10mA或20mA的恒流。靜態(tài)端口電流可為靜態(tài),也可以是占空比為3/256~254/256的PWM波形,以減小平均電流。
端口配置為開漏邏輯輸出時,其吸入電流能力相對較弱,但仍能滿足正常邏輯電平輸出的要求。開漏邏輯輸出通常需要上拉電阻連接到適當?shù)恼娫?,以提供邏輯高電平參考。弱?qū)動能力意味著短路電流較低,即使不慎由配置為邏輯輸出的端口驅(qū)動LED,也不會對LED造成損壞。
MAX6966應(yīng)用于紅外發(fā)射管驅(qū)動電路的另一個極大優(yōu)勢是它可以采用兩種方式進行多片級聯(lián)。一種是多CS連接,并聯(lián)DIN、SCLK,并對每個MAX6966器件提供單獨的CS。另一種是將一個器件的DOUT連到下一個器件的DIN,并聯(lián)SCI。K和CS,實現(xiàn)多個MAX6966的菊花鏈連接。
紅外接收處理信號電路
考慮到紅外觸摸屏的使用環(huán)境和紅外接收管的數(shù)量,紅外信號接收電路須滿足體積小、接線簡單、探測靈敏度高、信號穩(wěn)定易于處理等要求。據(jù)此,本文光電轉(zhuǎn)換電路設(shè)計如圖4所示。這里,場效應(yīng)管與偏置電阻組成的恒流源為光電三極管提供幾微安至上百微安的電流,調(diào)節(jié)偏置電阻的阻值可改變。Q點表明了電流源兩端的等效直流電阻和等效交流電阻是兩條不同斜率的直線??梢钥闯?,交流電阻遠大于直流電阻。利用電流源的直流電阻小、交流電阻大的特點,可將BJT放大管的集電極負載改為電流源電路。為保證靜態(tài)電流方向一致,采用N溝道JFET構(gòu)成電流源。將NJFET電流源的伏安特性與BJT輸出特性繪在一起,可得圖5。
由圖5可見,過BJT工作點Q的直流負載線斜率由NJFET電流源的等效直流電阻決定,交流負載線的斜率由NJFET電流源的等效交流電阻決定。由于電流源的交流電阻遠大于直流電阻,所以電壓增益大大提高。這種放大電路稱為有源負載放大器。輸出脈沖電壓信號經(jīng)過隔直電容后,濾除外界紅外光帶來的直流分量,經(jīng)ADS7830轉(zhuǎn)換后送入MCU處理。
ADS7830是采用I2C接口的8位、8通道采樣ADC,支持三種I2C數(shù)據(jù)傳輸模式。該芯片I2C總線占用的空間非常小,需要的MCU接口少,易于設(shè)計。ADS7830接口及外圍連接電路如圖6所示。
軟件設(shè)計
軟件設(shè)計主要實現(xiàn)MCU的I2C總線模擬,以及MCU與ADS7830間I2C總線數(shù)據(jù)的傳送。
CPU發(fā)出的控制信號分為地址碼和控制量兩部分。地址碼用來選址,即接通需要控制的電路,確定控制的種類。控制量決定該調(diào)整的類別,如對比度、亮度,以及需要調(diào)整的量。這樣,各控制電路雖然掛在同一條總線上,卻彼此獨立,互不相關(guān)。
系統(tǒng)統(tǒng)主程序流程圖如圖7所示。當MCU要讀取ADS7830數(shù)據(jù)時,先發(fā)送讀地址字節(jié),若ADS7830發(fā)出應(yīng)答信號,則應(yīng)答信號之后為MCU接收的8位數(shù)據(jù)為D7~D0。接收結(jié)束后,MCU向被控器ADS7830發(fā)送一位非應(yīng)答信號N(保持SDA位為高電平),然后MCU發(fā)送結(jié)束信號P。
結(jié)語
本文介紹了基于I2C總線的高分辨率紅外觸摸屏的軟硬件設(shè)計及實現(xiàn)方法,整個系統(tǒng)結(jié)構(gòu)簡單,性能穩(wěn)定。試驗測試中有微小誤差和遮擋距離L只測到4.5mm,其主要原因是輸出電壓下降到100mV以下時,受外界光干擾及儀器精度的影響,示波器輸出圖像不穩(wěn)定。采用ADS7830后其轉(zhuǎn)換數(shù)據(jù)精度可大大提高,同時可以考慮對多次轉(zhuǎn)換值計算平均值,以減小坐標的不穩(wěn)定。