新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于ADS7843的SSP接口的觸摸屏軟硬件系統(tǒng)設(shè)計

基于ADS7843的SSP接口的觸摸屏軟硬件系統(tǒng)設(shè)計

作者: 時間:2009-12-16 來源:網(wǎng)絡(luò) 收藏

引 言

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

1 觸摸屏控制器工作原理

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

2 硬件接口電路

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

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

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

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

3.1 Microwire方式

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

部分程序代碼如下:

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

3.2 I/O口模擬時序方式

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

I/O模擬時序坐標(biāo)采集程序如下:

4 坐標(biāo)轉(zhuǎn)換

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

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

結(jié) 語

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



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉