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