賀成佳
(成都理工大學(xué)信息科學(xué)與技術(shù)學(xué)院,四川成都 610059)
目前主要的觸摸屏可以分為4大類:電阻觸摸屏、電容觸摸屏、表面聲波觸摸屏和紅外觸摸屏。但單一傳感器的受損、老化會使器件參數(shù)特性容易漂移,難以長時間穩(wěn)定工作,觸摸界面怕受污染,維護(hù)繁雜等問題是電阻觸摸屏、電容觸摸屏、表面聲波觸摸屏這3類觸控屏難以逾越的屏障。而紅外觸摸屏無需薄膜,光透過率100%,而且不受電流、電壓和靜電干擾,適宜惡劣的環(huán)境條件。其具有清晰度高,定位精確,性能穩(wěn)定等優(yōu)勢。但目前市場上主流的紅外觸控屏存在的分辨率低、光干擾影響大等缺點(diǎn),使紅外觸摸屏無法滿足機(jī)載顯示中的觸摸屏要求。本文根據(jù)傳統(tǒng)的紅外觸摸屏的工作原理,提出了一種新的滿足機(jī)載顯示要求的紅外觸摸屏的設(shè)計(jì)方案,并進(jìn)行了驗(yàn)證[1-3]。
圖1 總體結(jié)構(gòu)圖
系統(tǒng)通過“坐標(biāo)獲取模塊”實(shí)現(xiàn)觸摸點(diǎn)坐標(biāo)的獲取,并通過“通信模塊”將觸摸點(diǎn)信息發(fā)送給PC機(jī),從而實(shí)現(xiàn)觸摸輸入。
圖2 STM32最小系統(tǒng)原理圖
STM32最小系統(tǒng)主要由MCU、晶振電路、復(fù)位電路、啟動模式選擇電路和JTAG接口電路構(gòu)成。晶振電路結(jié)合STM32內(nèi)部電路產(chǎn)生單片機(jī)所需的時鐘頻率,為MCU的指令執(zhí)行執(zhí)行提供穩(wěn)定的節(jié)拍。復(fù)位電路主要實(shí)現(xiàn)上電復(fù)位,將MCU內(nèi)部寄存器恢復(fù)到初始狀態(tài),并從程序起始地址開始執(zhí)行[4]。
啟動模式用于決定復(fù)位后STM32是從Flash啟動,SRAM啟動,還是進(jìn)入ISP模式。JTAG接口電路不是最小系統(tǒng)必須的,通過JTAG即可方便地進(jìn)行程序燒寫和代碼調(diào)試[5-7]。
由于發(fā)射電路包括幾百個紅外發(fā)射二極管,MCU的IO口數(shù)量不夠,PCB布線也會很困難。故直接IO控制不可行。
通過移位寄存器、38譯碼器進(jìn)行IO擴(kuò)展,以實(shí)現(xiàn)少量IO對大量開關(guān)量進(jìn)行簡單的控制[7-9]。
從第一個發(fā)射管到移位選擇最后一個發(fā)射管,只需移位35次即可實(shí)現(xiàn),紅外管的隨機(jī)選通效率提高了8倍,只增加了9片74HC164。占用IO12個,所需IO數(shù)量與A相比減少了60多個。并且由于移位寄存器的引入和38譯碼器輸入口的并聯(lián),方便了板間級聯(lián),可以靈活地控制子板數(shù)量,實(shí)現(xiàn)不同尺寸的觸摸屏電路,如圖3所示。
圖3 不同尺寸示意圖
由于紅外結(jié)束管部分是模擬信號,所以將38譯碼器換做8路模擬開關(guān)74HC4051。模擬開關(guān)的8路信號分別連接接8個紅外接收管的信號,公共信號出口連接于A/D線上,通過8選1選擇A/D上的接收管,并通過使能片選確定模擬開關(guān)的通斷,每8個4051的片選腳連接到移位寄存器74HC164上。
將發(fā)射管組成矩陣,8個一組,所有組的8個連接到同一個138上,每個組的公共端連接到移位寄存器74HC164上。164負(fù)責(zé)組選,138負(fù)責(zé)組內(nèi)選擇,大幅節(jié)約了 38 譯碼器的數(shù)量[10-11]。
圖4 發(fā)射電路原理圖
圖5 接收電路原理圖
信號處理電路如圖6所示。前級電路信號首先通過運(yùn)放的兩級放大對微弱信號進(jìn)行放大。兩級放大電路均為反相放大器,第一級放大器的放大倍數(shù)為20倍,第二級放大器的放大倍數(shù)為5倍,綜合放大倍數(shù)為100倍,兩級放大通過兩次倒相使信號與原信號同相。放大器的同相輸入端都使用電阻分壓產(chǎn)生一個偏置電壓[10-11]。
經(jīng)過兩級放大后的信號再通過一個積分電路對信號進(jìn)行積分,當(dāng)信號達(dá)到峰值時ADC對電壓信號進(jìn)行采樣,采樣后經(jīng)由RC放電電路進(jìn)行快速放電,從而對信號重新進(jìn)行積分采樣。
信號處理電路放大單元采用集成運(yùn)算放大器,集成運(yùn)放是將各種元器件和連線等集成在一片硅片上而制成的,因此密度高、引線短、外部接線大為減小,從而提高了電子設(shè)備的可靠性和靈活性,同時降低了成本[9-11]。具有體積小、重量輕、成本低、外圍元件少、安裝調(diào)試簡單、使用方便的優(yōu)點(diǎn);在性能上也優(yōu)于分立元件,例如溫度穩(wěn)定性好、功耗小、失真小,特別是集成功率放大器內(nèi)部還設(shè)置有過熱、過電流、過電壓等自動保護(hù)功能對電路自行進(jìn)行保護(hù)。
圖6 信號處理電路
由于系統(tǒng)使用處理器的供電電壓是3.3 V,輸出的邏輯電平也是3.3 V,而本系統(tǒng)供電的電壓是5 V,數(shù)字芯片使用+5 V供電,單片機(jī)與數(shù)字芯片進(jìn)行數(shù)據(jù)交換時的電壓不同,會導(dǎo)致系統(tǒng)工作不穩(wěn)定[10]。針對這個問題,就在系統(tǒng)中增加了電平轉(zhuǎn)換,使用SN74LVC4245A電平轉(zhuǎn)換芯片,處理器的輸出信號通過電平轉(zhuǎn)換將電壓從3.3 V變?yōu)? V,用于控制外圍數(shù)字芯片;傳入處理器的信號通過電平轉(zhuǎn)換將電壓從5 V變?yōu)?.3 V。
圖7 系統(tǒng)總體流程圖
系統(tǒng)上電復(fù)位后進(jìn)行軟硬件初始化:掃描控制的IO口初始化,ADC初始化和USB設(shè)備初始化。然后進(jìn)行掃描定標(biāo),記錄沒有觸摸點(diǎn)遮擋時所有紅外接收管的信號情況,以便對比后續(xù)掃描結(jié)果的變化量以確定是否有觸點(diǎn)存在。掃描定標(biāo)完畢后等待USB設(shè)備枚舉成功,因?yàn)橄到y(tǒng)通過USB接口發(fā)送觸摸信息給PC機(jī),USB設(shè)備若枚舉失敗,后續(xù)獲取的點(diǎn)坐標(biāo)無法傳遞給PC機(jī)將沒有意義。USB設(shè)備枚舉成功后對紅外發(fā)射-接收管進(jìn)行掃描,掃描結(jié)果得到每個接收管信號的數(shù)字量并存入數(shù)組中,對比定標(biāo)值計(jì)算其變化量,當(dāng)變化量超過閥值時確認(rèn)有觸摸點(diǎn)存在,算得觸摸點(diǎn)坐標(biāo)后經(jīng)由USB接口發(fā)送給主機(jī),然后再進(jìn)行下一次掃描。
3.2.1 USB HID實(shí)現(xiàn)
由于USB模塊完全自行開發(fā)難度較大,而且STM32F10x系列提供了完整的 USB Full Speed Device固件庫,并有配套的開發(fā)例程。所以本系統(tǒng)直接使用STM32 USB FSDevice Lib固件庫進(jìn)行USB開發(fā)。基于USB_FS_Device_Lib固件庫的應(yīng)用層次圖如圖8所示。
圖8 USB應(yīng)用層次圖
基于USB固件庫的應(yīng)用分為硬件層、Driver層和用戶層。硬件層由STM32處理器實(shí)現(xiàn)。Driver層和用戶層構(gòu)成USB-FS-Device固件庫。Driver層負(fù)責(zé)與硬件層的直接通信和 USB標(biāo)準(zhǔn)協(xié)議的實(shí)現(xiàn),符合USB2.0規(guī)程。用戶層為用戶提供連接USB庫核心和應(yīng)用設(shè)備的完整接口。用戶只需編輯用戶層的一些配置即可。
USB相關(guān)的配置被稱作USB描述符,共有以下幾類:設(shè)備描述符、配置描述符、接口描述符、HID(Human Interface Device)描述符、端點(diǎn)描述符和報(bào)告描述符。
3.2.2 坐標(biāo)獲取模塊設(shè)計(jì)
坐標(biāo)獲取模塊軟件流程如圖9所示。
圖9 掃描流程圖
3.2.3 分辨率的提高
觸摸屏的分辨率通過在屏上X方向所能探測的點(diǎn)數(shù)與Y方向上所能探測點(diǎn)數(shù)的乘積來表示。早期紅外觸摸屏是根據(jù)接收管有無接收到光信號來判斷是否被觸摸的,其分辨率則由紅外管的對數(shù)決定,因此它的分辨率就等于屏的物理分辨率,即當(dāng)紅外觸摸屏的X方向上有120對紅外管,Y方向上有45對紅外管時,它的分辨率為120×45。這樣觸摸屏的分辨率比較低[1]。
但實(shí)際上當(dāng)物體觸摸后,不同的觸摸位置不僅會影響到紅外接收管是否能接收到信號,而且會使其接收信號的強(qiáng)度有所不同。即觸摸物的位置與接收的紅外光信號強(qiáng)度有直接的對應(yīng)關(guān)系。因此如果將接收的紅外光信號強(qiáng)度進(jìn)行量化分級處理,對于接收管不僅要判斷是否收到信號,還要判斷出接收到信號的具體強(qiáng)度,這樣即使觸摸物移動非常小的距離,由于收到的信號強(qiáng)度發(fā)生了改變,也可探測到觸摸位置,從而可以得到較高的分辨率。此時的觸摸屏分辨率主要由紅外管對數(shù)和每對紅外管的光強(qiáng)量化級數(shù)決定。觸摸屏坐標(biāo)則由紅外管的物理坐標(biāo)和觸摸點(diǎn)在相應(yīng)管中的坐標(biāo)共同決定。
通過自行編寫的上位機(jī)采集數(shù)據(jù),對多個發(fā)射-接收管遮擋程度與信號進(jìn)行測試,發(fā)現(xiàn)遮擋程度與ADC采樣結(jié)果滿足圖10所示關(guān)系。
圖10 遮擋位置與A/D變化量關(guān)系圖
采樣接近0的位置沒有遮擋,采樣到最大值為全遮擋,采樣值到一半的位置遮擋程度也為一半。由此可以通過A/D采樣值精確的計(jì)算遮擋位置,當(dāng)觸摸點(diǎn)遮擋多個接收燈信號時,通過計(jì)算兩個遮擋邊緣的中心,即可求得觸摸點(diǎn)中心位置,如圖11所示。
圖11 觸摸中心位置的計(jì)算
傳統(tǒng)的紅外屏對接收管信號開關(guān)量進(jìn)行分析,分辨率只能達(dá)到傳感器的個數(shù),設(shè)計(jì)通過對觸摸點(diǎn)中心位置的精確計(jì)算,分辨率達(dá)到了大約1/8個燈的大小,大幅提高了觸摸屏的分辨率。
電壓4.8~5.0 V;功率1 W;觸摸精度5 mm;分辨率4 096×4 096;響應(yīng)時間18 ms。通過二極管瞬時電流和工作電壓算得,由于紅外二極管的直徑,采樣精確度和提高分辨率的算法的限制,觸摸精度為5 mm。
信號測試程序控制紅外屏不斷掃描,并通過USB實(shí)時發(fā)送掃描結(jié)果給PC。PC上通過VC6實(shí)現(xiàn)上位機(jī)對觸摸屏發(fā)來的數(shù)據(jù)進(jìn)行呈現(xiàn),通過此調(diào)試工具可以方便地查看最終信號質(zhì)量,進(jìn)行抗干擾測試。圖12是沒有觸摸點(diǎn)時X軸采樣信號的波形圖。
圖12 無觸摸點(diǎn)波形圖
圖13是當(dāng)一個觸點(diǎn)出現(xiàn)時X軸采樣信號的波形圖,通過測試可知本系統(tǒng)觸控精準(zhǔn),觸控?zé)o噪聲干擾。
圖13 有一個觸摸點(diǎn)時波形圖
圖14是戶外強(qiáng)烈陽光下對信號進(jìn)行測試,由圖可知,強(qiáng)光下觸控屏工作狀態(tài)良好,觸控精準(zhǔn),無噪聲干擾,具有較強(qiáng)的抗強(qiáng)光能力。
圖14 強(qiáng)烈陽光下信號波形
由圖12~圖14對比可知,本系統(tǒng)具有觸控精準(zhǔn),抗外界光干擾的能力強(qiáng)的特點(diǎn)。
針對紅外觸摸屏分辨率低、容易受到光干擾而產(chǎn)生誤動作的缺點(diǎn),通過采用A/D轉(zhuǎn)換器對紅外接收電路輸出的反映光強(qiáng)變化的電壓信號進(jìn)行量化,通過觸摸位置移動而引起的A/D轉(zhuǎn)換器輸出數(shù)據(jù)的精確變化實(shí)現(xiàn)觸摸屏的高分辨率。同時提出同時通過具有消光涂層的有機(jī)玻璃疊層來提高紅外觸摸屏抗外界光干擾的能力。為保證紅外發(fā)射電路和紅外接收電路的快速掃描,系統(tǒng)采用了具有USB硬件接口的STM32控制器芯片,控制器芯片提供高效的驅(qū)動能力和快速的坐標(biāo)計(jì)算,減少了觸摸屏響應(yīng)時間。通過實(shí)驗(yàn)對上述方法進(jìn)行了驗(yàn)證,達(dá)到了要求的分辨率和抗光干擾能力。
[1]周燁.紅外觸摸屏抗強(qiáng)光干擾的研究[D].成都:電子科技大學(xué),2011.
[2]張宏偉.多觸點(diǎn)抗強(qiáng)光干擾紅外觸摸屏的設(shè)計(jì)與驗(yàn)證[D].成都:電子科技大學(xué),2009.
[3]鄭磊.基于ATmega88的大尺寸高分辨率紅外觸摸屏研究與實(shí)現(xiàn)[D].北京:北京郵電大學(xué),2011.
[4]張明.抗強(qiáng)光干擾的高精度紅外觸摸屏設(shè)計(jì)與實(shí)現(xiàn)[D].成都:電子科技大學(xué),2008.
[5]李鈞,谷靈康.基于MCU的紅外多點(diǎn)觸摸屏設(shè)計(jì)[J].電腦知識與技術(shù),2012,8(19):4701 -4702.
[6]閻石.數(shù)字電子技術(shù)基礎(chǔ)[M].北京:高等教育出版社,2006.
[7]湯世洪,劉成安,陳泉根.基于FPGA的高分辨率紅外觸摸屏的設(shè)計(jì)[J].電子設(shè)計(jì)工程,2011(22):68-70.
[8]沈文星,張東來,龔麗雯,等.一種紅外屏電路的驅(qū)動電流自適應(yīng)調(diào)節(jié)方案[J].紅外,2009(6):32-37.
[9]王德安.紅外式觸摸屏技術(shù)的研究[D].大連:大連理工大學(xué),2005.
[10]任家富,庹先國,陶永莉.數(shù)據(jù)采集與總線技術(shù)[M].北京:北京航空航天大學(xué)出版社,2008.
[11]卡特索利斯.嵌入式硬件設(shè)計(jì)[M].徐君明,譯.北京:中國電力出版社,2004.