基于ARM微處理器的液晶觸摸屏的設(shè)計(jì)
人機(jī)交互界面的種類較多,如鍵盤、數(shù)碼管顯示器、液晶顯示器及帶觸摸的液晶屏等。決定人機(jī)交互接口方式的主要因素是成本和實(shí)際應(yīng)用的需要。近十年來,液晶觸摸屏以功耗低、重量輕、精度高和良好的人機(jī)界面等技術(shù)特點(diǎn), 在電子設(shè)備特別是手持類電子產(chǎn)品中得到了普遍應(yīng)用。帶觸摸的液晶屏,只要能測(cè)量出觸摸點(diǎn)的坐標(biāo)位置,即可根據(jù)屏上對(duì)應(yīng)坐標(biāo)點(diǎn)的顯示內(nèi)容或圖符獲知觸摸者的意圖, 通過微處理器處理聲音、圖像、文字及觸摸輸入控制等信息,使之成為能進(jìn)行信息存取、輸入和輸出的集成系統(tǒng)?;谖⒖刂破髋c液晶模塊的硬件接口設(shè)計(jì)及軟件編程在智能系統(tǒng)設(shè)計(jì)中有著重要的應(yīng)用價(jià)值。ARM 微處理器,運(yùn)算速度快、資源豐富、性價(jià)比高,是當(dāng)前較為流行的嵌入式控制器。本文介紹的一款基于ARM7微處理器LPC2148 接口的3.2 寸液晶觸摸屏,具有精度高、彩色顯示逼真、應(yīng)用靈活等特點(diǎn),可作為中高檔電子產(chǎn)品字符、圖像的顯示及人機(jī)對(duì)話的窗口。
1 總體設(shè)計(jì)方案
系統(tǒng)的總體設(shè)計(jì)方案如圖1 所示。液晶觸摸屏系統(tǒng)由31 2寸TFT 液晶屏模塊、觸摸屏和ARM 微處理器控制板組成。
觸摸屏由觸摸傳感部件和觸摸屏控制器ADS7843 組成,觸摸傳感部件安裝在LCD 液晶屏前面,用于檢測(cè)用戶觸摸位置,用戶觸摸信息送往ADS7843 控制器,并轉(zhuǎn)換成觸點(diǎn)坐標(biāo),送給ARM7 控制板,LPC2148 微處理器與液晶及觸摸模塊相連接,根據(jù)接收到的觸摸信息,進(jìn)行信號(hào)運(yùn)算和處理,輸出蜂鳴器等控制信號(hào),控制液晶屏實(shí)現(xiàn)用戶畫面和數(shù)據(jù)的顯示。
圖1 液晶觸摸屏系統(tǒng)總體設(shè)計(jì)方案
2 電路及原理
2.1 液晶觸摸屏原理及ADS7843 觸摸控制電路
原理如圖2 所示。
U1為3.2 英寸TFT液晶模塊,+3.3V 供電;內(nèi)置SSD1289 液晶控制器;液晶屏分辨率為240×320 像素;屏幕顏色26 萬色;屏幕尺寸為57mm×79mm, 有效顯示面積為51mm×65mm.SSD1289 液晶控制器由16 位并行數(shù)據(jù)接口、內(nèi)部控制器和LCD 驅(qū)動(dòng)器組成。液晶數(shù)據(jù)傳輸方式為16 位并行方式,LPC2148 的16 根I/ O 口線分別接液晶模塊的DB0~DB15.PWM 為亮度驅(qū)動(dòng)控制輸入,經(jīng)9013 三極管放大后作為液晶背光。
觸摸屏部分由觸摸傳感部件和觸摸屏控制器ADS7843( U2) 組成。
圖2 液晶模塊及觸摸電路原理
觸摸傳感部件是一個(gè)四線電阻屏幕,屏上引出四根線,分別對(duì)應(yīng)X 軸和Y 軸各兩根。測(cè)量X 方向的時(shí)候,將X + , X- 之間加上參考電壓Vref , Y- 斷開,Y + 作為A / D 輸入,獲得X 方向的電壓;同理測(cè)量Y 方向的時(shí)候,將Y+ , Y- 之間加上參考電壓Vref,X - 斷開,X + 作為A/ D 輸入,進(jìn)行A/ D轉(zhuǎn)換獲得Y 方向的電壓,之后再完成電壓與坐標(biāo)的換算,整個(gè)過程類似一個(gè)電位器,觸摸不同的位置分得不同的電壓。
以上所需要的參考電壓、A/ D轉(zhuǎn)換等工作由觸摸屏控制器ADS7843 直接完成的,微處理器只需將相應(yīng)的控制命令傳輸?shù)紸DS7843 即可,以獲得相應(yīng)電壓的數(shù)據(jù)。
ADS7843是TI公司生產(chǎn)的四線電阻觸摸屏轉(zhuǎn)換接口芯片。它是一款具有同步串行接口的12 位取樣模數(shù)轉(zhuǎn)換器。在125kHz 吞吐速率和2.7V 電壓下,功耗為750LW.在關(guān)閉模式下,功耗僅為0.5LW.由于具有低功耗和高速等特性,被廣泛應(yīng)用在電池供電的小型手持設(shè)備上。
ADS7843 與LPC2148的連結(jié)關(guān)系如圖3 所示。ADS7843工作電壓+ 3.3V, 轉(zhuǎn)換器的模擬輸入( X+ 、Y+ 、X- 、Y- )是一個(gè)4 通道多路器;DCLK(第4 引腳) 是外部時(shí)鐘輸入引腳;CS(第3 引腳) 是片選輸入端,低電平有效; DIN(第2引腳) 是串行輸入,控制數(shù)據(jù)通過該引腳輸入;DOUT第16 引腳)是串行數(shù)據(jù)輸出,用于輸出轉(zhuǎn)換后的觸摸位置數(shù)據(jù),最大數(shù)為二進(jìn)制的4095; PENIRQ(第15 引腳) 是PEN中斷,用于觸摸顯示屏后引發(fā)一個(gè)中斷。
2.2 微處理器控制電路
原理如圖3 所示。
圖3 微處理器控制電路原理圖
(1)LPC2148微處理器
ARM 處理器占有市場(chǎng)份額高,具有性能高、成本低、能耗省等特點(diǎn)。圖3 中LPC2148(U3)是PHILIPS半導(dǎo)體公司推出的一個(gè)基于ARM7TDMI- S 核、支持實(shí)時(shí)仿真和嵌入式跟蹤的32 位嵌入式ARM7 微處制器。該處理器內(nèi)置了寬范圍的串行通信接口、14 通道10 位ADC、1 通道10 位DAC、45 個(gè)高速GPIO 線以及多達(dá)9 個(gè)邊沿或電平觸發(fā)的外部中斷管腳。處理器集成有40kB 的片內(nèi)SRAM、512kB 嵌入的高速Flash 存儲(chǔ)器,128 位寬度的存儲(chǔ)器接口和獨(dú)特的加速結(jié)構(gòu)使32 位代碼能夠在最大時(shí)鐘速率下運(yùn)行, 為通信網(wǎng)關(guān)、協(xié)議轉(zhuǎn)換器、軟件modem、語音識(shí)別、低端成像等應(yīng)用提供大規(guī)模的緩沖區(qū)和強(qiáng)大的處理功能,適合于彩色液晶的圖片處理和數(shù)據(jù)存儲(chǔ)。
(2)復(fù)位和晶振電路
LPC2148 第57 腳為復(fù)位信號(hào)輸入端,采用低電平復(fù)位,由C3、R9、R10、K1 構(gòu)成的復(fù)位電路為系統(tǒng)提供上電復(fù)位和強(qiáng)制復(fù)位功能,K1 為系統(tǒng)強(qiáng)制復(fù)位按鍵。晶振電路由X1(12MH z) 、C7、C8 構(gòu)成,支持微控制器芯片內(nèi)部PLL 及ISP功能;X2(321 768KH z) 、C9、C10 為RTC(實(shí)時(shí)時(shí)鐘) 提供基準(zhǔn)時(shí)鐘。
(3) 資源分配
LPC2148 的P0.8~ P0.23 作為16 位數(shù)據(jù)線( D0~ D15) ,經(jīng)JP1 插座與液晶模塊的DB0 ~ DB15 連接;P0.0、P0.26、P0.28~ P0.31 作為液晶模塊的控制口線使用,經(jīng)JP1 分別與液晶模塊的PWM、CS、RESET 、RS、RD 和WR 連接;P0.27、P1.16~ P1.20 用于觸摸屏控制,通過JP1 的連接分別接ADS7843 的BUSY、7843- CS ( CS ) 、DCLK、DIN、INT( PENIRQ) 和DOUT 引腳。
P1.26~ P1.31 作為JTAG 功能使用,JP2 為微處理器JTAG 程序調(diào)試及下載端口。
P0.25 作為蜂鳴器控制口線,蜂鳴器電路用于液晶觸摸或顯示時(shí)發(fā)出蜂鳴聲響,作為人機(jī)對(duì)話的輔助功能。蜂鳴器使用PNP 三極管8550(Q2)進(jìn)行驅(qū)動(dòng),其放大倍數(shù)高(hFE =300),基級(jí)偏置電阻R8 為1k, 當(dāng)輸入低電平時(shí),Q1 為深度飽和導(dǎo)通,可為蜂鳴器提供足夠的電流。
(4) 電源電路
LPC2148 為單電源供電,CPU 操作電壓為3.0~ 3.6V。
電路采用+ 3.3V 供電,外接+ 5V 直流電源經(jīng)AMS1117(U4) 穩(wěn)壓器穩(wěn)壓后,輸出+ 3.3V 電壓,給液晶模塊和ADS7843 供電。AMS1117 的特點(diǎn)是輸出電流大( 800mA) ,輸出電壓精度在1%以內(nèi),具有電流限制和熱保護(hù)功能,穩(wěn)定性好。C4、C5、C6 均為電源濾波電容。
3 軟件編程
3.1 對(duì)液晶屏的C 程序設(shè)計(jì)
液晶屏的軟件設(shè)計(jì)采用C 語言編程。包括液晶屏初始化、寫液晶控制字、寫液晶數(shù)據(jù)子程序、讀液晶液晶數(shù)據(jù)、全屏顯示單色、指定位置顯示漢字和字符、指定位置顯示圖片、清屏等子程序。
寫液晶數(shù)據(jù)子程序?yàn)椋?/p>
3.2 對(duì)觸摸屏的C 程序設(shè)計(jì)
觸摸屏的程序設(shè)計(jì)主要是確定其位置坐標(biāo)與液晶屏上位置坐標(biāo)的對(duì)應(yīng)關(guān)系,通過一定的算法把觸摸屏觸摸信息轉(zhuǎn)化為液晶屏上的位置坐標(biāo)。液晶屏像素為240×320, 從觸摸屏接收到的X 值不在0~ 320 范圍變化、Y 值也不在0~ 240范圍變化, 在觸摸屏的邊緣區(qū)域,X 、Y 方向輸出數(shù)據(jù)變化較大,是非線性關(guān)系,坐標(biāo)值在中間大部分范圍內(nèi)基本是成線性變化的。為了較準(zhǔn)確的進(jìn)行坐標(biāo)轉(zhuǎn)換,可采用線性求值和查表相結(jié)合的方式進(jìn)行坐標(biāo)轉(zhuǎn)換。
觸摸屏的C 程序設(shè)計(jì)主要包括觸摸屏初始化子函數(shù)、讀A/ D 轉(zhuǎn)換值子函數(shù)、坐標(biāo)原始值子函數(shù)和坐標(biāo)轉(zhuǎn)換子函數(shù)。
與ADS7843 相關(guān)的引腳C 程序預(yù)處理為:
讀A/ D 轉(zhuǎn)換值子函數(shù):
4 結(jié)束語
在嵌入式智能設(shè)備中,用液晶觸摸屏取代傳統(tǒng)的按鍵、LED 等人機(jī)對(duì)話部件,具有操作簡(jiǎn)便、界面友好及功能較強(qiáng)等優(yōu)點(diǎn)。隨著LCD 液晶屏價(jià)格的進(jìn)一步下降,液晶觸摸屏有著更寬廣的應(yīng)用市場(chǎng),基于ARM 微處理器與液晶觸摸屏的技術(shù)開發(fā)具有現(xiàn)實(shí)意義和社會(huì)經(jīng)濟(jì)價(jià)值。本系統(tǒng)以ARM7 處理器LPC2148 作為主控制器,與傳統(tǒng)單片機(jī)相比,具有較大的數(shù)據(jù)存儲(chǔ)容量和較快的圖片處理速度;液晶屏帶觸摸功能,大大增強(qiáng)了人機(jī)對(duì)話的交互能力;基于C 語言的編程方法有較強(qiáng)的實(shí)時(shí)性。所設(shè)計(jì)的液晶觸摸屏應(yīng)用于ARM 嵌入式創(chuàng)新實(shí)訓(xùn)系統(tǒng)和便攜式鐵路平調(diào)裝置故障檢測(cè)儀,觸摸鍵反應(yīng)靈敏,與ARM7 處理器接口電路運(yùn)行可靠,驗(yàn)證了系統(tǒng)設(shè)計(jì)的可行性,具有較高的實(shí)際應(yīng)用價(jià)值。