基于嵌入式微處理器S3C44BOX的觸摸屏接口設計
摘 要: 介紹了觸摸屏工作的基本原理,設計了基于S3C44BOX嵌入式微處理器的觸摸屏硬件接口電路,研究了觸摸屏程序的工作機制,在此基礎上給出了其核心部分程序。
本文引用地址:http://www.biyoush.com/article/168267.htm1 引言
觸摸屏越來越廣泛地應用于嵌入式系統(tǒng)中。
不同的應用領域觸摸屏的設計方式也各不相同,一般有以下三種: ①應用觸摸屏模塊。觸摸屏模塊提供標準的硬件接口與應用系統(tǒng)(一般為PC 或X86架構的工控機) 相連,安裝驅動程序后即可工作,基本無需開發(fā); ②擴展觸摸屏控制器。這是嵌入式系統(tǒng)中設計觸摸屏普遍使用的方法。常用的觸摸屏控制芯片有ADS7843 ,ADS7846 等。這些芯片內部集成了A/ D 轉換器和觸摸屏的驅動電路,同時要設計一定的軟件; ③與前面方式②相仿,有些處理器集成了A/ D 轉換器,通過I/ O 口模擬觸摸屏的驅動信號也可實現觸摸屏的控制。
隨著芯片技術的發(fā)展,處理器內部的資源越來越豐富。如韓國三星半導體公司的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 轉換器,可以通過S3C44BOX 的I/ O 口模擬觸摸屏的驅動信號實現觸摸屏的控制。
2 觸摸屏工作原理
電阻式觸摸屏是一塊4 層的透明的復合薄膜屏,如圖1 所示,最下面是玻璃或有機玻璃構成的基層,最上面是一層外表面經過硬化處理從而光滑防刮的塑料層,中間是兩層金屬導電層,分別在基層之上和塑料層內表面,在兩導電層之間有許多細小的透明隔離點把它們隔開。當手指觸摸屏幕時,平常絕緣的兩層導電層在觸摸點位置就有了一個接觸,觸摸屏的兩個金屬導電層是觸摸屏的兩個工作面,在每個工作面的兩端各涂有一條銀膠,成為該工作面的一對電極,若在一個工作面的電極對上施加電壓,則在該工作面上就會形成均勻連續(xù)的平行電壓分布。如圖2 所示,每個工作面有兩個電極對,當在X 方向的電極對上施加一確定的電壓,而Y 方向電極對上不加電壓時,在X 平行電壓場中,觸點處的電壓值可以在Y +(或Y2) 電極上反映出來,通過測量Y + 電極對地的電壓大小,便可得知觸點的X 坐標值。同理,當在Y電極對上加電壓,而X 電極對上不加電壓時,通過測量X + 電極的電壓,便可得知觸點的Y坐標。
圖1 觸摸屏的觸摸示意圖 圖2 測量關系 在該系統(tǒng)中沒有使用專用的控制器,簡而代之的是用了四個三極管(兩個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 觸摸屏的接口電路 為了減少系統(tǒng)功耗和觸摸屏所占CPU 資源,只在有落筆時觸摸屏控制器才啟動掃描,通過A/D 轉換得到坐標的對應值,因此需在外部設計落筆檢測電路,如圖4 所示。中斷連在EXTINT2上,設置中斷為上升沿觸發(fā),平時為低, 按下屏時變高產生中斷。 圖4 落筆檢測電路 4 觸摸屏的狀態(tài) 在編寫軟件前, 要先對觸摸屏的狀態(tài)有所了解,在觸摸屏的整個工作過程中,總共有3 個狀態(tài):空閑態(tài)、X 通道態(tài)和Y通道態(tài)。 在沒有觸摸的時候,觸摸屏處于空閑態(tài),此時,為了便于接收中斷,應設置TS_A = 1 ,TS_B =1 ,TS_C = 0 和TS_D = 1.為了獲得觸點的X軸坐標,需要把觸摸屏設置成X通道態(tài),即TS_A= 0 ,TS_B = 1 ,TS_C = 1 和TS_D = 0.此時,通過測量Y + (AIN1) 獲取X 通道上的坐標。 同理,為了獲得觸點的Y軸坐標,需要把觸摸屏設置成Y通道態(tài),即TS_A = 1 ,TS_B = 0 ,TS_C= 0 和TS_D = 1.此時,通過測量X+ (AIN0) 獲取Y通道上的坐標。 5 系統(tǒng)的軟件設計 整個系統(tǒng)軟件包括觸摸屏初始化、落筆中斷服務程序,AD 測量子程序、濾波程序和坐標轉換程序。當有觸摸時, EXTINT2 變?yōu)楦唠娖剑a生中斷。由S3C44B0X 響應該中斷請求,進入落筆中斷服務程序,在該程序中,啟動AD 測量子程序,讀取AD 轉換結果,從而得到觸點的坐標。整個過程,觸摸屏在空閑態(tài),X 通道態(tài)和Y 通道態(tài)之間轉換,如圖5 所示。
評論