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