基于LPC2210和μC/OS—II的觸摸屏觸摸點(diǎn)數(shù)據(jù)采集系統(tǒng)
本文提出了基于ARM7系列LPC2210微控制器和嵌入式操作系統(tǒng)μC/OS—II來實現(xiàn)觸摸屏觸摸點(diǎn)數(shù)據(jù)采集系統(tǒng)的設(shè)計,并完成了微控制器與上位機(jī)之間的物理層電路轉(zhuǎn)換,實現(xiàn)了基于LIN總線的數(shù)據(jù)通信,能夠在上位機(jī)得到觸摸點(diǎn)的精確坐標(biāo)以及控制菜單信息,并且準(zhǔn)確可靠、傳輸速率高。
嵌入式系統(tǒng)實際上是“嵌入式計算機(jī)系統(tǒng)”的簡稱,是相對于通用計算機(jī)系統(tǒng)而言的,根據(jù)應(yīng)用的要求,將操作系統(tǒng)和功能軟件集成于計算機(jī)硬件系統(tǒng)中,以應(yīng)用為中心,計算機(jī)技術(shù)為基礎(chǔ),實現(xiàn)軟件與硬件的一體化。其適用于對功能、可靠性、成本、體積和功耗等有嚴(yán)格要求的專用計算機(jī)系統(tǒng)。
觸摸屏又稱為“觸控屏”、“觸控面板”,是一種附加在顯示器表面的透明介質(zhì)。觸摸屏作為一種新的輸入設(shè)備,是目前最簡單、方便、自然的一種人機(jī)交互方式。通過使用者的手指觸摸,該介質(zhì)實現(xiàn)對計算機(jī)的操作定位,大大簡化了計算機(jī)的輸入方式,實現(xiàn)零距離操作。而在觸摸屏的使用中,對觸摸點(diǎn)的精確定位至關(guān)重要,本文提出了一種觸摸屏的坐標(biāo)算法,該算法具有良好的可移植性和擴(kuò)展性。
1 研究背景
觸摸技術(shù)已經(jīng)非常成熟,在歐美和日本已經(jīng)有近20年的發(fā)展歷史。而在技術(shù)發(fā)展上,歐美的觸摸屏以電容式、表面聲波式及5線電阻式為發(fā)展方向,產(chǎn)品以大尺寸居多。日本觸摸技術(shù)以4線電阻式為主要發(fā)展方向,產(chǎn)品以中小尺寸為主,而中國臺灣也以4線電阻式居多。
目前,觸摸技術(shù)大量應(yīng)用于嵌入式系統(tǒng)中,結(jié)合了先進(jìn)的計算機(jī)技術(shù)、半導(dǎo)體技術(shù)以及電子技術(shù),形成嵌入式高端產(chǎn)品。其以體積小、功耗低、處理能力強(qiáng)等諸多優(yōu)點(diǎn),在通信、網(wǎng)絡(luò)、工控、醫(yī)療、電子等領(lǐng)域發(fā)揮著越來越重要的作用。嵌入式系統(tǒng)經(jīng)歷了20多年的發(fā)展,已經(jīng)從普通的低端應(yīng)用進(jìn)入到一個高、低端并行發(fā)展,且不斷提升低端應(yīng)用的時代,觸摸技術(shù)在嵌入式系統(tǒng)既有很強(qiáng)的應(yīng)用價值和市場前景,又有很重要的實際意義。
2 設(shè)計方法
2.1 系統(tǒng)總體設(shè)計
系統(tǒng)采用Philipa公司的LPC2210作為CPU,由于其片內(nèi)無程序存儲器,所以需要外擴(kuò)Flash,還可以擴(kuò)展靜態(tài)RAM。LPC2210最小系統(tǒng)需要2組電源、復(fù)位電路、晶振電路和程序存儲器等,觸摸屏接口芯片采用ADS7843作為設(shè)備控制器,整個系統(tǒng)可實現(xiàn)對觸摸屏觸摸點(diǎn)的數(shù)據(jù)采集,系統(tǒng)結(jié)構(gòu)框圖如圖1所示。
2.1.1 LPC2210芯片簡介
LPC2210是基于支持實時仿真和嵌入式跟蹤的16/32位ARM7核的微控制器,對代碼規(guī)模有嚴(yán)格控制的應(yīng)用可使用16位Thumb模式,可將代碼規(guī)模降低超過30%,而性能的損失卻很小。
LPC2210采用144引腳封裝,通過配置總線,最多可提供76個GPIO。其擁有極低的功耗、多個32位定時器、8路10位ADC、PWM輸出,以及多達(dá)9個外部中斷。它們特別適用于工業(yè)控制、醫(yī)療系統(tǒng)、訪問控制和POS機(jī)等,又由于內(nèi)置了寬范圍的串行通信接口,非常適合于通信網(wǎng)關(guān)協(xié)議轉(zhuǎn)換器、嵌入式軟Modem以及其他各種類型的應(yīng)用。
2.1.2 ADS7843芯片簡介
ADS7843是一種專門對觸摸屏輸入設(shè)備進(jìn)行控制的芯片,其主要完成兩件事:一是完成電極電壓的切換,二是采集接觸點(diǎn)處的電壓值。
ADS7843是一款連續(xù)近似記錄(SAR)的A/D轉(zhuǎn)換器,具有同步串行接口,內(nèi)置12位模/數(shù)轉(zhuǎn)換、低導(dǎo)通電阻模擬開關(guān),根據(jù)微控制器發(fā)來的不同測量命令使相應(yīng)的模擬開關(guān)導(dǎo)通,向觸摸屏電極對提供電壓,并把觸摸點(diǎn)位置的電壓引入A/D轉(zhuǎn)換器,以其低功耗和高速率等特性被廣泛應(yīng)用。
2.2 系統(tǒng)硬件設(shè)計
觸摸屏的數(shù)據(jù)采集系統(tǒng)主要由兩個部分組成:觸摸屏的控制和數(shù)據(jù)的傳輸。
觸摸屏的控制是通過微控制器進(jìn)行異步數(shù)據(jù)傳送,向ADS7843發(fā)送控制字來讀取ADS7843的A/D轉(zhuǎn)換結(jié)果,微控制器完成一次觸摸屏數(shù)據(jù)采集,兩者之間需要進(jìn)行3次通信。微控制器讀取到A/D轉(zhuǎn)換結(jié)果后,對數(shù)據(jù)進(jìn)行處理,得到觸摸點(diǎn)的坐標(biāo)。為了得到坐標(biāo)值,可以通過串
口傳輸?shù)缴衔粰C(jī)進(jìn)行顯示。數(shù)據(jù)經(jīng)過串口進(jìn)行傳輸?shù)姆椒ê芏啵瑥某杀镜慕嵌瓤紤],選擇LIN總線來進(jìn)行數(shù)據(jù)的傳輸,結(jié)構(gòu)簡單、且容易實現(xiàn)。硬件電路如圖2所示。
2.3 系統(tǒng)軟件設(shè)計
系統(tǒng)的軟件平臺核心為μC/OS—II,它是一個源碼公開、可移植、可固化、可裁剪的占先式多任務(wù)管理的實時操作系統(tǒng)內(nèi)核。它已在相當(dāng)多的系統(tǒng)中得到應(yīng)用,是一個經(jīng)實踐證明穩(wěn)定可靠的內(nèi)核,且其核心代碼短小精悍、簡單易學(xué)。在對系統(tǒng)進(jìn)行軟件設(shè)計之前,必須要先完成μC/OS—II的移植,與移植有關(guān)的代碼包括一個匯編文件OS_CPU_A.ASM、一個C程序文件OS_CPU_C.C和一個頭文件OS_CPU.H,根據(jù)處理器的不同,移植所要編寫和修改的代碼數(shù)不同,代碼移植好以后,應(yīng)編寫一個簡單的應(yīng)用程序?qū)ζ溥M(jìn)行測試。
2.3.1 觸摸屏ADS7843軟件設(shè)計
系統(tǒng)上電以后,觸摸屏上會顯示相應(yīng)的控制菜單,而每個控制菜單都具有相應(yīng)的執(zhí)行程序。設(shè)置觸摸屏接口為等待中斷模式,等待觸摸屏被按下。如果中斷發(fā)生,微控制器發(fā)送信號控制ADS7843操作,通過觸摸屏X+極將觸摸信號輸入到A/D轉(zhuǎn)換器,同時打開Y+和Y一驅(qū)動。ADS 7843轉(zhuǎn)換結(jié)果為二進(jìn)制格式,如果選取8位的轉(zhuǎn)換精度,1LSB=VREF/256;如果選取12位的轉(zhuǎn)換精度,1LSB=VREF/4 096,將轉(zhuǎn)換結(jié)果與1LSB相乘就可以得到觸摸點(diǎn)的電壓VOY。
由于觸摸屏導(dǎo)電層分布均勻,則有VOY/Y—VCC/H,其中,VOY是從X+極采集到的電壓值,VCC為ADS7843的電源電壓,H為觸摸屏導(dǎo)電介質(zhì)的高度,從而得到當(dāng)前Y方向的坐標(biāo),同理也可以得到X方向的坐標(biāo),ADS7843坐標(biāo)值測量流程如圖3所示。
2.3.2 觸摸屏坐標(biāo)算法
微控制器得到觸摸點(diǎn)的坐標(biāo)以后,要作相應(yīng)的處理。而在動作之前,微控制器還必須要知道觸摸屏中哪個控制菜單被按下,這樣才能去執(zhí)行相應(yīng)菜單的程序。設(shè)控制菜單的右下角坐標(biāo)為Xa、Ya,左上角坐標(biāo)為Xb、Yb,只需要觸摸點(diǎn)的坐標(biāo)X在Xa和Xb之間,Y在Ya和Yb之間,則認(rèn)為是該控制菜單被按下。在程序中定義一個數(shù)組S[],數(shù)組中每連續(xù)的5個值描述一個菜單信息,前兩個代表控制菜單右下角坐標(biāo),第3、4個代表控制菜單左上角坐標(biāo),第5個代表控制菜單,觸摸屏坐標(biāo)算法流程圖如圖4所示。
結(jié)語
觸摸屏是集信息顯示、通信、處理和控制于一體的輸入設(shè)備,它大量應(yīng)用于各個領(lǐng)域,系統(tǒng)采用Philips公司的LPC2210微控制器作為主控芯片,其內(nèi)部資源豐富,可以對系統(tǒng)功能進(jìn)行擴(kuò)充。在對觸摸屏進(jìn)行數(shù)據(jù)采集時,刷新頻率高,保證了數(shù)據(jù)的準(zhǔn)確和不丟失,并實現(xiàn)了微控制器與上位機(jī)之間通過半雙工的方式進(jìn)行通信,結(jié)構(gòu)簡單、傳輸可靠,大大降低了成本。整個系統(tǒng)可移植性強(qiáng),具有一定的實用價值。