嵌入式畢業(yè)論文new_第1頁
嵌入式畢業(yè)論文new_第2頁
嵌入式畢業(yè)論文new_第3頁
嵌入式畢業(yè)論文new_第4頁
嵌入式畢業(yè)論文new_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、目錄第一章 緒論11.1 嵌入式系統(tǒng)11.2 ARM 微處理器簡介2第二章 系統(tǒng)開發(fā)環(huán)境42.1 ADS1.2軟件4第三章 系統(tǒng)設(shè)計(jì)選型93.1 ARM處理器選型9第四章 系統(tǒng)硬件電路設(shè)計(jì)124.1電源電路設(shè)計(jì)134.3字模函數(shù)144.4觸摸屏驅(qū)動(dòng)程序144.5 坐標(biāo)點(diǎn)校準(zhǔn)164.6畫線函數(shù)算法174.7系統(tǒng)軟件設(shè)計(jì)18第五章 系統(tǒng)測試結(jié)果與分析195.1系統(tǒng)概述195.2軟件運(yùn)行截圖19第七章 設(shè)計(jì)總結(jié)與展望21參考文獻(xiàn)22附錄二27第一章 緒論1.1 嵌入式系統(tǒng)1、什么是嵌入式系統(tǒng)嵌入式系統(tǒng)一般指非 PC 系統(tǒng),有計(jì)算機(jī)功能但又不能稱之為計(jì)算機(jī)的設(shè)備或器材。它是以應(yīng)用為中心,軟硬件可裁減的

2、,適應(yīng)應(yīng)用系統(tǒng)對功能、可靠性、成本、體積、功耗等綜合性嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。簡單地說,嵌入式系統(tǒng)集系統(tǒng)的應(yīng)用軟件與硬件于一體,類似于 PC 中 BIOS 的工作方式,具有軟件代碼小、高度自動(dòng)化、響應(yīng)速度快等特點(diǎn),特別適合于要求實(shí)時(shí)和多任務(wù)的體系。嵌入式系統(tǒng)主要由嵌入式處理器、相關(guān)支撐硬件、嵌入式操作系統(tǒng)及應(yīng)用軟件系統(tǒng)等組成,嵌入式系統(tǒng)幾乎包括了生活中的所有電器設(shè)備,如掌上 PDA 、移動(dòng)計(jì)算設(shè)備、電視機(jī)頂盒、手機(jī)上網(wǎng)、數(shù)字電視、多媒體、汽車、微波爐、數(shù)字相機(jī)、家庭自動(dòng)化系統(tǒng)、電梯、空調(diào)、安全系統(tǒng)、自動(dòng)售貨機(jī)、蜂窩式電話、消費(fèi)電子設(shè)備、工業(yè)自動(dòng)化儀表與醫(yī)療儀器等。嵌入式系統(tǒng)的硬件部分,包括處

3、理器/微處理器、存儲(chǔ)器及外設(shè)器件和 I/O端口、圖形控制器等。嵌入式系統(tǒng)有別于一般的計(jì)算機(jī)處理系統(tǒng),它不具備像硬盤那樣大容量的存儲(chǔ)介質(zhì),而大多使用EPROM、EEPROM 或閃存(Flash Memory)作為存儲(chǔ)介質(zhì)。軟件部分包括操作系統(tǒng)軟件(要求實(shí)時(shí)和多任務(wù)操作)和應(yīng)用程序編程。應(yīng)用程序控制著系統(tǒng)的運(yùn)作和行為;而操作系統(tǒng)控制著應(yīng)用程序編程與硬件的交互作用。2、什么是嵌入式處理器嵌入式系統(tǒng)的核心是嵌入式微處理器。嵌入式處理器一般就具備以下4 個(gè)特點(diǎn):(1)對實(shí)時(shí)多任務(wù)有很強(qiáng)的支持能力,能完成多任務(wù)并且有較短的中斷響應(yīng)時(shí)間,從而使內(nèi)部的代碼和實(shí)時(shí)操作系統(tǒng)的執(zhí)行時(shí)間減少到最低限度。(2)具有功能

4、很強(qiáng)的存儲(chǔ)區(qū)保護(hù)功能。這是由于嵌入式系統(tǒng)的軟件結(jié)構(gòu)已模塊化,而為了避免在軟件模塊之間出現(xiàn)錯(cuò)誤的交叉作用,需要設(shè)計(jì)強(qiáng)大的存儲(chǔ)區(qū)保護(hù)功能,同時(shí)也有利于軟件診斷。 (3)可擴(kuò)展的處理器結(jié)構(gòu),以能最迅速地開展出滿足應(yīng)用的最高性能的嵌入式微處理器。1.2 ARM 微處理器簡介ARM(Advanced RISC Machines),既可以認(rèn)為是一個(gè)公司的名字,也可以認(rèn)為是對一類微處理器的通稱,還可以認(rèn)為是一種技術(shù)的名字。1991 年ARM 公司成立于英國劍橋,主要出售芯片設(shè)計(jì)技術(shù)的授權(quán)。目前,采用ARM 技術(shù)知識(shí)產(chǎn)權(quán)(IP)核的微處理器,即我們通常所說的ARM 微處理器,已遍及工業(yè)控制、消費(fèi)類電子產(chǎn)品、通

5、信系統(tǒng)、網(wǎng)絡(luò)系統(tǒng)、無線系統(tǒng)等各類產(chǎn)品市場,基于ARM 技術(shù)的微處理器應(yīng)用約占據(jù)了32 位RISC 微處理器75以上的市場份額, ARM 公司是專門從事基于RISC 技術(shù)芯片設(shè)計(jì)開發(fā)的公司,作為知識(shí)產(chǎn)權(quán)供應(yīng)商,本身不直接從事芯片生產(chǎn),靠轉(zhuǎn)讓設(shè)計(jì)許可由合作公司生產(chǎn)各具特色的芯片,世界各大半導(dǎo)體生產(chǎn)商從ARM 公司購買其設(shè)計(jì)的ARM 微處理器核,根據(jù)各自不同的應(yīng)用領(lǐng)域,加入適當(dāng)?shù)耐鈬娐罚瑥亩纬勺约旱腁RM 微處理器芯片進(jìn)入市場。全世界有幾十家大的半導(dǎo)體公司都使用ARM 公司的授權(quán),因此既使得ARM技術(shù)獲得更多的第三方工具、制造、軟件的支持,又使整個(gè)系統(tǒng)成本降低,使產(chǎn)品更容易進(jìn)入市場被消費(fèi)者所接受

6、,更具有競爭力。1.3電子黑板的概念及功能概念:電子黑板是教師進(jìn)行課堂輔助教學(xué)的場所,是對傳統(tǒng)黑板的一個(gè)延伸和補(bǔ)充。傳統(tǒng)的黑板是以黑板為場所,通過使用板書、掛圖、標(biāo)記等教學(xué)元素引導(dǎo)學(xué)生的學(xué)習(xí)。電子黑板提可以對標(biāo)準(zhǔn)的針對課程而設(shè)計(jì)的教學(xué)素材進(jìn)行快速地組織,擺放到電子黑板上,達(dá)到課件知識(shí)的呈現(xiàn),并可以對這些素材根據(jù)教學(xué)的需要進(jìn)行進(jìn)一步的調(diào)整、標(biāo)記等,增強(qiáng)與學(xué)生交互學(xué)習(xí)的效果,借助背景、音樂、時(shí)鐘營造良好的教學(xué)場景和氛圍。功能:1、電子筆代替普通筆,直接在電子黑板上進(jìn)行電子板書;2、不需要粉筆,直接在屏幕上寫字、涂抹,3、文件所占空間很小,便于下載、保存、使用、交流;4、使用簡單、反應(yīng)快速、維護(hù)方便

7、,性能可靠;5、針對教師的課堂教學(xué)提供電子黑板功能,展示教學(xué)內(nèi)容;6、教師可以利用軟件所提供的豐富素材,制作個(gè)人的電子講義,并可保存、交流課件。第二章 系統(tǒng)開發(fā)環(huán)境2.1 ADS1.2軟件ARM ADS 全稱為ARM Developer Suite,是ARM公司推出的新一代ARM集成開發(fā)工具?,F(xiàn)在ADS的最新版本是1.2,它取代了早期的ADS1.1和ADS1.0。它除了可以安裝在WindowsNT4, Windows98和Windows95操作系統(tǒng)下,還支持Windows XP和Windows Me操作系統(tǒng)。ADS由命令行開發(fā)工具,ARM時(shí)實(shí)庫,GUI開發(fā)環(huán)境(Code Warrior 和AX

8、D),實(shí)用程序和支持軟件組成?,F(xiàn)在重點(diǎn)介紹GUI開發(fā)環(huán)境(Code Warrior 和AXD)。CodeWarrior for ARM是一套完整的集成開發(fā)工具,充分發(fā)揮了ARM RISC 的優(yōu)勢,使產(chǎn)品開發(fā)人員能夠很好的應(yīng)用尖端的片上系統(tǒng)技術(shù)。該工具是專為基于ARM RISC的處理器而設(shè)計(jì)的,這可加速并簡化嵌入式開發(fā)過程中的每一個(gè)環(huán)節(jié),便得開發(fā)人員只需要通過一個(gè)集成軟件開發(fā)環(huán)境就能研制出ARM產(chǎn)品,在整個(gè)開發(fā)周期中,開發(fā)人員無霜離開Code Warrior開發(fā)環(huán)境,因此節(jié)省了在操做工具上花的時(shí)間,使得開發(fā)人員有更多的精力投入到代碼編寫上來。1、Code Warrior集成開發(fā)環(huán)境Code Wa

9、rrior集成開發(fā)環(huán)境(IDE)為管理和開發(fā)項(xiàng)目提供了簡單多樣化的圖形用戶界面。用戶可以使用ADS的Code Warrior IDE為ARM 和Thumb處理器開發(fā)用C,C+,或ARM匯編語言的程序代碼。通過提供下面的功能Code Warrior IDE縮短了用戶開發(fā)項(xiàng)目代碼的周期。Code Warrior主要負(fù)責(zé)程序的編寫和編譯。軟件的主界面如圖2-1所示,圖2-1 Code Warrior主界面在Code Warrior中,程序是通過工程管理的,每一個(gè)單獨(dú)的工程中可以包含若干個(gè)程序文件首先得建一個(gè)工程文件,用來管理我們所要編寫的程序文件,在主界面中,點(diǎn)擊File-Open,彈出如圖2-2所

10、示界面。圖2-2 新建工程界面有時(shí)根據(jù)需要,我們還要對工程進(jìn)行一定的設(shè)置,這時(shí)就需要點(diǎn)Edit-Debug Settings,將會(huì)彈出如圖2-3的界面,我們通過此進(jìn)行必要的設(shè)置。圖2-3 Debug 設(shè)置界面2、AXD Debugger AXD(ARM eXtended Debugger)是ADS軟件中獨(dú)立于CodeWarrior的IDE的圖形軟件,用來仿真調(diào)試ARM組件,即作為一種常用的調(diào)試工具。可以直接點(diǎn)擊AXD Debugger圖標(biāo),打開AXD軟件,默認(rèn)是打開的目標(biāo)是ARMulatoar;也可以選擇CodeWarrior中的Project-Debug,并可以直接調(diào)用AXD Debugge

11、r并將當(dāng)前編譯的鏡像文件加載到AXD Debugger中。通常先要對AXD進(jìn)行一定的設(shè)置,Options-Configure Interface,會(huì)彈出圖2-4所示的對話框。然后選擇Session File選項(xiàng),進(jìn)行ARM2410文件配置,如圖2-4所示,圖2-4 Configure Interface界面 然后再對目標(biāo)調(diào)試器進(jìn)行配置,即點(diǎn)擊Options-Configure Target,會(huì)彈出如圖2-6所示的對話框,選擇H-JTAG,點(diǎn)擊OK即可。圖2-5 Configure Target配置界面3、JIAG仿真調(diào)試器JTAG,英文名為Joint Test Action Group,即為聯(lián)

12、合測試行動(dòng)組,它是一種邊界掃描標(biāo)準(zhǔn),由于集成電路的集成度不斷提高,芯片的引腳不斷增加,常規(guī)的在線仿真方式已經(jīng)不能滿足需要,而JTAG只需要5根引腳就可以實(shí)現(xiàn)在線仿真的功能,該標(biāo)準(zhǔn)被批準(zhǔn)為IEEE-1149.1標(biāo)準(zhǔn),它不但能測試各種集成電路芯片,也能測試芯片內(nèi)各類宏單元,還能測試相應(yīng)的印刷電路板。而且JTAG 仿真器比較便宜,連接比較方便,通過現(xiàn)有的 JTAG 邊界掃描口與 ARM CPU 核通信,屬于完全非插入式 ( 即不使用片上資源 ) 調(diào)試,它無需目標(biāo)存儲(chǔ)器,不占用目標(biāo)系統(tǒng)的任何端口,而這些是駐留監(jiān)控軟件所必需的。我們采用的JTAG電路如圖2-7所示。在圖中,JTAG接口U8上的信號(hào)nTR

13、ST連接到S3C2410A芯片的TRST引腳,達(dá)到控制S3C2410A內(nèi)部JTAG接口電路復(fù)位的目的。根據(jù)S3C2410A數(shù)據(jù)手冊中說明,Ntrst、TDI、TMS和TCK引腳上需要連接一個(gè)10K的上拉電阻如圖2-6所示。 圖2-7 JTAG電路圖第三章 系統(tǒng)設(shè)計(jì)選型3.1 ARM處理器選型1、處理器的分類如前文所述ARM 微處理器目前包括下面ARM7, ARM9,ARM9E, ARM10E,SecurCore, Xscale, StrongARM 等幾個(gè)系列. 鑒于當(dāng)前電子市場上的情況,在此我主要討論一下ARM7 與ARM9 這兩種主流處理器的特點(diǎn)及應(yīng)用領(lǐng)域。 ARM7 系列微處理器為低功耗

14、的32 位RISC 處理器,最適合用于對價(jià)位和功耗要求較高的消費(fèi)類應(yīng)用。ARM7 微處理器系列具有如下特點(diǎn):(1)具有嵌入式ICERT 邏輯,調(diào)試開發(fā)方便。(2)極低的功耗,適合對功耗要求較高的應(yīng)用,如便攜式產(chǎn)品。(3)能夠提供0.9MIPS/MHz 的三級流水線結(jié)構(gòu)。(4)代碼密度高并兼容16 位的Thumb 指令集。對操作系統(tǒng)的支持廣泛,包括Windows CE、Linux、Palm OS 等。(5)指令系統(tǒng)與ARM9 系列、ARM9E 系列和ARM10E 系列兼容,便于用戶的產(chǎn)品升級換代。(6)主頻最高可達(dá)130MIPS,高速的運(yùn)算處理能力能勝任絕大多數(shù)的復(fù)雜應(yīng)用。2、ARM9 微處理器

15、系列 ARM9 系列微處理器在高性能和低功耗特性方面提供最佳的性能。具有以下特點(diǎn):(1)級整數(shù)流水線,指令執(zhí)行效率更高。(2)提供1.1MIPS/MHz 的哈佛結(jié)構(gòu)。(3)支持32 位ARM 指令集和16 位Thumb 指令集。(4)支持32 位的高速AMBA 總線接口。(5)全性能的MMU,支持Windows CE、Linux、Palm OS 等多種主流嵌入式操作系統(tǒng)。(6)MPU 支持實(shí)時(shí)操作系統(tǒng)。支持?jǐn)?shù)據(jù)Cache 和指令Cache,具有更高的指令和數(shù)據(jù)處理能力。3、S3C2410的概述S3C2410是SAMSUNG 公司推出的16/32 位RISC 處理器(ARM920內(nèi)核),適用于手

16、持設(shè)備、POS機(jī)、數(shù)字多媒體播放設(shè)備等等,具有低價(jià)格、低功耗、高性能小等特點(diǎn)。為了降低整個(gè)系統(tǒng)的成本, S3C2410 提供了一下豐富的內(nèi)部設(shè)備:分開的16KB 的指令Cache和16KB 數(shù)據(jù)Cache, MMU 虛擬存儲(chǔ)器管理, LCD 控制器,支持NAND Flash 系統(tǒng)引導(dǎo), 系統(tǒng)管理(片選邏輯和SDRAM 控制器),3 通道UART,4 通道DMA,4 通道PWM 定時(shí)器,I/O 端口,RTC,8 通道10 位ADC 和觸摸屏接口,IIC-BUS 接口,USB 主機(jī),USB 設(shè)備,SD 主卡和MMC 卡接口, S3C2410采用了ARM920T 內(nèi)核, 0.18um 工藝的CMOS

17、 標(biāo)準(zhǔn)宏單元和存儲(chǔ)單元。它的低功耗、精簡和出色的全靜態(tài)設(shè)計(jì)特別適用于對成本和功耗敏感的應(yīng)用。同樣它還采用了一種叫做Advanced Microcontroller Bus Architecture(AMBA)新型總線結(jié)構(gòu)。 S3C2410 的顯著特性是它的CPU 核心, 是一個(gè)由Advanced RISCMachines(ARM) 有限公司設(shè)計(jì)的16/32 位ARM920T RISC 處理器。ARM920T 核由ARM9TDMI、存儲(chǔ)管理單元(MMU)和高速緩存三部分組成。其中,MMU 可以管理虛擬內(nèi)存。ARM920T 實(shí)現(xiàn)了MMU,AMBA BUS 和Harvard 高速緩沖體系結(jié)構(gòu)。這一結(jié)

18、構(gòu)具有獨(dú)立的16KB 指令Cache 和16KB 數(shù)據(jù)Cache,每個(gè)都是由8 字長的行構(gòu)成。ARM920T 有兩個(gè)內(nèi)部協(xié)處理器:CP14 和CP15。CP14 用于調(diào)試控制,CP15 用于存儲(chǔ)系統(tǒng)控制以及測試控制。 在時(shí)鐘方面S3C2410 也有突出的特點(diǎn),該芯片集成了一個(gè)具有日歷功能的RTC 和具有PLL(MPLL 和UPLL)的芯片時(shí)鐘發(fā)生器。MPLL 產(chǎn)生主時(shí)鐘,能夠使處理器工作頻率高達(dá)203MHz。這個(gè)頻率能夠使處理器輕松運(yùn)行Windows CE、Linux等操作系統(tǒng)以及進(jìn)行較為復(fù)雜的處理信息。UPLL 產(chǎn)生實(shí)現(xiàn)主從USB 功能時(shí)鐘。S3C2410 的內(nèi)部結(jié)構(gòu)圖如圖3-1 所示,圖

19、3-1 S3C2410 內(nèi)部結(jié)構(gòu)圖第四章 系統(tǒng)硬件電路設(shè)計(jì)S3C2410最小系統(tǒng)電路設(shè)計(jì)S3C2410最小系統(tǒng)是主要由電源電路、復(fù)位電路、系統(tǒng)時(shí)鐘電路組成。由于ARM芯片的高速、低功耗、低工作電壓導(dǎo)致其噪聲容限低,對電源的紋波、瞬態(tài)響應(yīng)性能、時(shí)鐘源是穩(wěn)定性、電源監(jiān)控可靠性等諸多方面也提出了更高要求,DeviceARM2410核心板有復(fù)位電路使用了存儲(chǔ)器的電源監(jiān)控復(fù)位芯片CAT1025H-30,提高了系統(tǒng)的可靠性,具體電路原理圖如圖4-1所示:圖4-1 復(fù)位電路圖在圖中,S2為復(fù)位按鍵,用于手動(dòng)復(fù)位,但需要在上接一電阻,使其為高電平,nRESET信號(hào)為CAT1025JI-30輸出的復(fù)位信號(hào),此信

20、號(hào)連接到S3C2410芯片的復(fù)位輸入引腳,實(shí)現(xiàn)系統(tǒng)的復(fù)位控制??梢赃x擇NAND Flash啟動(dòng)方式或者NOR Flash啟動(dòng)方式,這是通過配置OM0引腳來實(shí)現(xiàn)的,電路如圖4-2所示,當(dāng)JP20跳線短接時(shí),OM0為0電平,選擇NAND Flash啟動(dòng)方式;當(dāng)JP20跳線斷開時(shí),OM0由R26上拉為1電平,選擇NOR Flash啟動(dòng)方式。圖4-2 復(fù)位啟動(dòng)選擇電路圖4.1電源電路設(shè)計(jì)系統(tǒng)電源電路如圖4-3所示,電源供電由JP11連接輸入實(shí)驗(yàn)箱主板,5V電源經(jīng)過C39,C49,C50濾波后,由兩片LDO芯片U9、U11穩(wěn)壓輸出兩組3.3V電源,其中一組用來經(jīng)主板供電,另一組用來給核心板供電。圖4-3

21、 電源電路圖 而S3C2410A所需要的內(nèi)核電源是1.8V電源,所以得通過LDO芯片進(jìn)行再次轉(zhuǎn)換。具體電路如圖4-4所示圖4-4 S3C2410A電源電路圖LDO是一種低電壓差電源芯片,而SPX1117系列LD0芯片輸出電流可達(dá)800mA,輸出電壓的精度為,還具有電流限制和熱保護(hù)功能,其輸出端的10的鉭電容用來改善瞬態(tài)響應(yīng)和穩(wěn)定性。4.3字模函數(shù) LCD液晶顯示的方法有很多種,通??煞譃槎问健⒆址?、點(diǎn)陣式,在本系統(tǒng)的設(shè)計(jì)過程中,為了對使用者作出必要的提示,需要在LCD上顯示漢字,所以有必要對其作一研究。 漢字的顯示一般采用圖形的方式,事先從微機(jī)中提取要顯示的漢字的點(diǎn)陣碼,一般用字模提取軟件來

22、獲得。我們將顯示漢字函數(shù)定義為void GUI_Disp ( uint16 x, uint16 y, uint16 w, uint16 h,uint16 *buffer),其中x,y是漢字顯字的起始點(diǎn),w,h分別是漢字顯示的長度和寬度,buffer是要顯示的漢字的點(diǎn)陣碼。在該函數(shù)當(dāng)中,首先對顯示區(qū)域參數(shù)過濾,如果在該區(qū)域,則對要顯示的漢字的點(diǎn)陣碼送到LCD緩沖區(qū),進(jìn)行顯示。其關(guān)鍵點(diǎn)在于點(diǎn)陣碼的提取和分塊顯示。4.4觸摸屏驅(qū)動(dòng)程序 觸摸屏驅(qū)動(dòng)程序是通過設(shè)置ADC寄存器來實(shí)現(xiàn)的,一般在S3C2410中,將其設(shè)置成中斷模式,具體程序框圖如圖5-1所示:圖4-5程序框圖 在該框圖中,我們可以得到,當(dāng)觸

23、筆接觸到觸摸屏?xí)r,S3C2410將響應(yīng)中斷,即進(jìn)入中斷函數(shù),然后首先將關(guān)閉中斷,然后通過ADCDATA0寄存器的最高位來判斷觸筆是提起狀態(tài)還是按下狀態(tài),如果是按下狀態(tài),那么將首先對X軸進(jìn)行采樣、轉(zhuǎn)換,最后將X軸對應(yīng)的坐標(biāo)值寄存在ADCDAT0寄存器的低8位,同理,接著對Y軸對應(yīng)的坐標(biāo)值進(jìn)行采樣、轉(zhuǎn)換,最后將Y軸對應(yīng)的坐標(biāo)值寄存在ADCDATA1寄存器的低8位。這樣就得到一個(gè)采樣點(diǎn)的坐標(biāo)值,最后將這一個(gè)坐標(biāo)點(diǎn)送給LCD畫點(diǎn)驅(qū)動(dòng)程序,將其在LCD顯示屏上顯示出來。 當(dāng)然了,這只是問題研究的第一步,因?yàn)槲覀兊淖罱K目的是要通過獲取對應(yīng)坐標(biāo)點(diǎn),在觸摸屏上畫出各種不同的圖形符號(hào)和進(jìn)行必要的坐標(biāo)范圍判定。這

24、樣我們又提出一個(gè)問題,即是否每次都能準(zhǔn)確獲得相應(yīng)觸點(diǎn)的坐標(biāo)。4.5 坐標(biāo)點(diǎn)校準(zhǔn) 當(dāng)用觸筆在觸摸屏發(fā)生點(diǎn)擊動(dòng)作時(shí),將能返回觸摸屏的坐標(biāo)數(shù)據(jù).問題是如何將觸摸屏的坐標(biāo)數(shù)據(jù)轉(zhuǎn)換成液晶屏的坐標(biāo)數(shù)據(jù)呢?這里有多種解決方案:1、觸摸屏芯片的資料中應(yīng)該有解決方案,或者找其相近的觸摸屏,查看他人是怎么處理類似情況的;2、如果液晶的顯示沒有問題,就是得到觸摸屏的坐標(biāo)后如何處理,現(xiàn)在我假定已經(jīng)了解觸摸屏的物理原理了,點(diǎn)擊觸摸屏上下頂點(diǎn),獲得兩個(gè)坐標(biāo),(x1,y1)和(x2,y2),x1 = x2,記錄下來,然后隨便點(diǎn)擊一個(gè)位置,獲得的y值肯定在y1和y2之間,根據(jù)比例算出位置,然后映射到液晶上,根據(jù)比例顯示出來就

25、可以,大致的過程就是這樣,x的值也可以這樣計(jì)算出來,期間需要注意的是消除抖動(dòng);3、用公式進(jìn)行計(jì)算,在觸摸屏數(shù)據(jù)與其位置偏移關(guān)系且屏幕像素與其位置偏移關(guān)系同為線性關(guān)系假設(shè)情況下,觸摸屏返回的位置信息與像素位置信息之間成2D坐標(biāo)變換關(guān)系。則對于觸摸屏按下點(diǎn)的觸摸屏坐標(biāo)(Tx,Ty)與其在顯示設(shè)備位置關(guān)系上匹配的點(diǎn)的屏幕坐標(biāo)(Sx,Sy)之間的轉(zhuǎn)換關(guān)系,可以通過下述坐標(biāo)變換表示:Sx、Sy是預(yù)先知道的,Tx、Ty 是通過測量得到的,即通過三個(gè)點(diǎn)就可以確定A1,B1,C1和A2, B2, C2。本人用的是第二種方法,由實(shí)驗(yàn)得到的數(shù)據(jù)可知,LCD上的原點(diǎn)坐標(biāo)是(0,0),最大坐標(biāo)是(640,480);而

26、觸摸屏上的原點(diǎn)坐標(biāo)是(0,0),最大坐標(biāo)是(1000,1000)。所以由測量得到的值(adcx,adcy),需要進(jìn)行如下轉(zhuǎn)換: (1-3) (1-4)但在轉(zhuǎn)換過程中,并沒有出現(xiàn)對應(yīng)的轉(zhuǎn)換關(guān)系,而是橫軸轉(zhuǎn)換成(0-640)+(0-320),縱軸轉(zhuǎn)換成(0-480)+(0-480),什么原因,有兩種可能,一種是數(shù)據(jù)類型設(shè)置的小,在乘法計(jì)算過程中數(shù)據(jù)溢出而丟失;另一種就是在除法運(yùn)算過程中,數(shù)據(jù)省略而丟失。但這兩種可能都不是。4.6畫線函數(shù)算法 在上一節(jié)中,我們對LCD畫點(diǎn)的問題以及觸摸屏獲取點(diǎn)的問題進(jìn)行了一定的研究,但問題的關(guān)鍵是我們要畫出不同的圖形,需要對一系列的點(diǎn)進(jìn)行操作,這樣就涉及到了對大量點(diǎn)

27、的收集問題,也就是點(diǎn)收集的實(shí)時(shí)性。 一般有兩種情況,一種是逐點(diǎn)收集,即觸摸屏響應(yīng)一次中斷,收集一次點(diǎn),然后延時(shí)一定的時(shí)間,如果在延時(shí)時(shí)間內(nèi),沒有中斷,則將收集到的所有點(diǎn)一并顯示出來,另一種情況就是在中斷程序里面做文章,因?yàn)槿绻延|摸屏設(shè)置成中斷模式,我們可以通過DATAn的最高位來判斷觸筆是否提起,如果觸筆一直處于按下狀態(tài),那么我們就在一直進(jìn)行采樣,并將采樣到的各個(gè)點(diǎn)顯示出來,這樣就可以達(dá)到實(shí)時(shí)性的要求。所以我采用第二方法,即邊采樣邊顯示的方法。4.7系統(tǒng)軟件設(shè)計(jì) 本設(shè)計(jì)是基于S3C24210A處理器,該芯片具有豐富的軟硬件資源,我們通過在軟件中定義其各自的寄存器,來完成設(shè)計(jì)要求,在設(shè)計(jì)過程中

28、,我們主要用到了LCD模塊和觸摸屏模塊,所以在軟件的主函數(shù)當(dāng)中,首先要對其進(jìn)行初始化,然后進(jìn)入一開始界面,并且將LCD停留在該界面,等待觸摸屏的中斷。當(dāng)觸筆被按下時(shí),就會(huì)轉(zhuǎn)入中斷子程序,開始觸點(diǎn)坐標(biāo)值的采樣,直到觸筆抬起為止。第五章 系統(tǒng)測試結(jié)果與分析5.1系統(tǒng)概述 該軟件系統(tǒng)是在基于ARM920內(nèi)核的三星公司S3C2410為處理器,通過外置觸摸屏和LCD顯示屏,可以把在觸摸屏上畫出的點(diǎn)線即各種圖形符號(hào),顯示在LCD顯示屏上,其主要可以實(shí)現(xiàn)以下幾個(gè)功能:1、畫圖 即可以在屏幕上畫出各種圖形的功能;2、清屏 即當(dāng)在屏幕上畫的各種符號(hào)較多或需要重新畫圖時(shí),將屏幕清除的功能;3、取色 即可以根據(jù)個(gè)人

29、的需要,預(yù)先設(shè)定圖形符號(hào)的顏色的功能。5.2軟件運(yùn)行截圖 系統(tǒng)軟件運(yùn)行具體流程圖如圖6-1所示,剛開始時(shí),系統(tǒng)處在主菜單中,然后往復(fù)循環(huán),判斷是否啟動(dòng)畫圖面板,如果啟動(dòng),則進(jìn)入畫圖面板,在這個(gè)界面,我們有兩種選擇:畫圖選擇和取色選擇。如果選擇取色功能,則將進(jìn)入取色界面,在這里,我們提供了多種顏色,而且在這個(gè)界面,只能選擇顏色,不可以進(jìn)行畫圖,用戶可以多次選擇顏色,但以最后一次為準(zhǔn),當(dāng)取完合適的顏色后,點(diǎn)擊返回選項(xiàng),系統(tǒng)將會(huì)自動(dòng)返回畫圖界面,進(jìn)行再次操作;否則一直將會(huì)停留在取色界面。如果選擇畫圖功能,則打開畫圖面板,可以進(jìn)行畫圖。在進(jìn)行畫圖的過程中,用戶可以使用清屏選項(xiàng),再次更換相應(yīng)的顏色如圖5

30、-1所示。圖5-1 系統(tǒng)軟件流程圖電子黑板成功圖如圖5-2和5-3圖5-2軟件清屏效果界面圖圖5-3 調(diào)試成功圖第七章 設(shè)計(jì)總結(jié)與展望 通過本學(xué)期對嵌入式系統(tǒng)這門課程的學(xué)習(xí),對基于ARM929T內(nèi)核的三星 S3C2410芯片的電子黑板的軟件和硬件方面的設(shè)計(jì)進(jìn)行了研究,并對可以實(shí)現(xiàn)的各種功能進(jìn)行了驗(yàn)證。課堂學(xué)習(xí)主要注重于理論知識(shí),而我們要將所學(xué)每一次課程設(shè)計(jì)都會(huì)學(xué)到不少東西,這次當(dāng)然也不例外。不但對自動(dòng)控制原理的知識(shí)鞏固了,這次課程設(shè)計(jì)終于順利完成了,在設(shè)計(jì)中遇到了很多編程問題,最后在自己和同學(xué)相互協(xié)助下,終于迎刃而解了。課程設(shè)計(jì)是我們專業(yè)課程知識(shí)綜合應(yīng)用的實(shí)踐訓(xùn)練,著是我們邁向社會(huì),從事職業(yè)工

31、作前一個(gè)必不少的過程”千里之行始于足下”,通過這次課程設(shè)計(jì),我深深體會(huì)到這句千古名言的真正含義我今天認(rèn)真的進(jìn)行課程設(shè)計(jì),學(xué)會(huì)腳踏實(shí)地邁開這一步,就是為明天能穩(wěn)健地在社會(huì)大潮中奔跑打下堅(jiān)實(shí)的基礎(chǔ)同樣十分感謝老師在此次實(shí)驗(yàn)中給我提出的建議與不足,老師嚴(yán)謹(jǐn)細(xì)致、一絲不茍的作風(fēng)一直是我工作、學(xué)習(xí)中的榜樣;老師循循善誘的教導(dǎo)和不拘一格的思路給予我無盡的啟迪;這次模具設(shè)計(jì)的每個(gè)實(shí)驗(yàn)細(xì)節(jié)和每個(gè)數(shù)據(jù),都離不開老師您的細(xì)心指導(dǎo)。而您開朗的個(gè)性和寬容的態(tài)度,幫助我能夠很順利的完成了這次課程設(shè)計(jì)。參考文獻(xiàn)1北京博創(chuàng)興業(yè)科技有限公司.NET-ARMt3000說明書.北京博創(chuàng)興業(yè)科技有限公司.20042鄧超.帶有CAN

32、總線的嵌入式工控觸摸屏系統(tǒng)D. 吉林大學(xué)信號(hào)與信息處理專業(yè)碩士論文3李健無線點(diǎn)菜系統(tǒng)的研究D 天津大學(xué)碩士學(xué)位申請論文4羅雪蓮,宋樹祥.基于ARM的嵌入式系統(tǒng)觸摸屏設(shè)計(jì)J.電器時(shí)代.2004.12:72-735倪天龍,鄧洪波,金連文. 通過ADS7846在PDA上實(shí)現(xiàn)個(gè)性化書法輸入J.電子技術(shù)應(yīng)用.2004年9月21日6錢麗. 基于ARM的嵌入式無線點(diǎn)菜D . 武漢科技大學(xué)計(jì)算機(jī)應(yīng)用技術(shù)碩士論文7沈連豐,宋鐵成,葉芝慧等. 嵌入式系統(tǒng)及其開發(fā)應(yīng)用M.北京:電子工業(yè)出版社 2005.7.154-162 8譚愛國,據(jù)長江. 基于ARM單片機(jī)的觸摸屏嵌入式系統(tǒng)設(shè)計(jì)J .電腦開發(fā)與應(yīng)用.2005年 第

33、10期9唐繼英.基于ARM的網(wǎng)絡(luò)顯示器硬件系統(tǒng)的設(shè)計(jì)D .河北工業(yè)大學(xué)控制理論與控制工程專業(yè)碩士論文10 王敏,金新民,童亦斌. 基于ARM微處理器LPC2292的觸摸屏顯示系統(tǒng)設(shè)計(jì)D. 電子元器件應(yīng)用.2005.10附錄一#include config.h#define USE_IRQ_TOUCH1#define ADC_FREQ(2*1000000)char disp_buf50;void DelayNS(uint32 dly) uint32 i; for(; dly0; dly-) for(i=0; i50000; i+);#if USE_IRQ_TOUCH!=0void IRQ_Adc

34、Touch(void) uint32 point_adcx; uint32 point_adcy;int i; rINTSUBMSK |= (BIT_SUB_ADC|BIT_SUB_TC); if(rADCTSC & 0x100) UART_SendStr(n # Stylus Up! n); rADCTSC &= 0x0ff; else UART_SendStr(n # Stylus Down! n) dorADCTSC = (08)|(07)|(16)|(15)|(04)|(13)|(02)|(10);for(i=0; i10; i+);point_adcx = 0;for(i=0;i4;

35、i+) rADCCON = rADCCON | (12; sprintf(disp_buf, X-PosionAIN5 is %04d n, point_adcx);UART_SendStr(disp_buf);rADCTSC= (08)|(17)|(06)|(05)|(14)|(13)|(02)|(20);for(i=0; i10; i+);point_adcy = 0;for(i=0;i4;i+) rADCCON = rADCCON | (12; sprintf(disp_buf, Y-PosionAIN7 is %04d n, point_adcy);UART_SendStr(disp_

36、buf);GUI_Point(point_adcx,point_adcy,RED);CRectangleDemo(point_adcx,point_adcy,RED);while(!(rADCDAT0&0x8000)|(rADCDAT0&0x8000);rADCTSC= (18)|(17)|(16)|(05)|(14)|(03)|(02)|(30);rSUBSRCPND = rSUBSRCPND | BIT_SUB_TC;rINTSUBMSK = (BIT_SUB_TC); ClearPending(BIT_ADC);#elsevoid WaitStylusDown(void) rADCTSC = (08)|(17)|(16)|(05)|(14)|(03)|(02)|(30);while(!(rSUBSRCPND&BIT_SUB_TC);void WaitStylusUP(void) rADCTSC = (18)|(17)|(16)|(05)|(14)|(03)|(02)|(30);while(!(rSUBSRCPND&BIT_SUB_TC);rSUBSRCPND = rSUBSRCPND | BIT_SUB_TC;void AdcTouch(void)uint32 point_adcx; uint32 point_adcy;int i;rADCTSC =

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論