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