呂 燚,鄧春健,2*,李文生,2
(1.電子科技大學(xué) 中山學(xué)院,廣東 中山528400;2.電子科技大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院,四川 成都610054)
在電阻式、電容式、紅外式和表面聲波式等眾多觸控交互技術(shù)中,紅外式觸控技術(shù)以其透光率高、防刮性能好、尺寸易擴(kuò)展、壽命長(zhǎng)等優(yōu)勢(shì)成為大尺寸觸摸屏的首選方案。大尺寸紅外式觸摸屏在電子白板、博彩設(shè)備以及游戲游藝等行業(yè)應(yīng)用非常廣泛,特別是隨著大屏幕LED 全彩顯示屏產(chǎn)業(yè)的快速發(fā)展,非標(biāo)大尺寸全彩展示系統(tǒng)逐步受到市場(chǎng)的青睞,紅外觸摸屏作為大尺寸展示系統(tǒng)的配套產(chǎn)品,將迎來更加廣闊的市場(chǎng)前景[1]。然而,在實(shí)際應(yīng)用中,紅外式觸摸屏產(chǎn)品普遍存在分辨率不高、掃描速度慢、觸點(diǎn)抖動(dòng)等缺陷。傳統(tǒng)的紅外觸摸屏采用只選通共軸的一組發(fā)射-接收管的掃描方式,分辨率由紅外管的數(shù)量決定,而增加紅外管的數(shù)量又會(huì)提高紅外屏的成本和加工組裝難度。此外傳統(tǒng)紅外屏采用脈沖調(diào)制驅(qū)動(dòng)方式,在接收端對(duì)信號(hào)進(jìn)行濾波、積分,導(dǎo)致系統(tǒng)響應(yīng)較慢,無法適用于高速觸控的應(yīng)用場(chǎng)合。
本文針對(duì)現(xiàn)有產(chǎn)品的以上不足,采用一對(duì)多的選通掃描方式,在不增加硬件成本的基礎(chǔ)上提高了系統(tǒng)分辨率;采用單脈沖掃描方式,省去接收端的積分環(huán)節(jié),實(shí)現(xiàn)對(duì)紅外屏的快速掃描,并通過二次細(xì)分掃描方式,在提高分辨率的同時(shí)提高了系統(tǒng)響應(yīng)速度。此外通過將發(fā)送和接收電路模塊化,為加工制造不同尺寸的觸摸屏提供了便利;采用USB 接口,模擬HID 設(shè)備實(shí)現(xiàn)了觸摸屏即插即用,增強(qiáng)了便利性。
紅外觸摸屏由緊密排列在其邊框內(nèi)的紅外發(fā)射管和紅外接收管組成。發(fā)射管與接收管數(shù)量相同,分別分布于觸摸屏的兩個(gè)邊,并采用共軸相向方式排列。其工作原理是當(dāng)紅外光受到觸點(diǎn)的阻擋,接收管接收信號(hào)的強(qiáng)度會(huì)發(fā)生變化,控制器對(duì)共軸相向的發(fā)射管和接收管進(jìn)行掃描,通過判斷接收管的信號(hào)變化便可以計(jì)算出觸點(diǎn)的位置,最后將坐標(biāo)位置信息發(fā)送給顯示主機(jī)[2]。
系統(tǒng)總體結(jié)構(gòu)如圖1所示,包括嵌入式處理器、二維選通掃描電路、紅外接收電路、帶通濾波以及校準(zhǔn)數(shù)據(jù)存儲(chǔ)等模塊。處理器采用了STM32F205RBT6,工作主頻為120 MHz,片內(nèi)集成128K Flash,64K SRAM,多個(gè)具有輸入捕獲和輸出比較通道的多功能定時(shí)器,高性能ADC以及多種通訊接口。
本系統(tǒng)中紅外發(fā)射管掃描電路采用了二維選通掃描方式,大大簡(jiǎn)化了掃描電路的結(jié)構(gòu),并且為不同尺寸紅外觸摸屏的加工和裝配提供了便利。通過定時(shí)器產(chǎn)生高速脈沖實(shí)現(xiàn)對(duì)紅外管的掃描。紅外信號(hào)接收電路包括接收掃描電路和信號(hào)調(diào)理電路,紅外接收掃描電路一次可選8只接收管,信號(hào)調(diào)理電路對(duì)信號(hào)進(jìn)行濾波和放大,處理器的ADC1和ADC2并行工作在SCAN 模式,各負(fù)責(zé)采集四路信號(hào),每路信號(hào)采集用時(shí)0.5μs,從而保證了在2μs內(nèi)完成8路信號(hào)的采集。EEPROM參數(shù)存儲(chǔ)單元用于存儲(chǔ)出廠校準(zhǔn)參數(shù),通過軟件校準(zhǔn)的方法簡(jiǎn)化了電路設(shè)計(jì),增強(qiáng)了環(huán)境適應(yīng)能力。紅外屏與PC 機(jī)或是LED 顯示屏主機(jī)采用USB接口相連,紅外屏模擬為HID 外設(shè),實(shí)現(xiàn)免驅(qū)動(dòng)安裝,即插即用。
本系統(tǒng)硬件部分包括:二維紅外掃描電路、紅外接收電路、帶通濾波電路、EEPROM 存儲(chǔ)模塊以及MCU 最小系統(tǒng)等部分。
紅外掃描電路由串轉(zhuǎn)并芯片74HC595和譯碼器74HC138 構(gòu)成,電路示意圖如圖2 所示。74HC595的輸出管腳低電平時(shí),PMOS管導(dǎo)通,8個(gè)紅外發(fā)射管陽極得電,通過譯碼器輸出便可以選通其中一個(gè)發(fā)射管。這樣的二維選通電路采用兩個(gè)IC便可以驅(qū)動(dòng)64只發(fā)射管,簡(jiǎn)化了驅(qū)動(dòng)電路,并可以通過74HC595芯片的級(jí)聯(lián)可以實(shí)現(xiàn)不同尺寸紅外屏的擴(kuò)展[3-4],采用模塊化的接口,極大地方便了紅外屏的加工和組裝。
圖2 二維選通紅外掃描電路Fig.2 Circuit of two-dimensional infrared scanning
本系統(tǒng)中紅外發(fā)射管的掃描方式采用脈沖掃描,即在發(fā)射管上施加高速脈沖,并在脈沖高電平期間檢測(cè)相應(yīng)的紅外接收管。這種高速脈沖掃描方式既區(qū)別與直流選通也區(qū)別于通常意義上的脈沖調(diào)制方式,具有發(fā)射距離遠(yuǎn),發(fā)射效率高,抗干擾能力強(qiáng)的優(yōu)點(diǎn),同時(shí)也更加節(jié)能。它相比直流選通方式可以有效避免接收管飽和,同時(shí)較脈沖調(diào)制方式省去了接收電路中的積分電路,提高了掃描速度和可靠性。這種方式的不足之處是需要高速ADC在脈沖高電平期間完成信號(hào)的采集,本系統(tǒng)巧妙利用了STM32F205 片內(nèi)的高速ADC,轉(zhuǎn)換時(shí)間0.5μs,由定時(shí)器觸發(fā)啟動(dòng)AD 轉(zhuǎn)換,ADC1和ADC2 并行工作,分別采集4 個(gè)通道,使8個(gè)通道的信號(hào)采集可以在2μs內(nèi)完成。
紅外接收電路如圖3 所示,同樣采用74HC595選通紅外接收管,通過595 芯片的級(jí)聯(lián),實(shí)現(xiàn)了接收電路的模塊化,極大地便利了不同尺寸紅外觸摸屏的加工和裝配。74HC595 的每一個(gè)輸出IO 選通8只接收管,同一時(shí)刻只能有一個(gè)IO 輸出低電平,即同一時(shí)刻只可以選通8只接收管,并通過8通道帶通濾波放大電路對(duì)接收信號(hào)進(jìn)行信號(hào)調(diào)理。為了增大驅(qū)動(dòng)能力,采用PMOS管Si2301作為電子開關(guān),當(dāng)595芯片輸出低電平時(shí),PMOS 管道通,與之相連的8 只接收管被選通。接收管負(fù)載電阻選用68Ω,保證了即使在強(qiáng)環(huán)境光下信號(hào)仍不會(huì)飽和,同時(shí)接收信號(hào)也有足夠大的幅值,便于信號(hào)的調(diào)理和測(cè)量。
圖3 紅外接收電路Fig.3 Circuit of infrared reciever
紅外接收信號(hào)由于環(huán)境光線的影響存在比較嚴(yán)重的直流偏置和高頻噪聲[5],本系統(tǒng)采用了有源帶通濾波電路實(shí)現(xiàn)紅外接收信號(hào)濾波和放大。濾波放大功能由低噪聲軌至軌運(yùn)算放大器TLC2274構(gòu)成的2階Butterworth帶通濾波電路實(shí)現(xiàn),中心頻率100kHz,通頻帶為20kHz,用于濾除紅外接收信號(hào)中的高頻干擾噪聲和直流偏置;本設(shè)計(jì)中紅外接收信號(hào)的幅值為90 mV,該電路帶內(nèi)增益為20倍,從而保證了濾波放大后的信號(hào)有較大的幅度并留有一定的余量。濾波電路采用Sallen Key電路形式,電路結(jié)構(gòu)及參數(shù)如圖4所示,系統(tǒng)中采用2片TLC2274構(gòu)成8通道帶通濾波放大電路。
圖4 帶通濾波電路Fig.4 Band-pass filter circuit
本系統(tǒng)采用二次掃描的方法,保證紅外觸摸屏響應(yīng)速度的同時(shí)提高了識(shí)別精度,提高了分辨率。二次掃描的流程如圖5所示,其工作原理是:首先對(duì)X 軸每個(gè)發(fā)射管用高速脈沖掃描一次,判別出該發(fā)射管所對(duì)應(yīng)的區(qū)域是否存在觸點(diǎn),并記錄觸點(diǎn)與該發(fā)射管中心線的偏差,當(dāng)完成對(duì)X 軸所有發(fā)射管的掃描后,首先判別是否有觸點(diǎn)存在;如果存在則實(shí)施細(xì)分掃描,測(cè)量觸點(diǎn)在兩支特定發(fā)射管單獨(dú)作用下在接收管上的投影位置,并依此提高X 坐標(biāo)的測(cè)量精度,并估算Y 軸坐標(biāo)。然后執(zhí)行Y 軸掃描,掃秒方法和X 軸類似,得到觸點(diǎn)的Y 軸坐標(biāo),通過比較實(shí)測(cè)Y 軸坐標(biāo)和估算Y軸坐標(biāo)來剔除紅外觸摸屏多點(diǎn)觸摸是出現(xiàn)的假觸摸點(diǎn),最后完成觸點(diǎn)坐標(biāo)的上報(bào)。
圖5 系統(tǒng)軟件工作流程圖Fig.5 System flow chart
由于直流掃描的方式存在能耗高、紅外信號(hào)衰減大的不足,目前紅外屏普遍使用脈沖調(diào)制方式驅(qū)動(dòng)紅外發(fā)射管,然后再接收端對(duì)脈沖信號(hào)進(jìn)行濾波、放大并積分,最后通過判別積分電壓的大小判斷紅外管被阻擋的情況。積分電路溫度穩(wěn)定性較差,并且降低了系統(tǒng)的響應(yīng)速度。脈沖掃描方式直接在發(fā)射端脈沖高電平期間對(duì)接收信號(hào)進(jìn)行測(cè)量,無需對(duì)信號(hào)進(jìn)行積分,只需要一個(gè)脈沖便可完成一個(gè)發(fā)射管的掃描。脈沖掃描方法對(duì)系統(tǒng)ADC性能要求較高,需要與掃描脈沖同步進(jìn)行采集,并需要在較短的時(shí)間內(nèi)完成多個(gè)通道信號(hào)的采集。
本系統(tǒng)充分利用了STM32F205處理器的高性能定時(shí)器和具有自動(dòng)觸發(fā)功能的ADC,實(shí)現(xiàn)了對(duì)紅外管的高速脈沖掃描與同步信號(hào)采集。對(duì)紅外發(fā)射管施加周期為10μs的掃描脈沖,在掃描脈沖高電平期間同步采集該發(fā)射管所對(duì)應(yīng)區(qū)域24路接收信號(hào)的電平,據(jù)此來判斷該區(qū)域是否有觸點(diǎn)存在。本系統(tǒng)的紅外接收電路只能同時(shí)采集8路紅外接收信號(hào),因而需要對(duì)每個(gè)發(fā)射管掃描3個(gè)脈沖,每個(gè)脈沖高電平期間采集8路接收信號(hào)。掃描方法如圖6所示,由定時(shí)器TIM2的比較匹配通道1(CH1)產(chǎn)生周期為10μs的方波信號(hào),高電平持續(xù)時(shí)間為5 μs,施加于發(fā)射電路中74HC138的使能端G1,TIM2的通道2(CH2)的比較匹配信號(hào)高電平持續(xù)時(shí)間為1.5μs。當(dāng)CH2發(fā)生比較匹配時(shí)自動(dòng)觸發(fā)ADC1 和ADC2啟動(dòng)轉(zhuǎn)換。ADC1 和ADC2 都工作在SCAN 模式,分別采集4路接收信號(hào),采集4路信號(hào)用時(shí)2 μs,并在ADC轉(zhuǎn)換完成中斷服務(wù)程序中保存AD值并切換下一組接收通道,為下一次轉(zhuǎn)換做好準(zhǔn)備。為了實(shí)現(xiàn)對(duì)每個(gè)紅外管施加3個(gè)掃描脈沖,本設(shè)計(jì)采用TIM1對(duì)TIM2CH1的輸出信號(hào)進(jìn)行計(jì)數(shù),比較匹配值為3,當(dāng)計(jì)數(shù)到3 個(gè)脈沖時(shí),會(huì)觸發(fā)TIM1比較匹配中斷,在中斷服務(wù)程序中完成對(duì)24路接收信號(hào)的分析,判斷該區(qū)域是否存在觸點(diǎn),并切換下一個(gè)發(fā)射管的選通電路。
圖6 脈沖掃描方法示意圖Fig.6 Schematic diagram of pulse-scanning method
細(xì)分掃描具有兩個(gè)功能:一方面可以提高紅外觸摸屏的分辨率,提高定位精度,避免實(shí)際使用中在某些位置觸點(diǎn)坐標(biāo)來回跳動(dòng)的弊端;另一方面通過對(duì)X 軸的細(xì)分掃描可以初步判別觸點(diǎn)的Y 軸坐標(biāo),與實(shí)測(cè)的觸點(diǎn)Y 軸坐標(biāo)相比較便可以剔除多點(diǎn)觸摸下的假觸摸點(diǎn)。
首次掃描時(shí),采用差值量化偏移定位算法[6]判別出觸點(diǎn)在接收端的投影位置,據(jù)此求出:(1)在X 軸方向上與觸點(diǎn)最接近的發(fā)射管的序號(hào),記作A1;(2)在接收端有投影且與A1偏差最大的發(fā)射管序號(hào),記做A2。然后對(duì)A1和A2單獨(dú)掃描,采集接受管的信號(hào),并通過二次曲線擬合的方法分別得觸點(diǎn)的投影x′1和x′2。
圖7 細(xì)分掃描示意圖Fig.7 Schematic diagram of high resolution scanning
細(xì)分掃描分為兩步:首先計(jì)算觸點(diǎn)的Y 軸坐標(biāo),然后根據(jù)Y 軸坐標(biāo)計(jì)算觸點(diǎn)在的X 軸上相對(duì)于x1的偏移量,如圖7所示。
如圖7(a)所示,由發(fā)射管A1和A2的序號(hào)和發(fā)射管的直徑可以計(jì)算出其X 軸坐標(biāo)x1和x2,結(jié)合觸點(diǎn)在接收端的投影坐標(biāo)x′1和x′2,由公式(1)可以求出觸點(diǎn)的Y 軸坐標(biāo)y,其中Y 為Y 軸總長(zhǎng)度。
如圖7(b)所示,根據(jù)發(fā)射管X 軸坐標(biāo)x1,觸點(diǎn)投影坐標(biāo)x′1和觸點(diǎn)Y 軸坐標(biāo)y,由公式(2)求出觸點(diǎn)X 軸左邊偏移量Δx,最終得到觸點(diǎn)的X軸坐標(biāo)x1+Δx。
通過細(xì)分掃描使觸點(diǎn)X 軸坐標(biāo)更加精準(zhǔn),同時(shí)也初步確定了Y 軸坐標(biāo),在后續(xù)Y 軸掃描得到觸點(diǎn)Y 軸坐標(biāo)后可以通過比較Y 軸坐標(biāo)來剔除多點(diǎn)觸摸時(shí)的假觸點(diǎn)。
為了提高紅外觸摸屏使用便利性,本系統(tǒng)采用USB接口,并且模擬成HID 外設(shè),實(shí)現(xiàn)免驅(qū)安裝,即插即用。
標(biāo)準(zhǔn)的鼠標(biāo)報(bào)告描述符使用的是相對(duì)坐標(biāo),而紅外觸摸屏返回的是絕對(duì)坐標(biāo)值,因而需要將報(bào)告描述符中Input條目的屬性修改為絕對(duì)坐標(biāo),并將坐標(biāo)數(shù)據(jù)長(zhǎng)度改為2字節(jié),邏輯最大值設(shè)置為4 096。為了使紅外觸摸屏既能夠支持單點(diǎn)觸摸又支持多點(diǎn)觸摸,本系統(tǒng)設(shè)計(jì)了兩個(gè)報(bào)告描述符,分別適用于單點(diǎn)觸摸和多點(diǎn)觸摸兩種工作模式,此外設(shè)計(jì)一個(gè)“特性報(bào)告”,將其用途特性定義為“設(shè)備配置”,用于向操作系統(tǒng)報(bào)告改特性,并由操作系統(tǒng)設(shè)定其工作模式。
本文針對(duì)目前紅外屏應(yīng)用存在的分辨率不高、響應(yīng)速度慢的不足提出了一種高分辨率多點(diǎn)觸控紅外觸摸屏的設(shè)計(jì)方案。首先介紹了系統(tǒng)的硬件結(jié)構(gòu),給出了二維選通掃描電路和接收信號(hào)調(diào)理電路,然后給出了基于STM32F205 處理器片內(nèi)定時(shí)器和ADC 的紅外屏脈沖掃描實(shí)現(xiàn)方法,并研究了二次細(xì)分掃描的工作原理和觸點(diǎn)坐標(biāo)計(jì)算方法,最后給出了HID 報(bào)告描述符的設(shè)計(jì)方法。實(shí)際應(yīng)用表明,該方案在不增加硬件成本的基礎(chǔ)上大大提高了分辨率,有效避免了觸點(diǎn)抖動(dòng)的弊端,同時(shí)縮短了掃描時(shí)間,使整個(gè)紅外屏的掃描時(shí)間縮短至15ms以內(nèi),提高了系統(tǒng)的響應(yīng)速度。
[1] Wei Z Z,Liu W,He Q,et al.The design of infrared touch screen based on MCU [C].2011 IEEE International conference on Information and Automation(ICIA),Shenzhen,China,2011:485-489.
[2] Kyusam L,Kyung-Soo J,Chul-Sang,et al.A fast and energy efficient single-chip touch controller for tablet touch application[J].IEEE Journal of Display Technology,2013,9(7):520-526.
[3] 朱博,董義鵬,金峰.載人航天器儀表系統(tǒng)紅外觸摸屏硬件電路設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2013,36(18):39-43.Zhu B,Dong Y P,Jin F.Hardware circuit design of infrared touch screen on instrument system of manned spacecraft[J].Modern Electronic Technique,2013,36(18):39-43.
[4] 李鈞.一種新型紅外多點(diǎn)觸摸識(shí)別算法[J].計(jì)算機(jī)與現(xiàn)代化,2012,(9):178-180.Li J.A new infrared multi-touch recognition algorithm[J].Computer and Modernization 2012,(9):178-180.
[5] 湯世洪,劉成安,陳泉根.基于FPGA 的高分辨率紅外觸摸屏的設(shè)計(jì)[J].電子設(shè)計(jì)工程,2011,19(22):163-166.Tang S H,Liu C A,Chen Q G.The design of touch-screen with high resolution infrared based on FPGA[J].Electronic Design Engineering,2011,19(22):163-166.(in Chinese)
[6] 董冠濤.紅外線感應(yīng)電子白板的設(shè)計(jì)與實(shí)現(xiàn)[D].長(zhǎng)春:吉林大學(xué),2009.Dong G T.D[J].Design and realization of electronic whiteboard based on infrared ray[D].Changchun:Jilin University,2009.(in Chinese)