常晨晨 張鋒 高穎
摘 要文章簡(jiǎn)要介紹了觸摸屏的結(jié)構(gòu)及工作原理,并以一個(gè)C8051為處理器、TI公司ADS7845為觸摸屏控制芯片的嵌入式系統(tǒng)為例,介紹觸摸屏在單片機(jī)系統(tǒng)中的典型應(yīng)用電路,討論了觸摸屏控制芯片ADS7845的應(yīng)用方法和技巧。
【關(guān)鍵詞】C8051 ADS7845 觸摸屏
1 引言
本文介紹基于C8051芯片的嵌入式系統(tǒng)觸摸屏設(shè)計(jì),及應(yīng)用較廣泛的TI公司ADS7845芯片的特點(diǎn)、原理以及實(shí)際使用方法。
2 硬件構(gòu)成與工作原理
觸摸屏輸入系統(tǒng)由觸摸屏、觸摸屏控制器和微控制器三部分組成。圖1示出了1個(gè)基于C8051的嵌入式系統(tǒng)的觸摸屏輸入系統(tǒng),在該系統(tǒng)中觸摸屏采用五線電阻式觸摸屏,觸摸屏控制器采用TI公司的ADS7845,微控制器為C8051芯片。
3 設(shè)計(jì)與實(shí)現(xiàn)
3.1 硬件實(shí)現(xiàn)
C8051F121是集成在一塊芯片上的混合信號(hào)系統(tǒng)級(jí)單片機(jī),芯片上有32位數(shù)字I/O端口,與標(biāo)準(zhǔn)8051的端口(P0~3)相同。C8051F121和ADS7845通過(guò)標(biāo)準(zhǔn)的SPI接口相連。SPI接口是工業(yè)標(biāo)準(zhǔn)的同步串行接口,是一種全雙工,四線通信的系統(tǒng),它允許C8051F121單片機(jī)與各種外圍設(shè)備以串行方式進(jìn)行通信。在SPI接口中,數(shù)據(jù)的傳輸需要1個(gè)時(shí)鐘信號(hào)和兩條數(shù)據(jù)線。SPI可工作在主模式或從模式下。在主模式下,最大數(shù)據(jù)傳輸速率(位/秒)是系統(tǒng)時(shí)鐘頻率的1/2:而在從模式下,全雙工操作時(shí)的最大數(shù)據(jù)傳輸速率(位/秒)是系統(tǒng)時(shí)鐘頻率的1/10。ADS7845通過(guò)中斷請(qǐng)求向C8051F121表示有觸摸發(fā)生,ADS7845只能作為SPI的從設(shè)備,各信號(hào)的時(shí)序是完全固定的,因此需要配置C8051F121的SPI接口信號(hào)時(shí)序使之完全符合ADS7845的時(shí)序。
原理框圖如圖2所示。
3.2 主要芯片介紹
觸摸屏控制芯片主要完成兩個(gè)工作:一是完成電極電壓的切換:二是采集接觸點(diǎn)處的電壓值(即A/D轉(zhuǎn)換)。ADS7845是Tl公司專為四線電阻式觸摸屏設(shè)計(jì)的專用接口芯片,它可以方便地與單片機(jī)接口,對(duì)轉(zhuǎn)換信號(hào)進(jìn)行處理和計(jì)算。它是一個(gè)具有可編程的8位或12位分辨率的逐次逼近型A/D轉(zhuǎn)換器,帶有一個(gè)同步串行SPI接口,可支持高達(dá)125kHz的轉(zhuǎn)換速率。
ADS7845根據(jù)微控制器通過(guò)數(shù)據(jù)輸入口DIN 發(fā)來(lái)的不同測(cè)量指令接通不同的開(kāi)關(guān)通道,以便向工作面電極對(duì)提供電壓,并把相應(yīng)測(cè)量電極上的觸點(diǎn)坐標(biāo)位置所對(duì)應(yīng)的電壓模擬量輸入A/D 轉(zhuǎn)換器,再通過(guò)DOUT 傳回微控制器。
ADS7845 與微控制器C8051間的數(shù)據(jù)通信,主要是通過(guò)微控制器的I/O 口與ADS7845 的DCLK、CS、DOUT、DIN、BUSY 五個(gè)引腳進(jìn)行。DCLK 是ADS7845 的工作脈沖,CS 是ADS7845 的片選信號(hào),DOUT 是數(shù)據(jù)輸出,DIN 是數(shù)據(jù)輸入,BUSY 是轉(zhuǎn)換判斷標(biāo)志位。當(dāng)系統(tǒng)工作時(shí),微控制器首先通過(guò)片選信號(hào)選中ADS7845,再通過(guò)DIN 向ADS7845 發(fā)送命令控制字?jǐn)?shù)據(jù),并通過(guò)DCLK 引腳配以相應(yīng)的時(shí)序脈沖。BUSY位被置位后,通過(guò)DOUT 數(shù)據(jù)輸出口讀取12 位轉(zhuǎn)換結(jié)果,完成觸摸屏控制器和微控制器之間的一次通信。
3.3 軟件實(shí)現(xiàn)
3.3.1 控制字
對(duì)ADS7845的控制是通過(guò)DIN(串行數(shù)據(jù)輸入)引腳的控制字來(lái)實(shí)現(xiàn)的,控制字位定義見(jiàn)表1。
其中,BIT7為起始位(S),必須始終為1,表示控制字節(jié)的開(kāi)始。BIT4~BIT6為通道選擇位,測(cè)量的坐標(biāo)和通道選擇的對(duì)應(yīng)關(guān)系見(jiàn)表2。
BIT3為AD轉(zhuǎn)換分辨率選擇,1選擇8位模式,0選擇12位模式??紤]到屏幕顯示分辨率為1024*768,選用12位模式。
BIT2為基準(zhǔn)電壓模式選擇,1選擇單端模式,0選擇差分模式,使用差分模式能夠避免基準(zhǔn)電壓波動(dòng)帶來(lái)的轉(zhuǎn)換誤差,推薦使用差分模式。
BIT1、BIT0為低功耗模式選擇,對(duì)應(yīng)關(guān)系見(jiàn)表3。
3.3.2 PENIRQ的使用
只有當(dāng)觸摸屏有觸摸時(shí),才需要采樣坐標(biāo),可以由ADS7845的PENIRQ功能實(shí)現(xiàn)。PD1=0,PD0=0時(shí),使能PENIRQ,當(dāng)有觸摸發(fā)生時(shí),控制器的PENIRQ引腳輸出被拉低,可以用于檢測(cè)觸摸發(fā)生,降低系統(tǒng)的資源占用。
3.4 調(diào)試中遇到的問(wèn)題:觸摸屏響應(yīng)慢
設(shè)計(jì)調(diào)試初期,按壓間隔時(shí)間需要1~2秒,否則系統(tǒng)檢測(cè)不到觸摸屏上的操作。經(jīng)示波器測(cè)量后發(fā)現(xiàn),ADS7845芯片輸出的中斷信號(hào)上升時(shí)間非常長(zhǎng),近1秒鐘。原理圖參考芯片資料上的接法,將PENIRQ引腳用100K電阻上拉至VCC。通常上拉電阻阻值較大,導(dǎo)致上升下降沿時(shí)間長(zhǎng)。于是將上拉電阻更換1~10K阻值,上升沿時(shí)間變小,加快了響應(yīng)時(shí)間。
4 結(jié)束語(yǔ)
本文簡(jiǎn)要的介紹了一個(gè)基于C8051單片機(jī)和ADS7845控制芯片的嵌入式系統(tǒng)的觸摸屏設(shè)計(jì)實(shí)例,由于筆者水平有限,僅從硬件角度進(jìn)行論述,在措辭、技術(shù)細(xì)節(jié)難免會(huì)存在錯(cuò)誤,懇請(qǐng)諒解并指正。
參考文獻(xiàn)
[1]高鋒.單片微機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)及實(shí)用技術(shù)[M].北京:機(jī)械工業(yè)出版社,2004.
[2]慕春棣.嵌入式系統(tǒng)構(gòu)建[M].北京:清華大學(xué)出版社,2004.
[3]BURR-BROWN INC.ADS7845 DATA SHEET [Z].2003.
[4]楊國(guó)棟,沈培宏.《觸摸屏技術(shù)發(fā)展簡(jiǎn)介》http://www.optoelectro.com.
[5]馮達(dá),吳星明《基于C8051F_SPI接口液晶觸摸屏的控制設(shè)計(jì)》[J].微計(jì)算機(jī)信息(嵌入式與SOC),2005,21(23):56-57.
[6]ADS7845 Data Sheet Burr-Brown Corporation1998.
作者簡(jiǎn)介
常晨晨(1983-),女,江蘇省徐州市人。工學(xué)學(xué)士。蘇州長(zhǎng)風(fēng)航空電子有限公司軍品研究所工程師。主要從事機(jī)載座艙顯示技術(shù)方面的研究。
張鋒(1983-),男,江蘇省南通市人。工學(xué)學(xué)士。蘇州長(zhǎng)風(fēng)航空電子有限公司軍品研究所高級(jí)工程師。主要從事機(jī)載座艙顯示技術(shù)方面的研究。
高穎(1983-),女,內(nèi)蒙古赤峰人。工學(xué)碩士。蘇州長(zhǎng)風(fēng)航空電子有限公司軍品研究所高級(jí)工程師。主要從事機(jī)載座艙顯示技術(shù)方面的研究。
作者單位
蘇州長(zhǎng)風(fēng)航空電子有限公司 江蘇省蘇州市 215151