<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設(shè)計應(yīng)用 > ADS7846在電阻式觸摸屏設(shè)計中的應(yīng)用

          ADS7846在電阻式觸摸屏設(shè)計中的應(yīng)用

          作者: 時間:2011-07-04 來源:網(wǎng)絡(luò) 收藏

          本文引用地址:http://www.ex-cimer.com/article/161875.htm

            3.2 的接口電路與坐標(biāo)值獲取

            圖3為與PhilipsARM7芯片LPC2210的接口電路。

            芯片通過片內(nèi)模擬電子開關(guān)的切換,將X+(Y+)端接正電源VCC,X-(Y-)接地,將X+(Y+)和X-(Y-)端以差動形式接到A/D轉(zhuǎn)換器的輸入端。

            當(dāng)用筆點擊的不同位置時,由于輸入到A/D轉(zhuǎn)換器的電壓不同(見前面的分壓原理),經(jīng)過A/D轉(zhuǎn)換后就得到筆觸點的輸出值,該輸出值與筆觸點的位置成近似線性關(guān)系。因此就可以得到筆觸點在上的相對位置。

            3.3 誤差產(chǎn)生的原因及消除方法

            對坐標(biāo)值精度產(chǎn)生影響的原因主要有:

          ①觸摸屏本身材料的均勻性,由于材料均勻性的問題,可能導(dǎo)致電壓分壓的不均勻,必然影響輸出的精度。

          ②觸摸在按下和釋放過程中的抖動問題。

            ③ADS7846模擬開關(guān)的內(nèi)阻和A/D轉(zhuǎn)換器自身的轉(zhuǎn)換精度。

          ④ESD干擾問題。

            第①個和第③個問題是器件的固有問題,無法消除。對第②個問題,可通過軟件進行鍵削抖。采用兩次鍵值比較是一個較好的方法,具體工作原理是連續(xù)測量X,Y坐標(biāo)值兩次,然后進行比較,若相同或相差在允許的誤差范圍內(nèi)就認(rèn)為是有效鍵,否則為無效鍵。

            關(guān)于ESD問題,這個是時主要面對的問題,具體措施主要采取一下幾點:

           ?。?)ADS7846的模擬地與系統(tǒng)的數(shù)字地不是一點相連。數(shù)字的干擾由公共阻抗耦合到ADS7846的模擬地,產(chǎn)生干擾造成抖動。解決辦法是模擬地與數(shù)字地一點連接。

           ?。?)ADS7846的逐次比較型A/D轉(zhuǎn)換器對電源及數(shù)字寫入非常敏感,解決方法是在電源引腳附近放置一個10μF的旁路電容,在參考電壓輸入端也放置一個0.1μF的旁路電容。

           ?。?)在電磁干擾比較強的場合,為了防止觸摸屏的引腳產(chǎn)生的高頻干擾脈沖對ADS7846產(chǎn)生干擾,應(yīng)在關(guān)鍵引腳DCLK,DIN,DOUT對地接0.001μF的高頻整波電容。在PCB布線的時候屏到芯片的連線也應(yīng)該以短粗為主。

          光敏電阻相關(guān)文章:光敏電阻工作原理


          電容式觸摸屏相關(guān)文章:電容式觸摸屏原理


          評論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();