新聞中心

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

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

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

引 言

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

1 觸摸屏控制器工作原理

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

2 硬件接口電路

觸摸屏輸入系統(tǒng)由微控制器、觸摸屏、觸摸屏控制器三部分組成。圖2是一個(gè)實(shí)際的觸摸屏輸入系統(tǒng)。在該系統(tǒng)中,微控制器采用Philips公司ARM7內(nèi)核的;觸摸屏采用Sharp公司的四線式電阻觸摸屏;觸摸屏控制器采用BB公司的通過(guò)SSP接口和外部中斷EINT0與ADS7843相連。當(dāng)筆中斷信號(hào)為低時(shí),表示有觸摸發(fā)生。SSP為同步串行接口控制器,可控制SPI、4線SSI或半導(dǎo)體Microwire總線操作,通過(guò)配置寄存器將其設(shè)定為Mi-crowire通信方式,由啟動(dòng)兩次Microwire傳送來(lái)完成坐標(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)換時(shí)序達(dá)到觸摸控制的效果。ADS7843轉(zhuǎn)換時(shí)序及控制字格式如圖3所示。

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

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

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

3.1 Microwire方式

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

部分程序代碼如下:

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

3.2 I/O口模擬時(shí)序方式

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

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

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

從觸摸屏控制器獲得的X與Y值僅是對(duì)當(dāng)前觸摸點(diǎn)電壓值的值,它不具有實(shí)用價(jià)值。這個(gè)值的大小不但與觸摸屏的分辨率有關(guān),而且也與觸摸屏和LCD的貼合狀況有關(guān)。LCD與觸摸屏的分辨率和坐標(biāo)一般來(lái)說(shuō)是不一樣的,因此,如果想得到體現(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é) 語(yǔ)

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



評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉