液晶顯示觸摸屏的硬件設(shè)計(jì)
ADS7846是美國(guó)Burr-Brown公司推出的新一代4線制觸摸屏控制器,當(dāng)與觸摸屏連用,只要筆或手指點(diǎn)觸摸在屏上時(shí),即可迅速得到該點(diǎn)的位置信號(hào)以達(dá)到在觸摸屏表面尋址的目的。文中詳細(xì)介紹了該芯片的基本原理、特點(diǎn)、引腳功能、主要參數(shù)及典型應(yīng)用電路。
1、概述
ADS7846是美國(guó)Burr-Brown公司推出的新一代4線制觸摸屏控制器,它在與觸摸屏連用時(shí),一旦筆或手指點(diǎn)觸摸在屏上,可迅速得到該點(diǎn)的位置信號(hào),從而達(dá)到在觸摸屏表面上尋址的目的。ADS7846 是典型的逐步逼近寄存器型A/D變換器,其結(jié)構(gòu)以電容再分布為基礎(chǔ),包含了取樣/保持功能。ADS7846的引腳與以前產(chǎn)品ADS7843的引腳完全兼容,只是增加了片內(nèi)溫度測(cè)量、觸摸壓力測(cè)量和電池電壓測(cè)量三個(gè)功能。ADS7846的其它主要特點(diǎn)如下:
●具有4線制觸摸屏接口;
●可單電源工作,電壓范圍為2.2~5.25V;
●內(nèi)部自帶+2.5V參考電壓;
●具有125kHz的轉(zhuǎn)換速率;
●帶有微處理器的串行接口;
●具有可編程8位或12位的分辨率;
●具有1路輔助模擬量輸入。
ADS7846可廣泛用于有觸摸屏的應(yīng)用中,如個(gè)人數(shù)字助理(PDA)、筆記本電腦等。
ADS7846具有TSSOP-16和SSOP-16兩種封裝形式,它的引腳排列如圖1所示,表1為各引腳的功能說(shuō)明。

圖1 ADS7846的引腳排列
ADS7846的內(nèi)部結(jié)構(gòu)圖,該芯片由6路通道選擇器、逐步逼近式寄存器(SAR)、+2.5V參考電壓、電容式D/A轉(zhuǎn)換器(CDAC)、溫度傳感器等部分構(gòu)成。ADS7846工作時(shí)需要一個(gè)外部參考(VREF引腳)和一個(gè)外部時(shí)鐘(DCLK引腳)。其中外部基準(zhǔn)電壓的范圍是1V~+Vcc,由它可以直接設(shè)定A/D輸入通道的輸入范圍,其平均基準(zhǔn)輸入電流取決于變換速率。外部時(shí)鐘主要用于控制SAR變換過(guò)程和同步串行數(shù)據(jù)I/O。
1 引 言
嵌入式觸摸屏裝置是人機(jī)交互設(shè)備,一般將觸摸屏安裝在液晶顯示屏上面,利用微處理器對(duì)觸摸屏與液晶顯示屏進(jìn)行控制,實(shí)現(xiàn)觸摸屏對(duì)液晶顯示屏的控制,方便、直觀,取代了傳統(tǒng)的鍵盤輸入,成為嵌入式計(jì)算機(jī)系統(tǒng)的輸入設(shè)備,廣泛應(yīng)用于電子產(chǎn)品與工業(yè)控制中。由于觸摸屏邊緣電阻不均勻,不易找到變化規(guī)律,難于實(shí)現(xiàn)觸摸屏坐標(biāo)與點(diǎn)陣式液晶顯示屏相互對(duì)應(yīng),會(huì)出現(xiàn)觸摸點(diǎn)與液晶顯示屏顯示信息錯(cuò)位,造成觸摸控制信息不靈敏。本文基于AT89C51單片機(jī)和ADS7846芯片,輔以點(diǎn)陣式液晶顯示屏,進(jìn)行嵌入式觸摸屏輸入與顯示系統(tǒng)的軟硬件設(shè)計(jì),實(shí)現(xiàn)觸點(diǎn)測(cè)量與液晶屏上像素相對(duì)應(yīng),實(shí)現(xiàn)預(yù)期的控制功能,提高觸摸控制的靈敏度。
2 液晶顯示觸摸屏的硬件設(shè)計(jì)
液晶觸摸屏包含圖形液晶顯示模塊和附著在顯示屏上的觸摸屏兩部分,借助于觸摸屏控制器ADS7846 與微處理器A T89S51 實(shí)現(xiàn)軟硬件接口,通過(guò)檢測(cè)用戶在觸摸屏上的觸摸位置,實(shí)現(xiàn)顯示與控制功能。
2. 1 觸摸屏的工作原理
觸摸屏從工作原理上可以分為電阻式、電容式、紅外線式、聲表面波式、矢量壓力傳感器式等多種形式,本文采用目前使用最為普遍的四線電阻式觸摸屏。
電阻式觸摸屏由4 層透明的復(fù)合薄膜組成,底層是玻璃或有機(jī)玻璃構(gòu)成的基層,頂層則是經(jīng)過(guò)硬化處理的光滑防刮塑料層,底層、頂層內(nèi)表面間為兩層銦錫氧化物( ITO) 透明導(dǎo)電層,形成觸摸屏的兩個(gè)工作面,在每個(gè)工作面的兩端各涂有一條銀膠,稱為該工作面的一對(duì)電極,若在一個(gè)工作面的電極對(duì)上施加電壓,則在該工作面上就會(huì)形成均勻連續(xù)的平行電壓分布。當(dāng)在X 方向的電極對(duì)上施加一確定的電壓,而Y 方向電極對(duì)上不加電壓時(shí),在X 平行電壓場(chǎng)中,觸點(diǎn)處的電壓值可以在Y+ (或Y - ) 電極上反映出來(lái),通過(guò)測(cè)量Y+ 電極對(duì)地的電壓大小,經(jīng)過(guò)A/ D 轉(zhuǎn)換便可得知觸點(diǎn)的X 坐標(biāo)值。同理,當(dāng)在Y 電極對(duì)上加電壓,而X 電極對(duì)上不加電壓時(shí),通過(guò)測(cè)量X +電極的電壓,經(jīng)過(guò)A/ D 轉(zhuǎn)換便可得知觸點(diǎn)的Y坐標(biāo)。電阻式觸摸屏有四線和五線兩種,四線式觸摸屏的測(cè)量過(guò)程工作原理如圖1 所示。

圖1 四線電阻式觸摸屏測(cè)量原理
觸摸點(diǎn)P 處測(cè)量結(jié)果計(jì)算如下:

2. 2 ADS7846 控制器
ADS7846 是Burr2Brown 公司的一款觸摸屏專用控制器,其內(nèi)部結(jié)構(gòu)如圖2 所示。

圖2 ADS7846 內(nèi)部結(jié)構(gòu)圖。
ADS7846 內(nèi)部由一個(gè)多路選擇器和一個(gè)12位的A/ D 轉(zhuǎn)換器構(gòu)成,根據(jù)串行控制口的控制字控制多路選擇開關(guān)的工作狀態(tài),控制工作面的工作電壓,并把相應(yīng)電極上的觸點(diǎn)坐標(biāo)位置對(duì)應(yīng)的工作電壓送到A/ D 轉(zhuǎn)換器,變成數(shù)字量通過(guò)串行口再傳遞給CPU ,經(jīng)過(guò)計(jì)算得到觸點(diǎn)的X 、Y 方向的坐標(biāo),確定觸點(diǎn)位置,程序根據(jù)觸點(diǎn)坐標(biāo)位置顯示的信息執(zhí)行相應(yīng)的功能。
則P 點(diǎn)的二進(jìn)制輸出代碼為:

其中:V ref_full為加在ADS7846 內(nèi)部A/ D 轉(zhuǎn)換器上的參考電壓。
ADS7846 控制字見表1 所示,S 為數(shù)據(jù)傳輸?shù)钠鹗紭?biāo)志位,改為必須為"1";A2、A1、A0 用于通道選擇控制,坐標(biāo)與通道選擇之間的關(guān)系見表2 所示。MODE用于控制A/ D轉(zhuǎn)換的精度", 1"選擇8位", 0"選擇12 位。SER/ DFR 選擇輸入?yún)⒖茧妷耗J?, 1"為單端模式", 0"為差分模式。PD1、PD0選擇省電模式:"00"為省電模式允許,在兩次A/ D轉(zhuǎn)換之間掉電,且中斷允許;"01"與"00"相似,但不允許中斷;"10"保留;"11"禁止省電模式。
表1 ADS7846 的控制字

表2 ADS7846 的坐標(biāo)與通道選擇之間的關(guān)系

ADS7846 與MCU 之間通過(guò)標(biāo)準(zhǔn)的SPI 接口相連接,如圖3 所示。當(dāng)檢測(cè)到有觸摸動(dòng)作時(shí),ADS7846 的筆中斷請(qǐng)求端( PENIRQ) 輸出一個(gè)低電平信號(hào)向MCU 發(fā)出測(cè)量觸點(diǎn)坐標(biāo)的中斷請(qǐng)求。MCU 通過(guò)SPI 接口,選中ADS7846 ,發(fā)出坐標(biāo)測(cè)量控制字,然后讀取ADS7846A/ D 轉(zhuǎn)換結(jié)果數(shù)據(jù),經(jīng)過(guò)兩次控制即可分別得到觸點(diǎn)位置的X 、Y 坐標(biāo)。ADS7846 工作時(shí)序如圖4 所示。

圖3 ADS7846 與MCU 之間SPI 接口。

圖4 ADS7846 與MCU 通信時(shí)序。
3 觸點(diǎn)坐標(biāo)與液晶顯示屏控制功能對(duì)應(yīng)定位的確定
本例中ADS7846 采用差動(dòng)參考電壓方式,以減小測(cè)量誤差,由于觸摸屏存在著個(gè)體差異,不同觸摸屏邊沿的測(cè)量值不同,測(cè)量值達(dá)不到0 或者滿量程(4096) ,而液晶顯示屏具有較為準(zhǔn)確的定位數(shù)值,很難實(shí)現(xiàn)觸摸屏與液晶顯示屏的點(diǎn)與點(diǎn)一一對(duì)應(yīng),給編程調(diào)試帶來(lái)很大麻煩,只能實(shí)現(xiàn)觸摸屏與液晶顯示屏之間的區(qū)域?qū)?yīng),不影響液晶顯示屏的顯示功能和觸摸屏的控制功能。
觸摸屏控制器ADS7846 通過(guò)SPI 接口連接到微控制器A T89S51 上。當(dāng)發(fā)生觸摸時(shí), 由ADS7846 向A T89S51 提出中斷請(qǐng)求, 接著A T89S51 就會(huì)響應(yīng)該中斷請(qǐng)求,通過(guò)SPI 讀取ADS7846 的轉(zhuǎn)換結(jié)果,得到觸摸點(diǎn)的坐標(biāo)。圖5為中斷服務(wù)子程序與ADS7846 測(cè)量子程序流程圖。

圖5 中斷服務(wù)子程序與ADS7846 測(cè)量子程序流程圖。
為了有效地找到觸摸屏觸摸點(diǎn)與點(diǎn)陣式液晶顯示屏對(duì)應(yīng)區(qū)域坐標(biāo)范圍,按照液晶顯示屏的顯示功能區(qū)域的點(diǎn)陣坐標(biāo),按照液晶屏上顯示的控制信息字符格式,合理選擇水平線和豎直線,按照液晶顯示和觸摸屏控制功能區(qū)域進(jìn)行觸摸點(diǎn)數(shù)值測(cè)量,找到與液晶顯示屏對(duì)應(yīng)的觸摸屏控制區(qū)域的觸摸點(diǎn)數(shù)值范圍。根據(jù)觸摸屏觸摸點(diǎn)坐標(biāo)實(shí)測(cè)數(shù)據(jù)分析可以得到對(duì)應(yīng)的液晶屏上像素點(diǎn)坐標(biāo)。
液晶屏像素點(diǎn)坐標(biāo)與觸摸屏觸摸點(diǎn)實(shí)測(cè)數(shù)值之間的關(guān)系可以表示為:

式中: X 、Y 為觸點(diǎn)測(cè)量值; ( Xmin , Ymin ) 和( Xmax ,Xmax ) 分別為觸摸屏上的最大值和最小值坐標(biāo)觸點(diǎn)測(cè)量; ( X1 , Y1 ) 為觸點(diǎn)在液晶屏上的像素坐標(biāo),表3 、表4 中數(shù)據(jù)為實(shí)測(cè)數(shù)據(jù)。
表3 實(shí)測(cè)豎直直線上等距離測(cè)量坐標(biāo)值

表4 實(shí)測(cè)水平直線上等距離測(cè)量坐標(biāo)值

值得注意的是,經(jīng)測(cè)量觸摸屏X 方向的轉(zhuǎn)換值為從大到小, Y 方向的轉(zhuǎn)換值為從小到大,坐標(biāo)值在一定范圍內(nèi)基本是成線性變化的。但是在觸摸屏的邊緣地帶X 方向輸出電阻和Y 方向輸出電阻的變化較大,是非線性關(guān)系,因此為了比較準(zhǔn)確地標(biāo)定觸摸屏坐標(biāo),在大范圍內(nèi)采用線性變化的規(guī)律,而在邊緣地帶需采用查表的方式。
4 結(jié) 論
利用ADS7846 實(shí)現(xiàn)觸摸屏控制,可以方便利用SPI 接口實(shí)現(xiàn)與單片機(jī)之間的接口。與點(diǎn)陣式液晶顯示屏相配合使用,通過(guò)液晶屏與觸摸屏之間的坐標(biāo)變換,可以便捷實(shí)現(xiàn)工業(yè)控制,同時(shí)提高液晶屏的反映速度。