新聞中心

        EEPW首頁 > 光電顯示 > 設計應用 > 基于嵌入式微處理器S3C44BOX的觸摸屏接口設計

        基于嵌入式微處理器S3C44BOX的觸摸屏接口設計

        作者: 時間:2012-03-21 來源:網絡 收藏

        摘 要: 介紹了工作的基本原理,硬件電路,研究了程序的工作機制,在此基礎上給出了其核心部分程序。

        本文引用地址:http://www.104case.com/article/168267.htm

        1 引言

        觸摸屏越來越廣泛地應用于系統中。

        不同的應用領域觸摸屏的方式也各不相同,一般有以下三種: ①應用觸摸屏模塊。觸摸屏模塊提供標準的硬件與應用系統(一般為PC 或X86架構的工控機) 相連,安裝驅動程序后即可工作,基本無需開發; ②擴展觸摸屏控制器。這是系統中觸摸屏普遍使用的方法。常用的觸摸屏控制芯片有ADS7843 ,ADS7846 等。這些芯片內部集成了A/ D 轉換器和觸摸屏的驅動電路,同時要設計一定的軟件; ③與前面方式②相仿,有些處理器集成了A/ D 轉換器,通過I/ O 口模擬觸摸屏的驅動信號也可實現觸摸屏的控制。

        隨著芯片技術的發展,處理器內部的資源越來越豐富。如韓國三星半導體公司的32 位ARM處理器S3C44B0X 芯片,其內部集成了外部存儲器控制器、LCD 控制器、4 個DMA 通道、2 通道異步UART 單元、1 個同步串行口(SIO) , 1 個多主I2C總線控制器、1 個I2S 總線控制器, 5 通道PWM 定時器及1 個內部定時器、71 個通用I/ O口、8 個外部中斷源、實時時鐘、8 通道10 位ADC等。由于其內部集成了10 位的A/ D 轉換器,可以通過 的I/ O 口模擬觸摸屏的驅動信號實現觸摸屏的控制。

        2 觸摸屏工作原理

        電阻式觸摸屏是一塊4 層的透明的復合薄膜屏,如圖1 所示,最下面是玻璃或有機玻璃構成的基層,最上面是一層外表面經過硬化處理從而光滑防刮的塑料層,中間是兩層金屬導電層,分別在基層之上和塑料層內表面,在兩導電層之間有許多細小的透明隔離點把它們隔開。當手指觸摸屏幕時,平常絕緣的兩層導電層在觸摸點位置就有了一個接觸,觸摸屏的兩個金屬導電層是觸摸屏的兩個工作面,在每個工作面的兩端各涂有一條銀膠,成為該工作面的一對電極,若在一個工作面的電極對上施加電壓,則在該工作面上就會形成均勻連續的平行電壓分布。如圖2 所示,每個工作面有兩個電極對,當在X 方向的電極對上施加一確定的電壓,而Y 方向電極對上不加電壓時,在X 平行電壓場中,觸點處的電壓值可以在Y +(或Y2) 電極上反映出來,通過測量Y + 電極對地的電壓大小,便可得知觸點的X 坐標值。同理,當在Y電極對上加電壓,而X 電極對上不加電壓時,通過測量X + 電極的電壓,便可得知觸點的Y坐標。

        圖1  觸摸屏的觸摸示意圖

        圖1 觸摸屏的觸摸示意圖

        圖2  測量關系

        圖2 測量關系

        3 與觸摸屏的電路

        在該系統中沒有使用專用的控制器,簡而代之的是用了四個三極管(兩個NPN 和兩個PNP) ,外加一些偏流電阻、上拉電阻和濾波電容組成,如圖3 所示,其中:TS_A ,TS_B ,TS_C和TS_D 分別由S3C44B0X 的GPC0 , GPC1 , GPC2 和GPC3 控制。X+ 和Y+ 分別連接到S3C44B0X的A/ D 轉換輸入接口AIN0 和AIN1 上。TS_A 和TS_C在X方向施加正向電壓時,在Y方向檢測到X坐標的對應值,同理,TS_B 和TS_D 在Y方向施加正向電壓時,在X方向檢測到Y坐標的對應值,分別由AIN0 和AIN1 采集。

        圖3  觸摸屏的接口電路

        圖3 觸摸屏的接口電路

        為了減少系統功耗和觸摸屏所占CPU 資源,只在有落筆時觸摸屏控制器才啟動掃描,通過A/D 轉換得到坐標的對應值,因此需在外部設計落筆檢測電路,如圖4 所示。中斷連在EXTINT2上,設置中斷為上升沿觸發,平時為低, 按下屏時變高產生中斷。

        圖4  落筆檢測電路

        圖4 落筆檢測電路

        4 觸摸屏的狀態

        在編寫軟件前, 要先對觸摸屏的狀態有所了解,在觸摸屏的整個工作過程中,總共有3 個狀態:空閑態、X 通道態和Y通道態。

        在沒有觸摸的時候,觸摸屏處于空閑態,此時,為了便于接收中斷,應設置TS_A = 1 ,TS_B =1 ,TS_C = 0 和TS_D = 1.為了獲得觸點的X軸坐標,需要把觸摸屏設置成X通道態,即TS_A= 0 ,TS_B = 1 ,TS_C = 1 和TS_D = 0.此時,通過測量Y + (AIN1) 獲取X 通道上的坐標。

        同理,為了獲得觸點的Y軸坐標,需要把觸摸屏設置成Y通道態,即TS_A = 1 ,TS_B = 0 ,TS_C= 0 和TS_D = 1.此時,通過測量X+ (AIN0) 獲取Y通道上的坐標。

        5 系統的軟件設計

        整個系統軟件包括觸摸屏初始化、落筆中斷服務程序,AD 測量子程序、濾波程序和坐標轉換程序。當有觸摸時, EXTINT2 變為高電平,產生中斷。由S3C44B0X 響應該中斷請求,進入落筆中斷服務程序,在該程序中,啟動AD 測量子程序,讀取AD 轉換結果,從而得到觸點的坐標。整個過程,觸摸屏在空閑態,X 通道態和Y 通道態之間轉換,如圖5 所示。

        linux操作系統文章專題:linux操作系統詳解(linux不再難懂)

        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 平湖市| 兴仁县| 岳池县| 齐齐哈尔市| 冕宁县| 淄博市| 信宜市| 阿克| 启东市| 山东| 阿拉善右旗| 新田县| 赤城县| 兴隆县| 五原县| 杨浦区| 乾安县| 江源县| 滦南县| 陕西省| 西畴县| 荆门市| 光泽县| 新平| 仙桃市| 镇赉县| 都江堰市| 闽侯县| 永平县| 安乡县| 肃南| 建宁县| 绥德县| 桐庐县| 东源县| 泸西县| 佛学| 曲周县| 文成县| 长兴县| 宁津县|