基于LPC2103ARM7的溫度測量系統(tǒng)_第1頁
基于LPC2103ARM7的溫度測量系統(tǒng)_第2頁
基于LPC2103ARM7的溫度測量系統(tǒng)_第3頁
基于LPC2103ARM7的溫度測量系統(tǒng)_第4頁
基于LPC2103ARM7的溫度測量系統(tǒng)_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、本科畢業(yè)設(shè)計(論文)題 目 基于LPC2103 ARM7的溫度測量系統(tǒng) 電氣與自動化工程學(xué)院 電氣工程及其自動化專業(yè)學(xué) 號 B06071007 學(xué)生姓名 指導(dǎo)教師 起訖日期 2010年3月-2010年6月 設(shè)計地點 實驗樓L403 37摘要隨著信息化、智能化、網(wǎng)絡(luò)化的發(fā)展,嵌入式系統(tǒng)技術(shù)廣泛應(yīng)用于工業(yè)控制、信息家電、交通管理、農(nóng)業(yè)、商業(yè)、服務(wù)業(yè)等各行業(yè),己成為現(xiàn)代電子產(chǎn)品設(shè)計的一大領(lǐng)域和方向。因此,研究嵌入式系統(tǒng)有著相當(dāng)重要的理論和實際意義。嵌入式系統(tǒng)是以計算機技術(shù)為基礎(chǔ),以應(yīng)用為中心,軟件硬件可裁剪,適合于應(yīng)用系統(tǒng)對功能、可靠性、成本、體積、功耗嚴(yán)格要求的專用計算機系統(tǒng)。本文基于ARM核心微

2、控制器LPC2103的硬件環(huán)境,集成搭建了一套具有實時操作系統(tǒng)的嵌入式平臺,對嵌入式系統(tǒng)的硬件和軟件及相關(guān)方面進行研究。通過分析具有一定實時性的、源代碼公開的嵌入式操作系統(tǒng)uC/OS-II,在初步了解其內(nèi)核原理,如任務(wù)管理、時鐘管理、任務(wù)間通訊等基礎(chǔ)上,在基于LPC2103處理器的目標(biāo)板上,對操作系統(tǒng)uC/OS-II進行配置,將此實時嵌入式操作系統(tǒng)成功地移植到目標(biāo)板上,并用于實時溫度測量及報警系統(tǒng)中。該系統(tǒng)采用溫度傳感器PT100,并對系統(tǒng)的溫度進行測量,通過液晶顯示屏對溫度信息進行顯示。同時,通過按鍵可以設(shè)定報警溫度值,系統(tǒng)對溫度進行實時監(jiān)測,超過警示值,由LED燈進行報警?!娟P(guān)鍵詞】嵌入式

3、系統(tǒng);LPC2103;uC/OS-II;溫度傳感器PT100;溫度測量與報警AbstractWith the development of information, intelligence and network, the technology of embedded system is widely applied to industrial control, information appliance, traffic control, agriculture, commerce, service industry, etc., and it has become a direction

4、 of design of modern electrical products. Therefore, making research on embedded system has very important meaning both in theory and practice. The embedded system is a professional computer system which is based on computer technique and application-centered, with cutting software and hardware, app

5、lies to application system, and meanwhile has strict requirement for function, reliability, cost diminution and power consumption. Based on the environment of the ARM core microcontroller LPC2103, this design builds an embedded platform of real-time operating system, and makes research on the hardwa

6、re and software of embedded system and related aspects. This design analyzes the embedded system which is real-time, with open source code. With a preliminary understanding of core structure, such as task management, time management, task communication and so on, based on the target board of LPC2103

7、 processor, we can allocate the operating system uC/OS-II and put the real-time embedded system into target board successfully, and meanwhile apply this system to real-time temperature mean sure and alarm system. This system adopts temperature sensor PT100, using PT100 to measure temperature of the

8、system, and shows the temperature by liquid crystal display. Moreover, the system can be set temperature alarm value for real-time monitoring. The LED light will alarm as it is over warning value.KEYWORDS:embedded system;LPC2103;uC/OS-II;temperature sensor PT100;temperature measure and alarm. 目錄摘要IA

9、bstractII第一章 前言1§1.1課題背景和意義1§1.2國內(nèi)同行研究概況1§1.3研究的主要內(nèi)容2第二章 ARM處理器及嵌入式系統(tǒng)綜述4§2.1 ARM處理器4§2.1.1處理器的簡介4§2.1.2 ARM處理器的體系結(jié)構(gòu)4§2.1.3 ARM編程模型5§2.2 嵌入式系統(tǒng)6§2.2.1嵌入式系統(tǒng)的定義6§2.2.2嵌入式系統(tǒng)的特征6§2.2.3嵌入式系統(tǒng)的應(yīng)用6§2.2.4嵌入式系統(tǒng)的發(fā)展趨勢7§2.3 本章小結(jié)7第三章 基于LPC2103的軟硬件平臺8&

10、#167;3.1 LPC2103概述8§3.1.1 LPC2103內(nèi)核8§3.1.2LPC2103的系統(tǒng)控制模塊8§3.2 LPC2103最小系統(tǒng)9§3.2.1基于LPC2103的硬件平臺實物圖9§3.3 溫度傳感器PT10010§3.3.1 溫度傳感器的介紹及選擇10§3.3.2 PT100溫度傳感器工作原理10§3.4 液晶顯示屏S0-1286411§3.5 集成開發(fā)環(huán)境及仿真軟件11§3.5.1 集成開發(fā)環(huán)境IAR11§3.5.2 H-JTAG功能介紹17§3.6 本章

11、小結(jié)21第四章 uC/OS-移植22§4.1 uC/OS-概述22§4.1.1 任務(wù)管理22§4.1.2 時間管理23§4.2 uC/OS-在系統(tǒng)上的移植23§4.3 uC/OS-移植的測試23§4.4 本章小結(jié)25第五章 系統(tǒng)軟硬件的設(shè)計調(diào)試26§5.1 各功能模塊設(shè)計系統(tǒng)26§5.1.1 液晶屏12864的調(diào)試26§5.1.2 按鍵輸入功能嵌入30§5.1.3 溫度報警功能嵌入34§5.2 uC/OS-系統(tǒng)中應(yīng)用程序的加載及其優(yōu)點35§5.3 本章小結(jié)35總結(jié)與展望36本

12、文小結(jié)36前景展望36謝 辭37參考文獻38第一章 前 言§1.1課題背景和意義隨著信息化、智能化、網(wǎng)絡(luò)化的發(fā)展,嵌入式系統(tǒng)技術(shù)廣泛應(yīng)用于工業(yè)控制、信息家電、交通管理、農(nóng)業(yè)、商業(yè)、服務(wù)業(yè)等各行業(yè),己成為現(xiàn)代電子產(chǎn)品設(shè)計的一大領(lǐng)域和方向。嵌入式系統(tǒng)是以計算機技術(shù)為基礎(chǔ),以應(yīng)用為中心,適合于應(yīng)用系統(tǒng)對功能、可靠性、成本、體積、功耗嚴(yán)格要求的專用計算機系統(tǒng),因此可以說嵌入式系統(tǒng)開創(chuàng)了電子元器件的新紀(jì)元。因此,研究嵌入式系統(tǒng)有著相當(dāng)重要的理論和實際意義。而溫度測量是工業(yè)、農(nóng)業(yè)、國防和科研等部門最普遍的測量項目,它在工農(nóng)業(yè)生產(chǎn),現(xiàn)代科學(xué)研究及高新技術(shù)開發(fā)過程中也是一個極其普遍而重要的測量參數(shù)。

13、本次研究就是將這兩者有機的結(jié)合起來,實現(xiàn)基于嵌入式系統(tǒng)的溫度測量。實現(xiàn)了這樣的研究將大大的提高溫度測量的穩(wěn)定性和有效性,更進一步的展現(xiàn)出進入嵌入式系統(tǒng)開發(fā)時代給社會的各個領(lǐng)域所帶來的高技術(shù)的支持,將讓我們更好的處于信息化時代。雖然我國目前的一些科技研發(fā)還遠不如國外,但是只要堅持著這一個研究方向一直走下去,我國的科技實力將會得到很大程度的提高?;贚PC2103ARM的溫度測量系統(tǒng)就是嵌入式系統(tǒng)在實際的生產(chǎn)生活中的一個簡單的實踐和運用,就是嵌入式系統(tǒng)和溫度測量的一個有效的結(jié)合。這樣的溫度測量系統(tǒng)穩(wěn)定性好,對溫度的采集、處理、監(jiān)控都有很高的要求。通過對這樣的一個溫度測量系統(tǒng)的研究不但可以增進對嵌入

14、式系統(tǒng)的認(rèn)識,而且將近一步了解嵌入式系統(tǒng)發(fā)展的歷程及其今后的發(fā)展方向和溫度測量在現(xiàn)實生產(chǎn)生活中的普遍運用。這樣的一個研究最后要達到的目標(biāo)就是對一些超過警示溫度的溫度進行預(yù)報警,這樣在工廠生產(chǎn)過程中將可以對一些因溫度而引起的事故進行有效的避免,大大提高生產(chǎn)的安全系數(shù),而且它可以進一步的彌補目前市場上的一些溫度測量系統(tǒng)的不足之處,讓溫度測量系統(tǒng)變得更加完善。§1.2國內(nèi)同行研究概況溫度測量是工業(yè),農(nóng)業(yè),國防和科研等部門最普遍的測量項目,它在工農(nóng)業(yè)生產(chǎn),現(xiàn)代科學(xué)研究及高新技術(shù)開發(fā)過程中也是一個極其普遍而重要的測量參數(shù)。而嵌入式系統(tǒng)已經(jīng)滲透到我們生活中的每個角落,工業(yè)、服務(wù)業(yè)、消費電子,世界

15、上第一個應(yīng)用的嵌入式系統(tǒng)可以追溯到20世紀(jì)60年代中期的阿波羅導(dǎo)航計算機AGC(Apollo Guidance Computer)系統(tǒng)用來完成阿波羅飛船的導(dǎo)航控制。從單片機地出現(xiàn)到今天各種嵌入式微處理器、微控制器的廣泛應(yīng)用,嵌入式系統(tǒng)開發(fā)少說也有了30多年的歷史??v觀嵌入式系統(tǒng)的發(fā)展歷程,大致經(jīng)歷了4個階段:(1)、無操作系統(tǒng);(2)、簡單操作系統(tǒng);(3)、實時操作系統(tǒng);(4)、面向Internet階段。把嵌入式系統(tǒng)的開發(fā)與溫度測量結(jié)合起來的設(shè)計聯(lián)系起來將是基于這兩種研究上的成熟運用。黃堅,朱節(jié)云在基于嵌入式技術(shù)的溫度測量系統(tǒng)1一文中采用可編程單總線數(shù)字式溫度傳感器DS18B20, 以嵌入式系

16、統(tǒng)作為現(xiàn)場處理單元, 并利用中間件技術(shù)實現(xiàn)了與上位機的實時數(shù)據(jù)交換。實驗表明, 該溫度測量系統(tǒng)具有較高的可靠性和精度。增加溫度控制功能并擴充測控點數(shù),構(gòu)造一個集中監(jiān)控的分布式溫度測控系統(tǒng)為下一步的研究目標(biāo)。劉鵬程在基于ARM的溫度測量系統(tǒng)2一文中設(shè)計了一款基于ARM的溫度測量系統(tǒng),其具有體積小、處理能力強、接口豐富、成本低、測溫精度高等特點。整個系統(tǒng)由三個模塊組成,包括溫度測量模塊、微處理器模塊和溫度控制模塊基于ARM芯片的溫度測量系統(tǒng),在功能、價格以及應(yīng)用前景這些方面,都比目前廣泛使用的基于普通單片機技術(shù)的系統(tǒng)有很大優(yōu)勢。該系統(tǒng)的升級空間很大,可通過更換傳感器及相應(yīng)軟件以實現(xiàn)不同物理量的測量

17、。系統(tǒng)完成后進行了測量與處理模塊的試驗,試驗證明該系統(tǒng)的溫度測量性能滿足設(shè)計要求。系統(tǒng)結(jié)構(gòu)圖如圖1.1。SDJTAGLCDKEYARMLPC2114時鐘UART電源鉑電阻傳感器A/D光耦隔離D/A溫度控制系統(tǒng)陀螺儀圖1.1 系統(tǒng)整體結(jié)構(gòu)圖在很多應(yīng)用領(lǐng)域中,基于溫度探測的監(jiān)控和報警系統(tǒng)已經(jīng)不僅僅是一個獨立的系統(tǒng),更多的時候是某個更大的監(jiān)控系統(tǒng)的一個組成部分。有時和上位機相連,有時又和PC機連接,甚至可能連接在互聯(lián)網(wǎng)上以實現(xiàn)遠程監(jiān)測、控制和訪問。數(shù)字化、智能化的傳感器集采樣、A/D轉(zhuǎn)換、電平兼容、總線地址、閥值報警、數(shù)據(jù)雙向通信、接口協(xié)議眾多功能于一身。這為其廣泛應(yīng)用于各種不同的環(huán)境提供了便捷的條

18、件。§1.3研究的主要內(nèi)容本課題研究的是基于ARM7的一個溫度測量系統(tǒng)。在翻閱了大量資料后,決定采用PT100溫度傳感器和ARM7內(nèi)核的LPC2103處理器進行開發(fā)。其中涉及一線總線技術(shù)的應(yīng)用,嵌入式系統(tǒng)開發(fā)應(yīng)用等。裝置通過數(shù)字溫度傳感器采集溫度,信息送到處理器上并計算出實際的溫度數(shù)值,并且由LCD進行顯示,并可以設(shè)置警示溫度值,超過警示溫度,由LED燈進行提示報警,整個裝置在uC/OS-II系統(tǒng)下運行。研究的工作:1 熟悉掌握LPC2103和PT100的功能。2 接收采集得到的溫度信息,編寫相應(yīng)的處理程序并且在LCD上顯示采集到的溫度,設(shè)置上下限警示溫度3 IAR集成開發(fā)環(huán)境的建立

19、。這部分主要利用IAR編寫程序后下載到ARM芯片使操作系統(tǒng)在ARM上工作。4 設(shè)計報警電路,對采集到上下限外的溫度信息實施報警5 熟悉uC/OS-II系統(tǒng)6 將以上程序移植到uC/OS-II上,整個程序能在uC/OS-II操作系統(tǒng)上運行第二章 ARM處理器及嵌入式系統(tǒng)綜述嵌入式系統(tǒng)是指用于執(zhí)行獨立功能的專用計算機系統(tǒng),以應(yīng)用中心,以微電子技術(shù)、控制技術(shù)、計算機技術(shù)和通信技術(shù)為基礎(chǔ),強調(diào)硬件和軟件的協(xié)同性及整合性,軟件和硬件可裁剪,以滿足系統(tǒng)對功能、成本、體積和功耗等的要求。§2.1 ARM處理器§2.1.1處理器的簡介ARM是Advanced RISC Machines的縮

20、寫。ARM公司,是近年來在嵌入式系統(tǒng)中非常有影響的微處理器設(shè)計商,它主要是將芯片設(shè)計技術(shù)的授權(quán)出售給世界上眾多著名的半導(dǎo)體、軟件和OEM廠商,并且為他們提供ARM相關(guān)技術(shù)及服務(wù)3。ARM CPU是RISC架構(gòu)的CPU,其設(shè)計主要適合于要求體積小、功耗低和功能較強處理能力等要求的嵌入式系統(tǒng)。它的主要特點有:(1)采用固定長的指令格式;(2)使用單周期指令,便于流水線操作執(zhí)行;(3)大量使用寄存器,數(shù)據(jù)處理指令只對寄存器操作,只有加載/存儲指令可以訪問儲器,以提高指令的執(zhí)行效率;(4)所有的指令都可以跟前面的執(zhí)行效果決定是否被執(zhí)行,從而提高指令的執(zhí)行效率;(5)可用加載/存儲指令批量傳輸數(shù)據(jù),以提

21、高數(shù)據(jù)的傳輸效率;(6)可在一條數(shù)據(jù)處理指令中同時完成邏輯處理和移位處理;(7)在循環(huán)處理中使用地址的增減來提高運行效率。ARM內(nèi)核中有四個功能模塊可供生產(chǎn)廠商根據(jù)不同的用戶的不同要求來配置生產(chǎn)。這四個模塊分別用T、D、M和I來表示。T:表示Thumb,該內(nèi)核可從16位指令集擴充到32位ARM指令集;D:表示Debug,該內(nèi)核中放置了用于調(diào)試的結(jié)構(gòu),可以使CPU進入調(diào)試模式,從而可方便地通過JTAG進行斷點設(shè)置、單步調(diào)試;M:表示Multiplier,該內(nèi)核內(nèi)部帶有8位乘法器;I:表示Embedded ICE Logic,該內(nèi)核可用于實現(xiàn)斷點觀測及變量觀測。§2.1.2 ARM處理器

22、的體系結(jié)構(gòu)ARM一般采用RISC結(jié)構(gòu),版本也在不斷升級。嵌入式微處理器可分為CISC和RISC兩類。RISC和CISC是目前設(shè)計制造微處理器的兩種典型技術(shù),雖然它們都是試圖在體系結(jié)構(gòu)、操作運行、編譯時間和運行時間等諸多因素中做出某種平衡,以求達到高效的目的,但采用的方法不同,因此,在很多方面差異很大。兩者比較而言,傳統(tǒng)的CISC結(jié)構(gòu)有其固有的缺點,即隨著計算機技術(shù)的發(fā)展而不斷引入新的復(fù)雜的指令集,為支持這些新增的指令,計算機的體系結(jié)構(gòu)會越來越復(fù)雜。在CISC指令集的各種指令中,其使用頻率相差懸殊,大約有20%的指令會被反復(fù)使用,占整個程序代碼的80%,而余下的80%的指令卻不經(jīng)常使用,在程序設(shè)

23、計中只占20%。而RISC并非只是簡單地去減少指令,而是把著眼點放在了如何使計算機的結(jié)構(gòu)更加簡單合理地提高運算速度上。除此之外,ARM體系結(jié)構(gòu)還采用了一些特別的技術(shù),在保證高性能的前提下盡量縮小芯片的面積,并降低功耗。·所有的指令都可根據(jù)前面的執(zhí)行結(jié)果決定是否被執(zhí)行,從而提高指令的執(zhí)行效率。·可用加載/存儲指令批量傳輸數(shù)據(jù),以提高數(shù)據(jù)的傳輸效率。·可在一調(diào)數(shù)據(jù)處理指令中同時完成邏輯處理和移位處理。·在循環(huán)處理中使用地址的自動增減來提高運行效率。當(dāng)然,盡管RISC架構(gòu)有上述的優(yōu)點,但絕不能認(rèn)為RISC架構(gòu)就可以取代CISC架構(gòu),事實上,RISC和CISC各

24、有優(yōu)勢,而且界限并不是那么明顯,現(xiàn)代的CPU往往采用CISC的外圍,內(nèi)部加入了RISC的特征,如超長指令集CPU就是融合了RISC和CISC的優(yōu)勢。§2.1.3 ARM編程模型ARM7支持7種操作模式,可以由軟件配置,分別如下:User mode(usr):正常程序執(zhí)行模式;FIQ mode(fiq):支持快速數(shù)據(jù)傳送和通道處理;IRQ mode(irq):用于通用中斷處理;Supervisor mode(svc):操作系統(tǒng)保護模式;System mode(sys):運行特權(quán)模式操作系統(tǒng)任務(wù);Abort mode(abt):數(shù)據(jù)或指令預(yù)取失效后進入的狀態(tài);Undefined mode

25、(und):執(zhí)行未定義的指令時進入的模式。對這些操作模式的支持,使得ARM可以支持虛擬存儲器機制,支持多種特權(quán)模式,從而可以運行多種主流的嵌入式操作系統(tǒng)。ARM微處理器中共定義了37個編程可見寄存器,每個寄存器的長度均為32位。根據(jù)不同的用途,可將其劃分為以下幾類:31個通用寄存器。在任意一種處理器模式下,只有15個通用寄存器可以使用,編號分別為r0,.,r14。其中,r13一般作為堆棧指針寄存器(SP:Stack Pointer)4。該寄存器由ARM編譯器自動使用。r14一般作為鏈接寄存器(LR:Link Register)。當(dāng)系統(tǒng)中發(fā)生子程序調(diào)用時,用r14來記錄返回地址。如果返回地址己經(jīng)

26、保存在堆棧中,則該寄存器也可以用于其它用途。6個狀態(tài)寄存器。這些寄存器也是32位的,當(dāng)只使用了其中的12位。在所有處理器模式下都可以訪問當(dāng)前程序狀態(tài)寄存器CPSR(Current Program Status Register)。CPSR包含條件嗎標(biāo)志、中斷禁止位、當(dāng)前處理器模式以及其他狀態(tài)和控制信息。每種異常模式都有一個程序狀態(tài)保存寄存器SPSR(Saved Program Status Register)。當(dāng)異常出現(xiàn)時,SPSR用于保留CPSR的狀態(tài)。§2.2 嵌入式系統(tǒng)§2.2.1嵌入式系統(tǒng)的定義嵌入式系統(tǒng)是指用于執(zhí)行獨立功能的專用計算機系統(tǒng)。它由微處理器、定時器、微

27、控制器、存儲器、傳感器等一系列微電子芯片及器件,和嵌入在存儲器中的微型操作系統(tǒng)及控制應(yīng)用軟件組成,共同實現(xiàn)諸如實時控制、監(jiān)視、管理、移動計算、數(shù)據(jù)處理等各種自動化處理任務(wù)。嵌入式系統(tǒng)以應(yīng)用中心,以微電子技術(shù)、控制技術(shù)、計算機技術(shù)和通信技術(shù)為基礎(chǔ),強調(diào)硬件和軟件的協(xié)同性及整合性,軟件和硬件可裁剪,以滿足系統(tǒng)對功能、成本、體積和功耗等的要求。最簡單的嵌入式系統(tǒng)僅有執(zhí)行單一功能的控制能力,在唯一的ROM中僅有實現(xiàn)單一功能的控制程序,無微型操作系統(tǒng)。復(fù)雜的嵌入式系統(tǒng),例如個人數(shù)字處理(PDA)、手持電腦(HPC)等,幾乎具有與PC一樣的功能。實質(zhì)上與PC的區(qū)別僅僅是將微型操作系統(tǒng)與應(yīng)用軟件嵌入在ROM

28、或FLASH存儲器中,而不是存儲與磁盤等載體中。很多復(fù)雜的嵌入式系統(tǒng)又是由若干個小型嵌入式系統(tǒng)組成的4。§2.2.2嵌入式系統(tǒng)的特征嵌入式系統(tǒng)作為計算機應(yīng)用系統(tǒng)的一個分支跟我們平時見到的PC機系統(tǒng)相比,有其自身的特點:(1)嵌入式系統(tǒng)要求其CPU具有功耗低、體積小、集成度高、處理能力強、價格低的特點,把很多板卡完成的功能集中到CPU芯片內(nèi)部,從而使整個系統(tǒng)能夠做到小型化。而其高性能和低廉的價格是處理器具有市場競爭能力的保證。(2)嵌入式系統(tǒng)和具體的應(yīng)用有機的結(jié)合,其升級換代也是和具體產(chǎn)品同步進行的,嵌入式產(chǎn)品一旦進入市場,就有較長的生命周期。(3)嵌入式系統(tǒng)為了提高系統(tǒng)的可靠性和執(zhí)行

29、速度,一般都是將嵌入式的操作系統(tǒng)和應(yīng)用軟件固化在可擦寫的ROM或者FLASH中。(4)由于嵌入式系統(tǒng)對實時性要求較高,因此嵌入式的操作系統(tǒng)必須具有較高的實時性。同時對程序的質(zhì)量和可靠性提出了較高要求。(5)由于儲存容量和體積的限制,嵌入式操作系統(tǒng)必須要具有體積小、功能強、可定制并能夠管理系統(tǒng)硬件的特點。(6)嵌入式系統(tǒng)的開發(fā)需要專門的開發(fā)工具和開發(fā)環(huán)境,一般采用宿主機(PC機)或工作站上編輯、編譯,最后固化到目標(biāo)機上的方式。§2.2.3嵌入式系統(tǒng)的應(yīng)用隨著嵌入式系統(tǒng)的高速發(fā)展,嵌入式軟件將繼續(xù)增加新的功能,并產(chǎn)生更加靈巧智能的產(chǎn)品,具體應(yīng)用如下:(1)嵌入式系統(tǒng)在無線通信領(lǐng)域的應(yīng)用有

30、手機、小靈通、智能手機等,85%以上的無線設(shè)備(手機等)都采用了ARM技術(shù),在向3G升級的過程中,ARM的地位也非常穩(wěn)固。(2)嵌入式系統(tǒng)在消費類電子中的應(yīng)用迅速增長,如數(shù)字音頻播放器(mp3)、數(shù)字機頂盒和游戲機等。(3)信息家電將成為嵌入式系統(tǒng)最大的應(yīng)用領(lǐng)域。具有用戶界面,能遠程控制,智能管理的電器是未來的發(fā)展趨勢,如冰箱、空調(diào)等得網(wǎng)絡(luò)化、智能化等。(4)嵌入式技術(shù)在交通管理、環(huán)境監(jiān)測中的應(yīng)用·交通管理在車輛導(dǎo)航、流量控制、信息監(jiān)測與汽車服務(wù)方面,目前GPS設(shè)備已經(jīng)從尖端產(chǎn)品進入了普通百姓的家庭。·水文資料實時監(jiān)測,防洪體系及水土質(zhì)量監(jiān)測、堤壩安全、地震監(jiān)測網(wǎng),實時氣象

31、信息網(wǎng),水源和空氣污染監(jiān)測。·加油站·停車場管理(5)嵌入式系統(tǒng)在其他領(lǐng)域也有著廣泛的應(yīng)用,如工業(yè)控制、海量存儲設(shè)備(微型閃速存儲卡)、成像設(shè)備(包含ARM技術(shù)的數(shù)碼相機和數(shù)碼打印機)以及安全產(chǎn)品(32為SIM智能卡)等。§2.2.4嵌入式系統(tǒng)的發(fā)展趨勢以信息家電為代表的互聯(lián)網(wǎng)時代嵌入式產(chǎn)品,不僅為嵌入式市場展現(xiàn)了美好前景,注入了新的生命,同時也對嵌入式系統(tǒng)技術(shù),特別是軟件技術(shù)提出了新的挑戰(zhàn)。這主要包括:支持靈活的網(wǎng)絡(luò)鏈接、輕便的移動應(yīng)用和多媒體的信息處理。此外,當(dāng)然還對需要對付更加激烈的市場競爭。(1)嵌入式的應(yīng)用軟件越來越豐富、成熟。(2)聯(lián)網(wǎng)成為必然趨勢。(

32、3)支持小型電子設(shè)備實現(xiàn)小尺寸、微功耗和低成本。(4)提供精巧的多媒體人機界面。§2.3 本章小結(jié)本章主要對ARM微處理器和嵌入式系統(tǒng)做了一些方面的了解。對ARM的體系結(jié)構(gòu)和一些編程模型進行了必要的學(xué)習(xí)。明確了嵌入式系統(tǒng)在現(xiàn)在社會的重要性,發(fā)現(xiàn)它對現(xiàn)在科學(xué)技術(shù)的發(fā)展有著其不可替代的作用,并且以后的發(fā)展趨勢特別的明朗,越來越注重社會的需要。第三章 基于LPC2103的軟硬件平臺LPC2103 是基于一個支持實時仿真的32 位ARM7 TDMI-S CPU 的微控制器,并帶有32kB 嵌入的高速Flash 存儲器。128 位寬度的存儲器接口和獨特的加速結(jié)構(gòu)使32 位代碼能夠在最大時鐘速率

33、下運行。針對LPC2103具有著與其他微處理器不同的特征及其內(nèi)部的一些結(jié)構(gòu)以及軟件的仿真,將在本章做簡要的闡述。§3.1 LPC2103概述§3.1.1 LPC2103內(nèi)核LPC2103是基于ARM7TDMI-S內(nèi)核的嵌入式微處理器,它的主要特征如下:n ARM7TDMI-S處理器,頻率可達60MHz;n 128k字節(jié)片內(nèi)Flash程序存儲器,具有ISP和IAP功能,F(xiàn)lash的編程時間:1ms ,可編程512字節(jié),扇區(qū)擦除或整片擦除時間只需400ms;n l6k字節(jié)靜態(tài)RAM;n 向量中斷控制器;n 標(biāo)準(zhǔn)ARM測試/調(diào)試接口,兼容現(xiàn)有的工具;n Real Monitor模

34、塊支持實時調(diào)試,仿真跟蹤模塊,支持實時跟蹤;n 極小封裝:TQFP48 (77mm);n 單UART;n I2C串行接口和SPI串行接口;n 兩個定時器,分別具有4 路捕獲/比較通道;n 多達6路輸出的PWM單元;n 實時時鐘和看門狗定時器;n 通用I/O口;n 高效的電源管理;由于LPC2103具有非常小的尺寸和極低的功耗,它們非常適合于那些小型化為主的應(yīng)用,也可以和其它芯片一起封裝。它的主要應(yīng)用領(lǐng)域有:Internet網(wǎng)關(guān)、串行通信協(xié)議轉(zhuǎn)換器、訪問控制、工業(yè)控制、MP3音頻產(chǎn)品、醫(yī)療產(chǎn)品等。§3.1.2LPC2103的系統(tǒng)控制模塊LPC2103的系統(tǒng)控制模塊包括幾個系統(tǒng)特征和控制

35、寄存器,這些寄存器具有眾多與特定外設(shè)無關(guān)的功能,它們的設(shè)置決定了系統(tǒng)的工作模式。它們包括:n 晶體振蕩器:n 外部中斷輸入:n 存儲器映射控制器:n PLL:n 功率控制:n 復(fù)位:n VPB分頻器:n 喚醒定時器:每種類型的功能都有其自身的功能,不需要的位則定義為保留。為了滿足將來擴展的需要,無關(guān)的功能不共用相同的寄存器地址。§3.2 LPC2103最小系統(tǒng)基于LPC2103的最小系統(tǒng)如圖3.1所示,主要由LPC2103核心板、電源模塊、復(fù)位和I2C模塊、時鐘模塊、按鍵和顯示模塊、UART串口模塊、JTAG調(diào)試模塊組成。LPC2103核心板電源模塊復(fù)位和I2C模塊時鐘模塊按鍵和顯示

36、模塊UART串口模塊JTAG調(diào)試模塊圖3.1:LPC2103最小系統(tǒng)原理圖§3.2.1基于LPC2103的硬件平臺實物圖如圖3.2圖3.2 基于LPC2103的硬件平臺實物圖§3.3 溫度傳感器PT100§3.3.1 溫度傳感器的介紹及選擇溫度傳感器從使用的角度大致可分為接觸式和非接觸式兩大類,前者是讓溫度傳感器直接與待測物體接觸,來敏感被測物體溫度的變化,而后者是使溫度傳感器與待測物體離開一定的距離,檢測從待測物體放射出的紅外線,從而達到測溫的目的。由于本課題的任務(wù)要求測量的范圍為-40一600,測量的精度為士0.2,綜合價格以及后續(xù)的電路,決定采用線性度相對較

37、好的PT100作為本課題的溫度傳感器,具體的型號為鉑電阻溫度傳感器,其測溫的范圍從-200一+650。溫度傳感器PT100是一種穩(wěn)定性和線性都比較好的鉑絲熱電阻傳感器,可以工作在-200至650的范圍.本電路選擇其工作在-19至500范圍。整個電路分為兩部分,一是傳感器前置放大電路,一是單片機A/D轉(zhuǎn)換和顯示,控制,軟件非線性校正等部分。§3.3.2 PT100溫度傳感器工作原理傳感器的接入非常簡單,從系統(tǒng)的5V供電端僅僅通過一支3K92的電阻就連接到PT100了.這種接法通常會引起嚴(yán)重的非線性問題,但是.由于有了單片機的軟件校正作為后盾,因此就簡化了傳感器的接入方式. &

38、#160; 按照PT100的參數(shù),其在0到500的區(qū)間內(nèi),電阻值為100至280.9,我們按照其串聯(lián)分壓的揭發(fā),使用公式:Vcc/(PT100+3K92)* PT100=輸出電壓(mV),可以計算出其在整百時的輸出電壓,見下面的表格:溫度 PT100 阻值 傳感兩端電壓 mV0100.00124.381100.39124.850119.40147.79100138.51170.64150157.33192.93200175.86214.68250194.10235.90300212.05256.59350229.72276.79400247.09296.48450264.18315.

39、69500280.98334.42§3.4 液晶顯示屏S0-12864SO-12864是一個漢字圖形點陣液晶顯示模塊,可顯示漢字及圖形,內(nèi)置8192個中文漢字(16*16點陣,16*8=128,16*4=64,一行只能寫8個漢字,4行)、128個字符(8*16點陣)及64*256點陣顯示PAM(GDRAM)。S0-12864實物圖如圖3.5:圖3.5 液晶顯示屏S0-12864§3.5 集成開發(fā)環(huán)境及仿真軟件嵌入式系統(tǒng)本身不具備自己的開發(fā)能力,必須有一套開發(fā)工具和環(huán)境才能進行開發(fā)。本系統(tǒng)的工具主要包括:集成開發(fā)環(huán)境IAR和仿真軟件H-JTAG。§3.5.1 集成開

40、發(fā)環(huán)境IARIAR Embedded Workbench for ARM是IAR Systems公司為ARM微處理器開發(fā)的一個集成開發(fā)環(huán)境。比較其他的ARM開發(fā)環(huán)境,IAR EWARM具有入門容易、使用方便和代碼緊湊等特點。IAR EWARM集成了開發(fā)嵌入式系統(tǒng)所需的文件編輯、項目管理、編譯、鏈接和調(diào)試工具。特別是IAR C-SPY調(diào)試器支持實時操作系統(tǒng)的響應(yīng)調(diào)試,這給移植C/OS-II的調(diào)試帶來了很大的方便。另外,本設(shè)計在連接目標(biāo)板與開發(fā)環(huán)境之間采用H-JTAG調(diào)試代理軟件。下面介紹下如何運用IAR建立一個工程:1:雙擊IAR圖標(biāo),打開開發(fā)環(huán)境;2:點擊第一個圖標(biāo),新建一個工程;(圖3.6)

41、圖3.6 新建工程3:設(shè)計保存目錄和工程名為;(圖3.7)圖3.7保存目錄4:新建一個文件;(圖3.8)圖3.8新建文件5:保存為main.c文件;(圖3.9)圖3.9 保存main.c文件6:右鍵點擊option,將C文件添加到工程中;(圖3.10)圖3.10 添加C文件至工程7 :進行編譯,保存EWW文件;(圖3.11)圖3.11 編譯,保存為EWW類型文件8 :進入option選項Generaltarget中設(shè)置ARM類型;(圖3.12)圖3.12 設(shè)置ARM類型9 :進入option選項Generaldebug中設(shè)置軟件仿真;(圖3.13)圖3.13 設(shè)置軟件仿真10:軟件仿真后可以查

42、看相應(yīng)的寄存器,按F10為單步運行 ;(如圖3.14)圖3.14 單步運行顯示§3.5.2 H-JTAG功能介紹H-JTAG如圖3.15圖3.15 H-JTAG功能圖H-JTAG主要有以下五大功能:n 仿真測試功能利用H-JTAG的外測試功能,可以在指定I/0口模擬數(shù)字信號,測試板級系統(tǒng)的數(shù)字邏輯及邏輯驗證。n 在線測試功能利用H-JTAG的抽樣和預(yù)加載功能,可以在不影響系統(tǒng)工作的情況下,觀察系統(tǒng)各部分工作的情況。n 在線編程功能如系統(tǒng)中有EEPROM器件,可以利用H-JTAG的外測試功能,將需裝載的數(shù)據(jù)通過I/O加載到系統(tǒng)中EEPROM器件的引腳上,在無須任何附加電路情況下完成在線

43、編程功能。n 冗余測試功能在本身具有測試功能的系統(tǒng)中,可以通過H-JTAG的測試完成冗余測試,加強測試的可靠性。n 遠程測試診斷利用H-JTAG測試信號技術(shù)和Internet技術(shù)結(jié)合,就可擴展H-JTAG的測試手段和能力。下面介紹利用H-JTAG調(diào)試代理制RAM中仿真1:進入option選項Generaltarget中設(shè)置硬件仿真; 2:進入option選項 linkoutput中設(shè)置,選擇C-spy ;(圖3.16)圖3.16 選擇C-spy調(diào)試器3:進入option選項 linkextra output中設(shè)置 ;(圖3.17)4:進入option選項 linkconfig中設(shè)置為$PROJ

44、_DIR$sysLPC2103_RAM.XCL;圖3.17 設(shè)置link中的選項5:進入option選項 Debugger中設(shè)置,選擇調(diào)試代理RDI ;(圖3.18)圖3.18 選擇調(diào)試代理RDI6:在option選項 debuggerRDI中選擇H-JTAG ;(圖3.19) 圖3.19 選擇H-JTAG7:進入option選項 Debugger中設(shè)置,選擇設(shè)置類型 ;(圖3.20)圖3.20 對Debugger進行設(shè)置從其他的程序中將LPC2103_RAM.xcl文件拷貝過來再make一下就可以。 點擊 make一下,完成代碼編寫,按F7進行編譯。 §3.6 本章小結(jié)本章主要研究

45、基于LPC2103的軟硬件平臺的設(shè)計。其中主要包括對LPC2103的內(nèi)核、LPC2103的最小系統(tǒng)、溫度傳感器PT100、液晶顯示屏S0-12864、集成開發(fā)環(huán)境IAR及仿真軟件H-JTAG的介紹和它們相應(yīng)的運用,為下面做整個系統(tǒng)的設(shè)計打下基礎(chǔ)。第四章 uC/OS-移植操作系統(tǒng)是一種運行在嵌入式硬件平臺上,對整個系統(tǒng)機器所操作的部件、裝置等資源進行統(tǒng)一協(xié)調(diào)、指揮和控制的系統(tǒng)軟件。具有微型化、可裁剪性、實時性、高可靠性和易移植性等優(yōu)點。操作系統(tǒng)按對外部時間的響應(yīng)能力來分類,有實時操作系統(tǒng)和分時操作系統(tǒng)兩類。實時操作系統(tǒng)是指系統(tǒng)能及時響應(yīng)外部時間的請求,并能及時控制所有實施設(shè)備與實施人物協(xié)調(diào)運行,

46、且能在一個規(guī)定的時間內(nèi)完成對事件的處理。uC/OS-就是一種嵌入式多任務(wù)實時操作系統(tǒng)。自問世以來,已有成千上萬的開發(fā)者把它成功地應(yīng)用于各種系統(tǒng)中,安全性和穩(wěn)定性己經(jīng)得到認(rèn)證,現(xiàn)已經(jīng)通過美國認(rèn)證。§4.1 uC/OS-概述uC/OS-是源碼公開的嵌入式操作系統(tǒng)。它是一種搶先式實時內(nèi)核,是基于優(yōu)先級的,即總是讓就緒狀態(tài)中優(yōu)先級高的任務(wù)先執(zhí)行。它可支持個任務(wù),包含了實時內(nèi)核、任務(wù)管理、任務(wù)間通信信號量、郵箱、消息隊列等和內(nèi)存管理等功能它的代碼是用C語言和匯編語言編寫的,結(jié)構(gòu)簡單、可移植性強。一該操作系統(tǒng)可以在8位、16位、32位微處理器、微控制器和數(shù)字信號處理器上運行。§4.1.

47、1 任務(wù)管理一個任務(wù)通常是一個無限的循環(huán),由程序和數(shù)據(jù)組成。在uC/OS-中,任務(wù)有5種狀態(tài):休眠態(tài)、就緒態(tài)、運行態(tài)、中斷態(tài)、等待態(tài),在任一時刻,任務(wù)處于這五種狀態(tài)之一。實時系統(tǒng)uC/OS-對任務(wù)的管理和調(diào)度主要是通過任務(wù)控制塊和任務(wù)就緒表來實現(xiàn)。任務(wù)控制塊是一個數(shù)據(jù)結(jié)構(gòu),它與任務(wù)一一對應(yīng)。任務(wù)控制塊包括任務(wù)的指針,任務(wù)的堆棧信息,任務(wù)的優(yōu)先級,任務(wù)的狀態(tài),任務(wù)在任務(wù)就緒表中的位置等數(shù)據(jù)信息。在操作系統(tǒng)初始化OSINIT時,系統(tǒng)申請了一塊RAM空間來存儲空閑任務(wù)控制塊。 一旦任務(wù)建立, 系統(tǒng)就會分配一個任務(wù)控制塊(task control blocks)OS_TCB給該任務(wù)。當(dāng)任務(wù)的CPU使用

48、權(quán)被剝奪時,uC/OS-用它來保存該任務(wù)的狀態(tài)。當(dāng)任務(wù)重新得到CPU使用權(quán)時,任務(wù)控制塊能確保任務(wù)從被中斷的那一點繼續(xù)執(zhí)行下去。OS_TCB全部駐留在RAM中,在任務(wù)建立的時候,OS_TCB被初始化。應(yīng)用程序中最多任務(wù)數(shù)(OS_MAX-TASKS)是在文件OS_CFG.H中定義的,所有的任務(wù)控制塊OS_TCBS都是放在任務(wù)控制塊列表數(shù)組OSTCBTb1中的。目前,系統(tǒng)uC/OS-占用了兩個任務(wù),一個用于空閑任務(wù),另一個用于任務(wù)統(tǒng)計。在uC/OS-初始化時,所有任務(wù)控制塊OS_TCBS被鏈接成空任務(wù)控制塊的單向鏈表。當(dāng)任務(wù)一旦建立,空任務(wù)塊指針OSTCB Free List指向的任務(wù)控制塊便賦給

49、了該任務(wù),然后OSTCB Free List的值調(diào)整為指向鏈表中下一個空的任務(wù)控制表。一旦任務(wù)被刪除,它的任務(wù)控制塊就回到空任務(wù)控制塊鏈表中。uC/OS-對任務(wù)的管理實質(zhì)上通過一系列函數(shù)改變?nèi)蝿?wù)控制塊的鏈表和數(shù)組以及改變?nèi)蝿?wù)控制塊的信息,例如OSTaskCreate()創(chuàng)造任務(wù)。uC/OS-任務(wù)的調(diào)度是基于優(yōu)先級調(diào)度, 通過就緒表來實現(xiàn),每個任務(wù)被賦予一個優(yōu)先級,優(yōu)先級高的任務(wù)先運行,反之亦然。§4.1.2 時間管理uC/OS-(其他內(nèi)核也一樣)要求用戶提供定時中斷來實現(xiàn)延時與超時控制等功能,這個定時中斷叫時鐘節(jié)拍,它應(yīng)該每秒發(fā)生10至100次。時鐘節(jié)拍的頻率實際上是由用戶應(yīng)用程序決

50、定的,時鐘頻率越高,系統(tǒng)的負(fù)荷就越重。時間管理提供如下功能:n 產(chǎn)生時鐘節(jié)拍n 任務(wù)延時n 結(jié)束延時n 系統(tǒng)時間§4.2 uC/OS-在系統(tǒng)上的移植所謂移植,就是使一個實時內(nèi)核能在其它的微處理器或微控制器上運行。C/OS-II移植到AT91M40800上需要修改幾個與處理器相關(guān)的文件:os_cpu.h、os_cpu.c和os_cpu_a.asm。在os_cpu.h文件中,重新定義與IAR編譯器相關(guān)的數(shù)據(jù)類型。定義保護臨界段代碼的開/關(guān)中斷模式為模式3。AT91M40800的堆棧生長方式設(shè)置為由高地址向低地址遞減方式。os_cpu.c文件包含與移植有關(guān)的10個簡單的C語言函數(shù)。本文移植

51、了其中的2個函數(shù):OSTaskStakInit()和OSInitHookBegin()。前者用于堆棧的初始化設(shè)置,而后者則用于初始化變量OSIntCtxSwFlag,該變量用以表示在完成所有嵌套的中斷服務(wù)程序后是否需要進行任務(wù)切換。在os_cpu_a.asm文件中,編寫了5個匯編語言函數(shù): OSStartHighRdy ( )、OSCtxSw ( )、OSIntCtxSw()、OS_CPU_SR_Save()和OS_CPU_SR_Restore()。它們分別實現(xiàn)開/關(guān)中斷、上下文切換、時鐘中斷服務(wù)等功能。§4.3 uC/OS-移植的測試C/OS-II移植完成后,需要進行測試,以驗證移

52、植的C/OS-II是否能正常工作。本設(shè)計將測試程序放在app.c和app.h文件中。app.c文件是一個標(biāo)準(zhǔn)的C/OS-II測試文件,它包含main()函數(shù)和AppStartTask()函數(shù)。app.h文件中是與應(yīng)用相關(guān)的常量、宏定義以及函數(shù)原型聲明等。main()函數(shù)首先建立空閑任務(wù)和統(tǒng)計任務(wù),接著通過調(diào)用C/OS-II提供的OSTaskCreateExt()函數(shù)建立燈閃爍任務(wù)AppStartTask(),最后調(diào)用OSStart()開始運行多任務(wù)。main()函數(shù)程序流程如圖4.1所示。開始初始化uC/OS-建立燈閃爍任務(wù)AppStartTask內(nèi)核進行多任務(wù)調(diào)度結(jié)束圖4.1 main()函

53、數(shù)程序流程圖AppStartTask()任務(wù)首先調(diào)用BSP()函數(shù)來初始化目標(biāo)硬件;C/OS-II統(tǒng)計任務(wù)OSStatInit()執(zhí)行的必要條件是使能時鐘中斷;最終進入任務(wù)體,該任務(wù)通過AT91M40800的置位/清零P17口點亮或熄滅連接在該I/O口上的小燈,以直觀地表明C/OS-II是否進行了多任務(wù)調(diào)度。AppStartTask任務(wù)程序流程如圖4.2所示。開始初始化CPU 片內(nèi)外圍設(shè)備BSP_Init()使能統(tǒng)計任務(wù)OSStatInit()任務(wù)體,循環(huán)點亮小燈圖4.2 AppStartTask()任務(wù)程序流程圖在IAR EWARM集成開發(fā)環(huán)境成功添加上述文件后,工作區(qū)界面如圖4.3所示圖4

54、.3在IAR EWARM集成開發(fā)環(huán)境下進行C/OS-II移植時的工作區(qū)界面§4.4 本章小結(jié)本章針對uC/OS-系統(tǒng)進行了簡要的概述。對于系統(tǒng)的時間管理和任務(wù)管理,做了詳盡的介紹;由于uC/OS-系統(tǒng)的移植是運用這個系統(tǒng)的關(guān)鍵,所以針對該系統(tǒng)在ARM7上的移植與測試都進行了簡要的了解。第五章 系統(tǒng)軟硬件的設(shè)計調(diào)試對所有的分模塊進行有效的整合,并設(shè)計溫度報警程序,同時將在其中加入按鈕輸入,流水燈報警以及液晶顯示屏12864的顯示。最后將以上程序移植到uC/OS-II上,整個程序能在uC/OS-II操作系統(tǒng)上運行。§5.1 各功能模塊設(shè)計系統(tǒng)整個溫度測量裝置主要由以下幾部分構(gòu)成:LPC2103、SO-12864液晶顯示屏、PT100、三路按鍵輸入、三路LED燈報警。系統(tǒng)總體結(jié)構(gòu)如圖5.1:液晶顯示屏1212S0-12864溫度傳感器PT100LPC2103流水燈、蜂鳴器報警按鈕輸入圖5.

溫馨提示

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

評論

0/150

提交評論