用ADS7846設計嵌入系統(tǒng)的觸摸屏
關鍵詞: 觸摸屏;觸摸屏控制器;嵌入式系統(tǒng)
系統(tǒng)組成
觸摸屏輸入系統(tǒng)由觸摸屏、觸摸屏控制器和微控制器三部分組成。圖1示出了一個實際的觸摸屏輸入系統(tǒng),系統(tǒng)中觸摸屏采用四線電阻式觸摸屏,觸摸屏控制器采用TI(BB)公司的ADS7846。
觸摸屏
觸摸屏附著在顯示器的表面,與顯示器相配合使用,如果能測量出觸摸點在屏幕上的坐標位置,則可根據(jù)顯示屏上對應坐標點的顯示內(nèi)容或圖符獲知觸摸者的意圖。觸摸屏按其技術原理可分為五類:矢量壓力傳感式、電阻式、電容式、紅外線式、表面聲波式,其中電阻式觸摸屏在嵌入式系統(tǒng)中用的較多。電阻觸摸屏是一塊4層的透明的復合薄膜屏(圖2),最下面是玻璃或有機玻璃構成的基層,最上面是一層外表面經(jīng)過硬化處理從而光滑防刮的塑料層,中間是兩層金屬導電層,分別在基層之上和塑料層內(nèi)表面,在兩導電層之間有許多細小的透明隔離點把它們隔開。當手指觸摸屏幕時,兩導電層在觸摸點處接觸。
觸摸屏的兩個金屬導電層是觸摸屏的兩個工作面,在每個工作面的兩端各涂有一條銀膠,稱為該工作面的一對電極,若在一個工作面的電極對上施加電壓,則在該工作面上就會形成均勻連續(xù)的平行電壓分布。如圖1所示,當在X方向的電極對上施加一確定的電壓,而Y方向電極對上不加電壓時,在X平行電壓場中,觸點處的電壓值可以在Y+(或Y-)電極上反映出來,通過測量Y+電極對地的電壓大小,便可得知觸點的X坐標值。同理,當在Y電極對上加電壓,而X電極對上不加電壓時,通過測量X+電極的電壓,便可得知觸點的Y坐標。電阻式觸摸屏有四線和五線兩種。四線式觸摸屏的X工作面和Y工作面分別加在兩個導電層上,共有四根引出線,分別連到觸摸屏的X電極對和Y電極對上。五線式觸摸屏把X工作面和Y工作面都加在玻璃基層的導電涂層上,但工作時,仍是分時加電壓的,即讓兩個方向的電壓場分時工作在同一工作面上,而外導電層則僅僅用來充當導體和電壓測量電極。因此,五線式觸摸屏的引出線需要5根。
圖1 觸摸屏輸入系統(tǒng)的組成
圖2 觸摸屏的觸摸示意圖
圖3 ADS7846的功能框圖
圖4 測量關系
圖5 轉換時序
圖6筆中斷請求
圖7 軟件接口流程圖
ADS7846觸摸屏控制器
各種類型的觸摸屏均有其相應的控制器,如:ADS7846是四線式觸摸屏的控制器,而ADS7845是五線式觸摸屏的控制器??刂破鞯闹饕δ苁欠謺r向X、Y電極對施加電壓,并把測量電極上的電壓信號轉換為相應觸摸點的X、Y坐標。
ADS7846內(nèi)部有一個由多個模擬開關組成的供電-測量電路網(wǎng)絡和12位的A/D轉換器(見圖3)。ADS7846根據(jù)微控制器發(fā)來的不同測量命令導通不同的模擬開關,以便向工作面電極對提供電壓,并把相應測量電極上的觸點坐標位置所對應的電壓模擬量引入A/D轉換器。在觸摸點X、Y坐標的測量過程中,測量電壓與測量點的等效電路如圖4所示,圖中P為測量點。
ADS7846與微控制器MMC2107之間通過標準的SPI口相連,由MMC2107啟動3次SPI傳送來完成轉換,如圖5所示。第一次SPI傳送由MMC2107向ADS846發(fā)控制字,包括起始位、通道選擇、8/12位模式、差分/單端選擇和掉電模式選擇,接下來的兩次SPI傳送則是MMC2107從ADS7846取A/D轉換結果數(shù)據(jù)(最后四位自動補零),完成觸摸屏控制器和微控制器之間的一次通信。
筆中斷輸出
ADS7846通過筆中斷請求向MMC2107表示有觸摸發(fā)生。如圖6所示,當沒有觸摸時,MOSFET①和②打開、③關閉,則筆中斷輸出引腳通過外加的上拉電阻輸出為高。當有觸摸時,①和③打開、②關閉,則筆中斷輸出引腳通過③內(nèi)部連接到地而輸出為低,從而向MMC2107發(fā)中斷請求。
實際應用舉例
觸摸屏輸入系統(tǒng)的硬件連線如圖1所示,當有觸摸時ADS7846向MMC2107發(fā)中斷請求,由MMC2107響應該中斷請求,啟動圖5所示的通信過程,讀取ADS7846的轉換結果,從而得到觸摸點的坐標,其軟件流程如圖7所示,包括系統(tǒng)初始化(圖中省略)、中斷服務程序和ADS7846測量程序三部分。在ADS7846測量程序中,完成一次MMC2107和ADS7846之間的通信過程。
在測量過程中發(fā)現(xiàn)ADS7846的外時鐘為50KHz~60KHz時是比較適宜的。ADS7846只能作為SPI的從設備,各信號的時序是完全固定的,因此需要配置MMC2107 SPI接口信號的時序使之完全符合ADS7846的時序,尤其是從選擇信號SS#在一次通信過程中應一直為低(見圖5)。
實際測量結果如表1、表2所示: 表1是在一條基本豎直的直線上等距離測量的幾個點的坐標值,從表中可得X坐標的斜率為64.25/mm,表2是一條基本水平的直線上等距離測量的幾個點的坐標值,可知Y坐標變化斜率為46.33/mm?!?
評論