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