基于FPGA 的高分辨率紅外觸摸屏的設(shè)計(jì)
湯世洪,劉成安,陳泉根
( 1. 西南科技大學(xué)信息工程學(xué)院,四川綿陽(yáng)621010; 2. 西南科技大學(xué)國(guó)防學(xué)院,四川綿陽(yáng)621010;3. 中國(guó)電子工程研究所四川綿陽(yáng)621010)
摘要: 紅外觸摸的主要缺點(diǎn)是分辨率低下和易受到光干擾,從而不能實(shí)現(xiàn)準(zhǔn)確定位。為了提高紅外觸摸屏的分辨率,準(zhǔn)確確定觸摸點(diǎn)的位置,通過(guò)對(duì)紅外發(fā)光管和紅外接收管觸摸時(shí)的特性進(jìn)行分析,得知在觸摸時(shí),觸摸會(huì)對(duì)某個(gè)鄰域內(nèi)的多個(gè)紅外接收管造成影響同時(shí)其影響因子存在差異。通過(guò)對(duì)紅外接收管的模擬信號(hào)進(jìn)行A/D 轉(zhuǎn)換,使其成為數(shù)字信號(hào)。再用所得的數(shù)字信號(hào)來(lái)構(gòu)造影響因子,通過(guò)信號(hào)處理理論和模糊控制理論來(lái)構(gòu)造線性數(shù)的方法來(lái)實(shí)現(xiàn)觸摸位置的確定。此外,還介紹了該紅外觸摸屏的硬件組成及其設(shè)計(jì)。通對(duì)硬件平臺(tái)的實(shí)驗(yàn)證明,在無(wú)強(qiáng)光干擾下,該紅外觸摸屏能夠達(dá)到的分辨率為0.5 mm。
關(guān)鍵詞: 紅外觸摸屏;觸摸屏分辨率;觸摸點(diǎn);鄰域;影響因子;線性函數(shù)
中圖分類號(hào): TP29 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào):1674-6236(2011)22-0163-04
隨著大屏幕顯示應(yīng)用越來(lái)越廣泛和科技的進(jìn)步, 使得紅外觸摸屏得到了長(zhǎng)足的發(fā)展和廣泛的應(yīng)用。如紅外觸摸屏應(yīng)用于室內(nèi)的大屏幕顯示,大屏幕教學(xué)等領(lǐng)域。然而,當(dāng)前的紅外觸摸屏仍然存在分辨率低下問(wèn)題,所以紅外觸摸屏的分辨率的提高是紅外觸摸屏發(fā)展前景的關(guān)鍵。文中在應(yīng)用的基礎(chǔ)上,提出了一種提高紅外觸摸屏分辨率的算法。
紅外觸摸屏的基本原理[1]是通過(guò)紅外光發(fā)二極管和紅外接收二極管成對(duì)出現(xiàn), 由一個(gè)框架安放在顯示器的表面,一邊放置紅外發(fā)光管,在其相對(duì)的一邊放置紅外接收管,在屏幕表面上,形成紅外線探測(cè)網(wǎng)。當(dāng)不存在觸摸時(shí),紅外接收管會(huì)將接收到的紅外光轉(zhuǎn)化成為一定的電信號(hào), 當(dāng)觸摸發(fā)生時(shí),紅外接收管接收不到紅外光,導(dǎo)致了其沒(méi)有轉(zhuǎn)化電信號(hào)。(假設(shè)阻擋,電信號(hào)全部消失)故利用X、Y 方向上密布的紅外線矩陣來(lái)檢測(cè)并定位用戶的觸摸。
就紅外屏的本質(zhì)而言,其物理分辨率由紅外發(fā)光管和紅外接收管的對(duì)數(shù)決定,換而言之,在一定尺寸的屏上,其物理分辨率就是由紅外發(fā)光管和紅外接收管的體積決定的。在前工藝而言, 紅外主要的缺點(diǎn)還是存在分辨率低下等問(wèn)題。在此,采用構(gòu)造線性函數(shù)的方法來(lái)提高其亞分辨率,就是要確定位于兩個(gè)管子之間的位置準(zhǔn)確確定出來(lái),從而達(dá)到提高紅外觸摸屏亞分辨率的目的。
1 硬件設(shè)計(jì)
對(duì)于一個(gè)紅外觸摸屏系統(tǒng)而言,主要是由紅外光發(fā)射電路,紅外信號(hào)接收電路和MCU 控制部分組成。系統(tǒng)的控制芯片采用的是Xilinx 公司的XC6SLX9_CSG225。硬件部分主要包括紅外光發(fā)射電路、紅外接收電路、模擬信號(hào)的轉(zhuǎn)換和數(shù)字信號(hào)的傳輸?shù)目刂频饶K。其系統(tǒng)硬件框圖如圖1 所示。
圖1 系統(tǒng)硬件框圖
對(duì)于紅外光發(fā)射電路,由于紅外觸摸屏上的紅外二極管同時(shí)發(fā)光,會(huì)相互干擾,所以紅外發(fā)射電路主要實(shí)現(xiàn)功能就是讓紅外二極管依次發(fā)光,在此基礎(chǔ)上考慮紅外二極管發(fā)光的電流,電壓等資料參數(shù),選取相應(yīng)的芯片來(lái)實(shí)現(xiàn)。按照要求,選取芯片CD74AC164M、CD74HA138 和三極管一起來(lái)實(shí)現(xiàn)其功能。讓三極管工作在放大區(qū),將紅外發(fā)光管組接到對(duì)應(yīng)的三極管的e 極,在基極輸入一個(gè)高電平,由于基極和發(fā)射極的壓降小,所以在發(fā)射極也會(huì)得到相應(yīng)的高電平。在這種情況下,只要改變發(fā)光管的負(fù)極就可以實(shí)現(xiàn)紅外發(fā)光管的點(diǎn)亮,結(jié)構(gòu)圖如圖2 所示。
圖2 紅外發(fā)射電路
1.1 紅外接受電路設(shè)計(jì)
對(duì)于紅外接收電路而言[4],要求它和紅外發(fā)射電路必須同步工作,即要求時(shí)序完全一致。對(duì)于該部分電路,其實(shí)現(xiàn)方式和發(fā)射電路實(shí)現(xiàn)機(jī)理幾乎相同。但是,這一部分的主要目的是得到將光信號(hào)轉(zhuǎn)換的模擬的電信號(hào)。由于光電二極管是將光信號(hào)轉(zhuǎn)換為電流信號(hào), 由于電流信號(hào)的處理很不方便,在此電路中,通過(guò)一個(gè)電阻,將光信號(hào)轉(zhuǎn)換為電壓信號(hào),從而使得其便于處理。由于在此處,也是將接收管分組實(shí)現(xiàn)接收的,所以在實(shí)現(xiàn)接收時(shí),也必須要實(shí)現(xiàn)具體選擇某個(gè)接收管的功能;除此之外,所選擇的芯片還要具備將檢測(cè)到的模擬信號(hào)傳送給下級(jí)處理的能力。綜合上述原因,在此就選擇了74HC4051D 這個(gè)芯片。
74HC4051D 是一個(gè)高速的CMOS 設(shè)備。同時(shí),它的引腳可以配置。它通過(guò)3 個(gè)輸入(S0~S3)來(lái)選擇8 通道的輸入。當(dāng)E 為高電平的時(shí)候,所有引腳處于高阻狀態(tài);當(dāng)E 為低電平的時(shí)候,通過(guò)S0~S3 輸入來(lái)選擇某路開(kāi)關(guān)。在該電路中,由于要檢測(cè)電壓信號(hào),所以直接將74HC4051D 的模擬通道輸入直接接到光電二極管的負(fù)極。其部分原理圖如圖3 所示。
圖3 接收部分原理圖
1.2 模擬信號(hào)處理模塊
對(duì)于模擬信號(hào)的處理, 本系統(tǒng)采用的方案是將AD 轉(zhuǎn)換芯片安裝在紅外接收板上, 通過(guò)74HC4051D 來(lái)實(shí)現(xiàn)其轉(zhuǎn)換數(shù)據(jù)的傳輸。這樣可以有效的抵抗外界干擾,解決布線問(wèn)題。對(duì)于數(shù)據(jù)傳輸,選用74HC4051D 的輸出引腳作為I2C 總線的數(shù)據(jù)線,同時(shí)共用一個(gè)傳遞時(shí)鐘,讓其進(jìn)行數(shù)據(jù)傳輸。
在將模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào)時(shí), 選用的AD 轉(zhuǎn)換芯片是美國(guó)模擬器件公司的一種低功耗10 位高速串行A/D 轉(zhuǎn)換器, 它的外圍接線極其簡(jiǎn)單,AD7810 的轉(zhuǎn)換時(shí)間為2 μs,采用標(biāo)準(zhǔn)SPI 同步串行接口輸出和單一電源(2.7~5.5 V)供電。在自動(dòng)低功耗模式下,該器件在轉(zhuǎn)換吞吐率為1kSPS 時(shí)的功耗僅為27 μW。根據(jù)系統(tǒng)需要,讓該芯片工作在自動(dòng)低功耗模式下。在此模式下,啟動(dòng)信號(hào)CONVST 為低電平時(shí),器件處于低功耗休眠狀態(tài)。當(dāng)在CONVST 端輸入一個(gè)正脈沖時(shí),可在其上升沿將器件從休眠狀態(tài)喚醒,喚醒過(guò)程需要1 μs 的時(shí)間。當(dāng)器件被喚醒后,系統(tǒng)將自動(dòng)啟動(dòng)一次轉(zhuǎn)換,轉(zhuǎn)換時(shí)間也是2 μs。轉(zhuǎn)換結(jié)束時(shí),AD7810 將轉(zhuǎn)換結(jié)果鎖存到輸出移位寄存器中,同時(shí)自動(dòng)將器件再一次置于低拉耗狀態(tài)。啟動(dòng)信號(hào)CONVST 正脈沖的寬度應(yīng)小于1 μs,否則器件被喚醒后將不會(huì)自動(dòng)啟動(dòng)轉(zhuǎn)換, 而是將A/D 轉(zhuǎn)換的啟動(dòng)時(shí)間順延至CONVST 的下降沿處。
2 軟件實(shí)現(xiàn)
對(duì)于紅外觸摸屏來(lái)說(shuō),在某一時(shí)刻對(duì)紅外觸摸屏進(jìn)行觸摸,我們所得到的有用信息只有兩種,一種是通過(guò)光電二極管回傳給MCU 的電信號(hào); 二是在物理層面上的二極管對(duì)的序號(hào)??傮w而言,就是要通過(guò)這兩種信號(hào),來(lái)實(shí)現(xiàn)紅外觸摸屏觸摸位置的確定。
在一個(gè)紅外觸摸屏系統(tǒng)中,定量的數(shù)據(jù)就是紅外接收管將接收到的紅外光強(qiáng)轉(zhuǎn)換為的電信號(hào)。對(duì)一個(gè)紅外觸摸屏系統(tǒng)而言,這個(gè)相當(dāng)于是一個(gè)閉集。也就是說(shuō),在不存在觸摸時(shí),發(fā)射管發(fā)出的紅外光會(huì)轉(zhuǎn)換成相對(duì)應(yīng)的電信號(hào),它們之間的相互轉(zhuǎn)換存在一定的映射關(guān)系,在文中,把這種映射關(guān)系視為是線性的。當(dāng)有手指觸摸時(shí),成對(duì)的紅外二極管對(duì)之間存在一定的影響。當(dāng)觸摸發(fā)生在觸摸屏的某個(gè)位置時(shí),在理論上由所有的紅外接收管的狀態(tài)共同來(lái)決定觸摸的位置。即由該閉集內(nèi)的所有元素線性組合而可以實(shí)現(xiàn)。在實(shí)際應(yīng)用中,經(jīng)過(guò)對(duì)紅外二極管對(duì)的物理尺寸分析可以知道,當(dāng)觸摸發(fā)生時(shí),在接收端會(huì)發(fā)生明顯變化的二極管對(duì)只會(huì)是以某個(gè)二極管為中心的某個(gè)鄰域,如圖4 所示。在此系統(tǒng)中,選取兩個(gè)紅外二極管對(duì)來(lái)作為鄰域半徑。
圖4 觸摸時(shí)刻示意圖
文中是通過(guò)實(shí)構(gòu)造線性函數(shù)來(lái)現(xiàn)觸摸點(diǎn)位置確定。在觸摸時(shí), 會(huì)引起接收端的某個(gè)鄰域內(nèi)的接收信號(hào)產(chǎn)生變化,其反應(yīng)在觸摸屏上就是觸摸位置的變化。在此,文中就已AD 轉(zhuǎn)換后的數(shù)字輸入來(lái)構(gòu)造線性函數(shù)的系數(shù),以當(dāng)前二極管對(duì)數(shù)的序號(hào)作為輸入自變量,讓二者一起來(lái)實(shí)現(xiàn)觸摸點(diǎn)位置的確定[6-7]。這樣就可以實(shí)現(xiàn)線性函數(shù)的基本模型為:
X= (V-IN1)
V ×A1+ (V-IN2)
V ×A2+ (V-IN3)
V ×A3+ (V-IN4)
V ×
A4+ (V-IN5)
V ×A5 (1)
在上式中,V 為AD 轉(zhuǎn)換后的最大值,IN 為觸摸位置的鄰域內(nèi)的二極管對(duì)的輸入值,A 為對(duì)應(yīng)二極管對(duì)的序號(hào)。據(jù)紅外觸摸屏的特性,其受到光干擾極其嚴(yán)重,在實(shí)驗(yàn)結(jié)果中也發(fā)現(xiàn)在不同的環(huán)境下,運(yùn)行的值差別很大,但是在某個(gè)特定的環(huán)境下, 光干擾幾乎可以視為一個(gè)不變的常量,它只是將紅外接收信號(hào)在幅度上有所提升。所以為了提高紅外觸摸屏抗光干擾的能力,提高線性映射的精確度,將上述式子進(jìn)行優(yōu)化為:
X= (V-L)-(IN1-L)
V-L ×A1+ (V-L)-(IN2-L)
V-L ×A2+ (V-L)-(IN3-L)
V-L ×
A3+ (V-L)-(IN4-L)
V-L ×A4+ (V-L)-(IN5-L)
V-L ×A5 (2)
其中L 為光干擾時(shí)的直流分量。L 是在紅外發(fā)射管不發(fā)光的情況下,多次檢測(cè)AD 轉(zhuǎn)換的值,將所得到的值。在此處,計(jì)算出來(lái)的值是相對(duì)應(yīng)于紅外二極管序號(hào)的偏離值,在計(jì)算結(jié)果中,將其保留到小數(shù)點(diǎn)后第一位。由于紅外二極管直徑為5 mm,在此將該計(jì)算值和紅外二極管直徑一相乘,就可實(shí)現(xiàn)最小的分辨率為0.5 mm。從而實(shí)現(xiàn)分辨率提高。對(duì)于軟件算法,其分為兩個(gè)部分,第一部分為對(duì)紅外觸摸屏的控制部分,第二就是對(duì)接收到數(shù)字信號(hào)進(jìn)行處理。第一部分主要是在嚴(yán)格的按照時(shí)序要求,來(lái)控制發(fā)射管和接收管。第二部分就是根據(jù)接收到的數(shù)字信號(hào),經(jīng)過(guò)上述算法,來(lái)實(shí)現(xiàn)位置的確定。其具體流程圖如圖5 所示。
圖5 算法流程圖
3 結(jié)論
在搭建好的硬件平臺(tái)上對(duì)設(shè)計(jì)的觸摸屏系統(tǒng)進(jìn)行了驗(yàn)證,在理論上,該觸摸屏的該觸摸屏的分辨率應(yīng)該由紅外二極管對(duì)數(shù)的直徑和A/D 轉(zhuǎn)換的最小精度決定,該系統(tǒng)中選用的是10 位A/D 轉(zhuǎn)換芯片[8],同時(shí)紅外二極管對(duì)的直徑為5 mm。即只要紅外接收管的接收量變換大于0.005 V, 其就可以分辨其位置。即理論分辨率可以達(dá)到0.008 mm,但是由于該紅外觸摸屏不是用于精確控制, 故通過(guò)處理后使其分辨率降低。通過(guò)實(shí)驗(yàn)驗(yàn)證,該觸摸屏0.5 mm,在該指標(biāo)下,其可以用于應(yīng)用于室內(nèi)的大屏幕顯示,大屏幕教學(xué)等領(lǐng)域。
參考文獻(xiàn):
[1] 張明,黃子強(qiáng).基于I2C總線的高分辨率紅外式觸摸屏設(shè)計(jì)[J].電子設(shè)計(jì)應(yīng)用,2008(7):96-97.
[2] 茍曉衛(wèi),汪國(guó)民,田昕,等. PLC與觸摸屏快速入門與實(shí)踐[M].北京:人民郵電出版社,2010.
[3] 許桂華. 觸摸屏的技術(shù)特征[J].現(xiàn)代通信,2000(6):30-31
[4] 張宏偉,黃子強(qiáng).多觸點(diǎn)抗光干擾紅外觸摸屏的設(shè)計(jì)與驗(yàn)證[D] .成都:電子科技大學(xué),2009.
[5] WANG Feng, REN Xiang-shi. Empirical evaluation for finger input properties in multi-touch interaction[J]. Chi 2009-Tablet Gesture,2009(4):1063-1064.
[6] 鄧自立.最優(yōu)估計(jì)理論及其應(yīng)用[M].哈爾濱:哈爾濱工業(yè)出版社,2005.
[7] 李人厚智能控制理論與方法[M].西安:電子科技大學(xué)出版社,2007.
[8] 汪建敏. 基于LPC2132的電參數(shù)采集平臺(tái)設(shè)計(jì)[J].陜西電力,2009(1):32-35.