基于ADS7846的電阻式觸摸屏設計
周偉
(電子科技大學光電信息學院2003級研究生2班 610054)
摘要:本文介紹了電阻式觸摸屏的基本結(jié)構(gòu)和工作原理,詳細闡述了ADS7846在電阻式觸摸屏驅(qū)動設計中的作用以及基本的觸摸屏坐標定位算法,并分析了影響觸摸屏定位精度的原因,探討了提高定位精度的方法。
關(guān)鍵詞:觸摸屏,坐標定位,坐標變換,電磁兼容
1.前言
隨著信息技術(shù)的不斷發(fā)展,人性化設計的重要性越來越凸現(xiàn)出來。由于觸摸屏可以使操作簡單直觀,因此越來越多的手持產(chǎn)品,公共服務類設備采用觸摸屏。觸摸屏有電阻式觸摸屏、電容式觸摸屏、表面聲波式觸摸屏、紅外線觸摸屏等多種。電阻式觸摸屏是目前應用比較廣泛的一種,有四線、五線、七線等幾種。
2.電阻式觸摸屏的工作原理
2.1 電阻式觸摸屏結(jié)構(gòu)
典型觸摸屏的工作部分一般由三部分組成,如圖1所示,這一個電阻式觸摸屏的橫截面,兩層透明的電阻性導體層(玻璃)、兩層導體之間的隔離層(隔離玻璃珠)、以及電阻性涂層。電阻性導體層必須選用阻性材料,如銦錫氧化物(ITO)涂在襯底上構(gòu)成,上層襯底用塑料,下層襯底用玻璃。隔離層為粘性絕緣液體材料,如聚脂薄膜。電極選用導電性能極好的材料(如銀粉墨)構(gòu)成,其導電性能大約為ITO的1000倍。
2.2 電阻式觸摸屏原理
電阻式觸摸屏是一種傳感器,它將矩形區(qū)域中觸摸點(X,Y)的物理位置轉(zhuǎn)換為代表X坐標和Y坐標的電壓。當觸摸屏表面受到的壓力(如通過筆尖或手指進行按壓)足夠大時,頂層與底層之間會產(chǎn)生接觸。所有的電阻式觸摸屏都采用分壓器原理來產(chǎn)生代表X坐標和Y坐標的電壓。如圖2所示,分壓器是通過將兩個電阻進行串聯(lián)來實現(xiàn)的。上面的電阻(R1)連接正參考電壓(VREF),下面的電阻(R2)接地。兩個電阻連接點處的電壓測量值與下面那個電阻的阻值成正比。 為了在電阻式觸摸屏上的特定方向測量一個坐標,需要對一個阻性層進行偏置:將它的一邊接VREF,另一邊接地。同時,將未偏置的那一層連接到一個ADC的高阻抗輸入端。當觸摸屏上的壓力足夠大,使兩層之間發(fā)生接觸時,電阻性表面被分隔為兩個電阻。它們的阻值與觸摸點到偏置邊緣的距離成正比。觸摸點與接地邊之間的電阻相當于分壓器中下面的那個電阻。因此,在未偏置層上測得的電壓與觸摸點到接地邊之間的距離成正比。
3.ADS7846的基本特性與典型應用
3.1 基本特性
ADS7846是ADI公司生產(chǎn)的一種四線式觸摸屏控制器,目前廣泛應用于電阻式觸摸屏輸入系統(tǒng)中。ADS7846數(shù)字轉(zhuǎn)換器在一個12位逐次逼近式比較寄存器(SAR)ADC架構(gòu)上集成了用于驅(qū)動觸摸屏的低通阻抗開關(guān)。這些器件不使用內(nèi)部基準電壓,當以大于125kSaps的吞吐率運行時的最大功耗小于1.4mW。它們還帶有10KeV到12KeV的模擬輸入ESD保護,增強了抗ESD能力,以避免關(guān)鍵的內(nèi)部系統(tǒng)元件損壞。使用單2.2V 到5.25V的電源工作。 AD7846串行接口的一次完整操作需要24個DCLK.,前8個脈沖接收8位的命令,并在第6個脈沖納仙乜疾裳擁?個脈沖開始進入轉(zhuǎn)換階段,輸出12位采樣值,轉(zhuǎn)換結(jié)束進入空閑階段。直到24個DCLK結(jié)束,CS置高電平,一次測量結(jié)束。
3.2 電阻式觸摸屏的接口電路與坐標值獲取
圖3為ADS7846與Philips ARM7芯片LPC2210的接口電路圖:
ADS7846芯片通過片內(nèi)模擬電子開關(guān)的切換,將X+(Y+)端接正電源VCC,X-(Y-)接地,將X+(Y+)和X-(Y-)端以差動形式接到A/D轉(zhuǎn)換器的輸入端。當用筆點擊觸摸屏的不同位置時,由于輸入到A/D轉(zhuǎn)換器的電壓不同(見前面的分壓原理),經(jīng)過A/D轉(zhuǎn)換后就得到筆觸點的輸出值,該輸出值與筆觸點的位置成近似線性關(guān)系。因此ADS7846就可以得到筆觸點在觸摸屏上的相對位置。
3.3誤差產(chǎn)生的原因及消除方法
對坐標值精度產(chǎn)生影響的原因主要有:1,觸摸屏本身電阻材料的均勻性,由于材料均勻性的問題,可能導致電壓分壓的不均勻,必然影響輸出的精度。2,觸摸在按下和釋放過程中的抖動問題。3,ADS7846模擬開關(guān)的內(nèi)阻和A/D轉(zhuǎn)換器自身的轉(zhuǎn)換精度。4,ESD干擾問題。
第一個和第三個問題是器件的固有問題,無法消除。對第二個問題,我們可通過軟件進行鍵削抖。采用兩次鍵值比較是一個較好的方法,具體工作原理是連續(xù)測量X 、Y坐標值兩次,然后進行比較,若相同或相差在允許的誤差范圍內(nèi)就認為是有效鍵,否則為無效鍵。
關(guān)于ESD問題,這個是設計時主要面對的問題,具體措施主要采取一下幾點:
1、ADS7846的模擬地與系統(tǒng)的數(shù)字地不是一點相連。數(shù)字地干擾由公共阻抗耦合到ADS7846的模擬地,產(chǎn)生干擾造成抖動。解決辦法是模擬地與數(shù)字地一點連接。
2、ADS7846的逐次比較型A/D轉(zhuǎn)換器對電源及數(shù)字寫入非常敏感,解決方法是在電源引腳附近放置一個10μF的旁路電容,在參考電壓輸入端也放置一個0.1μF的旁路電容。
3、在電磁干擾比較強的場合,為了防止觸摸屏的引腳產(chǎn)生的高頻干擾脈沖對ADS7846產(chǎn)生干擾,應在關(guān)鍵引腳DCLK、DIN、DOUT對地接0.001μF的高頻整波電容。在PCB布線的時候屏到芯片的連線也應該以短粗為主。
3.4 ADS7846控制字及數(shù)據(jù)傳送方式
控制字
ADS7846的控制字由表1所列,其中S為數(shù)據(jù)傳輸起始標志位,該位必為“1”,A2~A0進行通道選擇。MODE用來選擇A/D轉(zhuǎn)換的精度,“1”選擇8位,“0”選擇12位。SER/DFR選擇參考電壓的輸入模式。PD1、PD0選擇省電模式:“00”省電模式允許,在兩次A/D轉(zhuǎn)換之間掉電,且中斷允許;“01”同“00”但不允許中斷;“10”保留;“11”禁止省電模式。
表1 ADS7846控制字
Bit7(MSB) | bit6 | bit5 | bit4 | bit3 | bit2 | bit1 | bit0 |
S | A2 | A1 | A0 | MODE | SER/DFR | PD1 | PD0 |
5 程序?qū)崿F(xiàn)流程以及注意事項
觸摸屏和微控制器之間的互動通過外部中斷實現(xiàn)。在程序設計中重要功能塊包括以下幾個部分:
ADS7846的初始化,包括有: 初始化SPI寄存器、可編程定時器中斷和筆中斷;MCU外部中斷的配置;LCD控制器的初始化配置:LCD驅(qū)動IC的一些初試化配置,一般由LCD的廠家提供;坐標定位子程序;以及LCD逐點顯示子程序。程序設計中,需要注意觸摸抖動和連擊問題??梢圆捎醚舆t測量法來解決,即在接收到觸摸屏筆中斷時延遲一段時間(抖動時30ms)后再測量,可消除抖動;測量完后再次延遲一段時間(連擊延時300ms)后打開筆中斷,可避免連擊現(xiàn)象出現(xiàn)。
6 結(jié)束語
討論了在電阻式觸摸屏開發(fā)應用中遇到的幾個技術(shù)問題以及解決方法,電阻式觸摸屏的應用既有硬件接口技術(shù)問題,也有軟件處理方法的問題。因此,要想使電阻式觸摸屏的使用取得良好的效果,確保硬件穩(wěn)定可靠,增強其抗干擾的能力是前提。而對于硬件上克服不了的問題,可以用軟件處理的方法來解決。所討論的問題解決方案均切實可行,且在實踐中取得了良好的應用效果。
參考文獻
[1] Touch Screen Controller ADS7846 http://www.ti.com 2004
[2] 倪天龍 鄧洪波 金連文
通過ADS7846在PDA上實現(xiàn)個性化書法輸入,電子技術(shù)應用,2004年9月21日
[3] Paul Kovitz 電阻式觸摸屏結(jié)構(gòu)和實現(xiàn)原理,夏普公司,2003年9月31日