《電子技術(shù)應用》
您所在的位置:首頁 > 顯示光電 > 設計應用 > SSP接口的觸摸屏軟硬件系統(tǒng)設計
SSP接口的觸摸屏軟硬件系統(tǒng)設計
劉榮林 程曉東
摘要: 本設計實現(xiàn)了觸摸屏的基本功能,其中包括硬件電路的設計與調(diào)試,SSP或IO模擬時序控制觸摸屏軟件實現(xiàn)。經(jīng)過調(diào)試后,觸摸屏工作正常,能夠?qū)崿F(xiàn)系統(tǒng)所要求的功能。
Abstract:
Key words :

    嵌入式系統(tǒng)觸摸屏的應用越來越廣泛,諸如以PDA為標志的數(shù)碼產(chǎn)品和工業(yè)領域中使用的大量儀器儀表都逐漸選用LCD觸摸屏作為系統(tǒng)的輸入設備。觸摸屏分為電阻、電容、表面聲波、紅外線掃描和矢量壓力傳感等,其中用的最普遍的是四線或五線電阻觸摸屏。四線電阻觸摸屏是由兩個透明電阻膜構(gòu)成的,在它的水平和垂直電阻網(wǎng)上施加電壓,就可通過A/D轉(zhuǎn)換面板在觸摸點測量出電壓,從而對應出坐標值。本文除簡單介紹ADS7843工作原理之外,主要討論觸摸屏控制器的兩種控制方式,并給出了具體的應用連接圖。

1 觸摸屏控制器工作原理

    ADS7843內(nèi)部是一個由多個模擬開關組成的供電-測量電路網(wǎng)絡和12位的ADC組成,如圖1所示。其最高轉(zhuǎn)換頻率達125 kHz。X+、Y+、X-、Y-是轉(zhuǎn)換器模擬輸入端,實際上是一個四通道多路器。觸摸屏工作時,上下導體層相當于電阻網(wǎng)絡。當在X方向的電極對上施加一確定的電壓,而Y方向電極對上不加電壓時,在X平行電壓場中,觸點處的電壓值可以在Y+(或Y-)電極上反映出來,通過測量Y+電極對地的電壓大小,便可得知觸點的X坐標值。同理,當在Y電極對上加電壓,而X電極對上不加電壓時,通過測量X+電極的電壓,便可得知觸點的y坐標。

2 硬件接口電路

    觸摸屏輸入系統(tǒng)由微控制器、觸摸屏、觸摸屏控制器三部分組成。圖2是一個實際的觸摸屏輸入系統(tǒng)。在該系統(tǒng)中,微控制器采用Philips公司ARM7內(nèi)核的LPC2387;觸摸屏采用Sharp公司的四線式電阻觸摸屏;觸摸屏控制器采用BB公司的ADS7843。LPC2387通過SSP接口和外部中斷EINT0與ADS7843相連。當筆中斷信號為低時,表示有觸摸發(fā)生。SSP為同步串行接口控制器,可控制SPI、4線SSI或半導體Microwire總線操作,通過配置寄存器將其設定為Mi-crowire通信方式,由LPC2387啟動兩次Microwire傳送來完成坐標采集。第1次輸入采集X坐標的控制字輸出未經(jīng)變換的X坐標。第2次輸入Y坐標控制字輸出未經(jīng)變換Y坐標。當然也可以不用SSP功能,采用通用I/O端口模擬ADS7843轉(zhuǎn)換時序達到觸摸控制的效果。ADS7843轉(zhuǎn)換時序及控制字格式如圖3所示。

 

 

 

3 系統(tǒng)軟件設計

    觸摸屏軟件設計包括I/O口初始化程序、筆中斷服務程序和ADS7843測量子程序三部分。當有觸摸時,ADS7843向LPC2387發(fā)出中斷請求并響應,程序跳至啟動通信代碼處,讀取ADS7843的轉(zhuǎn)換結(jié)果,從而得到觸摸點的坐標。在ADS7843測量子程序中,完成一次微處理器和ADS7843之間的通信。

    觸摸屏的軟件設計可采用兩種方式:一種是利用SSP接口的Microwire方式直接控制;另一種是I/O端口模擬ADS7843轉(zhuǎn)換時序來實現(xiàn)坐標采集。

3.1 Microwire方式

    Microwire格式采用半雙工模式。每次串行發(fā)送8位控制字開始,在發(fā)送控制字過程中,SSP不接收數(shù)據(jù),待發(fā)送完畢后,片外從器件ADS7843對其譯碼,并且最后一位發(fā)送結(jié)束的一個串行時鐘后,才返回主機所需的數(shù)據(jù)。它的這種傳輸方式恰好與ADS7843轉(zhuǎn)換時序吻合,只要對SSP寄存器配置準確便可方便地控制觸摸屏完成坐標的采集。

    部分程序代碼如下:

 

 

    ADS7843_Get()為測量取值子程序,通過控制SSPODR寄存器實現(xiàn)控制字的發(fā)送和邏輯坐標值的接收。

3.2 I/O口模擬時序方式

    鑒于許多微控制器沒有SSP接口,可以采取I/O模擬ADS7843轉(zhuǎn)換時序來實現(xiàn)坐標采集。此方式較為繁瑣,與SSP接口的觸摸屏控制方式比較最為顯著的缺點是:響應速度較慢,靈敏度較低,微處理器與觸摸屏控制器間的通信時間較長,降低了系統(tǒng)的效率。然而此種方式卻具有一般性,任何處理器都可采以用此方式來實現(xiàn)觸摸控制。

    I/O模擬時序坐標采集程序如下:

 

 

4 坐標轉(zhuǎn)換

    從觸摸屏控制器獲得的X與Y值僅是對當前觸摸點電壓值的A/D轉(zhuǎn)換值,它不具有實用價值。這個值的大小不但與觸摸屏的分辨率有關,而且也與觸摸屏和LCD的貼合狀況有關。LCD與觸摸屏的分辨率和坐標一般來說是不一樣的,因此,如果想得到體現(xiàn)LCD坐標的觸摸屏位置,還需要在程序中進行轉(zhuǎn)換。轉(zhuǎn)換公式如下:

 

 

    其中,Tch_Xmax、Tch_Xmin、Tch_Yma x和Tch_Ym-in是觸摸屏返回電壓值X、Y軸的范圍;LCDWidth、LCD-Height是液晶屏的寬度與高度。

結(jié) 語

    本設計實現(xiàn)了觸摸屏的基本功能,其中包括硬件電路的設計與調(diào)試,SSP或I/O模擬時序控制觸摸屏軟件實現(xiàn)。經(jīng)過調(diào)試后,觸摸屏工作正常,能夠?qū)崿F(xiàn)系統(tǒng)所要求的功能。使用Philips公司的LPC2387微處理器來設計的四線電阻式觸摸屏產(chǎn)品在實際應用中得到較好的效果,屏幕顯示無閃爍,畫面切換速度快,觸摸屏響應迅速。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。