引言
觸摸屏是目前最友好的計(jì)算機(jī)用戶接口界面[1],在消費(fèi)電子業(yè)的應(yīng)用越來越廣泛[2]。觸摸屏主要由兩部分組成:觸摸檢測(cè)裝置和觸摸屏控制器[3]。目前主流觸摸屏產(chǎn)品的觸摸檢測(cè)裝置都是采用前置的方式,在觸摸過程中會(huì)對(duì)檢測(cè)裝置的機(jī)械結(jié)構(gòu)造成損壞,導(dǎo)致觸摸屏觸摸精度下降、壽命縮短;此外,常用的電容、電阻式的觸摸屏的成本相對(duì)較高。本文設(shè)計(jì)了一種后置式電感式觸摸屏,避免觸摸過程中對(duì)觸摸檢測(cè)裝置的損壞,延長(zhǎng)觸摸屏產(chǎn)品的壽命,成本也相對(duì)較低。
1 電感式觸摸屏的工作原理
1.1 觸摸屏整體結(jié)構(gòu)
電感式觸摸屏整體結(jié)構(gòu)如圖1所示(需要特別說明的是,電感式觸摸屏要用專用的觸摸筆來達(dá)到觸摸輸入的效果,觸摸筆可以發(fā)出120~180 kHz頻率范圍內(nèi)的信號(hào),這里不詳細(xì)介紹觸摸筆的原理)。上面是LCD顯示器,下面是觸摸屏檢測(cè)裝置。觸摸檢測(cè)裝置通過FPC(Flexible Printed Circuit board,柔性印刷電路板)與觸摸屏控制器連接。由觸摸屏結(jié)構(gòu)圖中可以看出,在利用觸摸屏輸入時(shí),觸摸筆不與觸摸檢測(cè)裝置直接接觸,這樣避免了對(duì)觸摸檢測(cè)裝置的機(jī)械損壞,提高了整個(gè)觸摸控制系統(tǒng)的壽命。
圖1 電感式觸摸屏整體結(jié)構(gòu)
1.2 觸摸檢測(cè)裝置結(jié)構(gòu)
觸摸檢測(cè)裝置是由厚度為0.8 mm的軟性PCB(Printed Circuit Board)構(gòu)成,在PCB內(nèi)部鑲嵌著兩層橫(Y軸)豎(X軸)垂直交叉的導(dǎo)線,每一組交叉的導(dǎo)線之間都是絕緣的;導(dǎo)線的一端接地,另一端通過FPC與觸摸屏控制器中模擬電子開關(guān)CD4051的輸入端相連接。X、Y軸方向上的線圈數(shù)量根據(jù)顯示器的尺寸來確定。觸摸檢測(cè)裝置結(jié)構(gòu)如圖2所示,該觸摸檢測(cè)裝置X軸方向由35個(gè)線圈、Y軸由30個(gè)線圈組成,適用于14英寸顯示屏使用。
圖2 觸摸檢測(cè)裝置結(jié)構(gòu)
1.3 觸摸屏坐標(biāo)的確定方法
當(dāng)用戶將觸摸筆接近檢測(cè)裝置時(shí),檢測(cè)裝置會(huì)感應(yīng)到信號(hào),觸摸信號(hào)采用分時(shí)掃描的方式進(jìn)行檢測(cè)。如圖2右側(cè)是觸摸點(diǎn)P局部放大圖,假如觸摸到P點(diǎn)時(shí),在Xn、Xn+1和Ym、Ym+1線圈上會(huì)感應(yīng)到電磁信號(hào),使得檢測(cè)端口的信號(hào)由零變?yōu)榉橇恪J紫葘?duì)X軸方向進(jìn)行掃描,通過模擬電子開關(guān)掃描到Xn上的信號(hào),由CD4051公共輸出引腳輸出到OUT端,再把信號(hào)經(jīng)放大濾波、電壓整流電路后傳送到MCU,由MCU完成A/D轉(zhuǎn)換,得到一個(gè)電壓值Vn;接著掃描到Xn+1上的信號(hào),同樣也經(jīng)過放大、濾波、整流后將信號(hào)發(fā)送到MCU進(jìn)行A/D轉(zhuǎn)換得到一個(gè)電壓值Vn+1。X軸方向上掃描完成后,再掃描Y軸,同理可以在Ym、Ym+1上檢測(cè)到兩個(gè)電壓值Vm、Vm+1,利用檢測(cè)到的4個(gè)電壓值Vn、Vn+1、Vm、Vm+1可計(jì)算出觸摸坐標(biāo),計(jì)算公式如下:
其中,Xn,Ym、 Xn+1,Ym+1是已知坐標(biāo),ΔVx、ΔVy為已知常數(shù),ΔVx是觸摸筆在Xn軸上時(shí)Vn與Vn+1的差值,ΔVy則是觸摸筆在Ym軸上時(shí)Vm與Vm+1的差值。
從觸摸屏控制器獲得的X與Y值僅是當(dāng)前觸摸屏的坐標(biāo),它不具有實(shí)用價(jià)值,這個(gè)值不但與觸摸屏分辨率有關(guān),而且也與觸摸屏和LCD的貼合狀況有關(guān)[4]。LCD與觸摸屏的分辨率和坐標(biāo)是不一樣的。因此,如果想得到體現(xiàn)LCD坐標(biāo)的觸摸屏位置,還需要在程序中進(jìn)行轉(zhuǎn)換,其轉(zhuǎn)換公式如下:
其中,LCDWidth、LCDHeight是液晶屏的寬度與高度,XLCD_min、XLCD_max和YLCD_min、YLCD_max分別是觸摸屏橫縱坐標(biāo)的最大/最小值。
2 觸摸屏控制系統(tǒng)硬件設(shè)計(jì)
觸摸屏控制電路整體結(jié)構(gòu)如圖3所示。當(dāng)用觸摸筆觸摸LCD顯示屏?xí)r,觸摸檢測(cè)裝置對(duì)應(yīng)的X、Y軸上會(huì)分別感應(yīng)到一個(gè)信號(hào),這個(gè)信號(hào)經(jīng)過模擬電子開關(guān),然后經(jīng)兩級(jí)放大、濾波,將得到的信號(hào)分兩路處理,一路是電壓整流,另一路是頻率檢測(cè)電路;得到的數(shù)據(jù)通過MCU HT46RB70計(jì)算,判斷出觸摸屏的位置及觸摸的方式,再由MCU將觸摸信號(hào)發(fā)送到計(jì)算機(jī),最終實(shí)現(xiàn)觸摸輸入。整個(gè)觸摸屏控制電路的時(shí)序都是由單片機(jī)控制的,其他模塊的電路見后面的詳細(xì)介紹。
圖3 觸摸屏控制電路整體結(jié)構(gòu)
2.1 模擬電子開關(guān)電路
模擬電子開關(guān)電路如圖4所示,該電路的功能是驅(qū)動(dòng)觸摸屏檢測(cè)裝置,將觸摸信號(hào)傳送到信號(hào)處理電路。其電路主要是由CD4051組成,CD4051是一個(gè)8通道數(shù)字控制模擬開關(guān),該芯片有3位二進(jìn)制控制輸入端A、B、C 和一個(gè)使能輸入端INH,以及8個(gè)信號(hào)輸入端和1個(gè)公共輸出端。當(dāng)INH輸入端為高電平時(shí),所有通道截止;當(dāng)INH為低電平時(shí),單片機(jī)通過3位二進(jìn)制信號(hào)A、B、C選通一個(gè)通道的輸入信號(hào),從公共輸出端OUT輸出,經(jīng)過兩級(jí)放大電路及濾波電路后,將觸摸信號(hào)分別發(fā)送到頻率檢測(cè)電路和電壓整流電路的TOUCH_SIN端。圖4中AX、BX、CX是X軸方向上電子開關(guān)的控制輸入端,A0~A4是X軸方向上的電子開關(guān)的使能端,X00~X34與觸摸屏檢測(cè)裝置X軸接口相連接,由于一個(gè)CD4051芯片只有8個(gè)通道的數(shù)字模擬開關(guān),不能滿足線圈數(shù)量的需求,故這里設(shè)計(jì)了由5個(gè)CD4051(U1~U5)組成的X軸方向上的模擬電子開關(guān)電路。同理可設(shè)計(jì)Y軸方向上模擬電子電路。AY、BY、CY為控制輸入端,B0~B3作為使能端,Y軸由4個(gè)CD4051(U6~U9)組成,圖中Y00~Y29與觸摸屏檢測(cè)裝置Y軸接口相連接。
圖4 模擬電子開關(guān)電路
2.2 觸摸信號(hào)頻率檢測(cè)電路
觸摸信號(hào)的頻率是由觸摸筆發(fā)出,觸摸筆上有兩個(gè)按鍵,按下這兩個(gè)按鍵可以輸出兩個(gè)不同頻率的信號(hào),分別為k1、k2。觸摸筆的作用相當(dāng)于鼠標(biāo),當(dāng)觸摸筆輸出一次k1頻率時(shí)相當(dāng)于點(diǎn)擊一下鼠標(biāo)左鍵,輸出一次k2頻率相當(dāng)于點(diǎn)擊鼠標(biāo)右鍵。當(dāng)觸摸筆筆尖與LCD距離≤3~5 cm時(shí),觸摸檢測(cè)裝置可感應(yīng)到觸摸信號(hào),這時(shí)光標(biāo)隨著觸摸筆在LCD上移動(dòng)。觸摸信號(hào)頻率檢測(cè)精度的高低是觸摸屏是否穩(wěn)定的關(guān)鍵因素。頻率檢測(cè)電路及仿真結(jié)果如圖5、圖6所示,TOUCH_SIN端為觸摸信號(hào)輸入端,通過施密特觸發(fā)器,然后信號(hào)從FRE端發(fā)送到單片機(jī),進(jìn)行運(yùn)算處理,計(jì)算出觸摸信號(hào)的頻率。利用Multisim軟件平臺(tái)建立出頻率檢測(cè)電路仿真模型,從仿真結(jié)果中可以看到,經(jīng)過處理后的觸摸信號(hào)轉(zhuǎn)換為具有相同周期T的方波信號(hào),將方波信號(hào)傳送到微處理器,微處理器在t時(shí)間里計(jì)算出方波的個(gè)數(shù)n,則信號(hào)的周期T=t/n,頻率f=1/T,由此確定觸摸信號(hào)的頻率。
圖5 頻率檢測(cè)電路
單片機(jī)從端口TOUCH_SIN獲得的頻率信號(hào)的質(zhì)量,決定了觸摸屏能否快速響應(yīng)正確的觸摸動(dòng)作[5]。因此,在觸摸信號(hào)頻率檢測(cè)電路設(shè)計(jì)中,使用施密特觸發(fā)器(SN74LVC1G14)可以將觸摸時(shí)產(chǎn)生的鋸齒波形信號(hào)整形成較規(guī)則的方波信號(hào)。經(jīng)過這樣的設(shè)計(jì),也可以有效消除觸摸時(shí)因其他信號(hào)對(duì)頻率的干擾或過快點(diǎn)擊對(duì)觸摸屏精度造成的影響。
圖6 仿真結(jié)果
2.3 觸摸信號(hào)電壓整流電路
圖7 觸摸信號(hào)整流電路
當(dāng)觸摸筆靠近LCD時(shí),觸摸檢測(cè)器獲得感應(yīng)信號(hào),經(jīng)過電子開關(guān)及信號(hào)處理電路后,再對(duì)信號(hào)進(jìn)行整流。觸摸信號(hào)整流電路如圖7所示。觸摸信號(hào)由TOUCH_SIN輸入,經(jīng)過二極管D整流。圖中CONTROL與HT460RB70的PC4引腳相連接, HT460RB70通過PC4引腳控制三極管的導(dǎo)通狀態(tài),通過電容充放電直接影響整流后的波形,使其更加準(zhǔn)確。信號(hào)整流后還需經(jīng)過一個(gè)同相放大電路,然后從SIN發(fā)送到HT460RB70單片機(jī)PCO/INT引腳。在Multisim中對(duì)觸摸電壓信號(hào)整流電路的仿真結(jié)果如圖8所示,圖中信號(hào)SIN是處理后的信號(hào)波形。其結(jié)果表明,通過整流后得到平滑穩(wěn)定的直流電壓信號(hào),有利于提高A/D轉(zhuǎn)換的精度。
圖8 仿真結(jié)果
2.4 MCU電路
MCU電路采用Holtek公司的RISC單片機(jī)——HT47RB70。該單片機(jī)是A/D轉(zhuǎn)換型8位USB單片機(jī),專門為USB產(chǎn)品而設(shè)計(jì),尤其適用于USB或SPI接口觸控屏、觸控按鍵等產(chǎn)品。
基于HT47RB70的電感式觸摸屏MCU電路如圖9所示。HT47RB70采用上電復(fù)位方式進(jìn)行復(fù)位,AX、BX、CX和AY、BY、CY與其PD0~PD2和PA0~PA2引腳分別作為X軸和Y軸電子開關(guān)電路的選擇端。PD3~PD6和PA3~PA6分別作為X軸和Y軸上電子開關(guān)電路的使能端。PE0~PE2作為信號(hào)修正電路的控制端。通過觸摸電壓處理電路后的信號(hào)通過PB0/AN0輸入單片機(jī),經(jīng)過單片機(jī)內(nèi)部的A/D轉(zhuǎn)換器得出觸摸電壓的值,從而辨別出觸摸效果。頻率信號(hào)通過PC0/INT輸入單片機(jī),通過單片機(jī)在單位時(shí)間內(nèi)對(duì)方波個(gè)數(shù)的計(jì)數(shù),即可得出信號(hào)的頻率。最后通過將觸摸信號(hào)轉(zhuǎn)換成標(biāo)準(zhǔn)鼠標(biāo)信號(hào),通過USB接口輸出到計(jì)算機(jī),達(dá)到觸摸效果。
圖9 MCU電路
3 軟件設(shè)計(jì)
電感式觸摸屏控制器軟件設(shè)計(jì)主要包括:I/O初始化程序、定時(shí)計(jì)數(shù)器初始化、觸摸筆中斷服務(wù)程序、與計(jì)算機(jī)通信程序和主程序幾部分。觸摸筆中斷程序中包括觸摸坐標(biāo)計(jì)算程序和觸摸信號(hào)頻率計(jì)算程序。當(dāng)觸摸控制器接收到觸摸信號(hào)時(shí),MCU響應(yīng)觸摸筆中斷服務(wù)程序,得到觸摸LCD的坐標(biāo),啟動(dòng)與計(jì)算機(jī)通信程序,將觸摸信號(hào)發(fā)送到計(jì)算機(jī),這樣完成一次觸摸。
結(jié)語
本文介紹了電感式觸摸屏的工作原理,以及控制器的硬件電路和部分程序設(shè)計(jì),該控制器電路全部通過驗(yàn)證。電感式觸摸屏的設(shè)計(jì)實(shí)現(xiàn)了非直接接觸式的觸摸,避免了對(duì)觸摸檢測(cè)裝置的損壞,延長(zhǎng)了整個(gè)觸摸控制系統(tǒng)的壽命,觸摸同一點(diǎn)的重復(fù)精度與觸摸靈敏度達(dá)到預(yù)期的設(shè)計(jì)要求。