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