嵌入式系統(tǒng)在多點(diǎn)溫度控制中的應(yīng)用-免費(fèi)畢業(yè)設(shè)計(jì)論文_第1頁
嵌入式系統(tǒng)在多點(diǎn)溫度控制中的應(yīng)用-免費(fèi)畢業(yè)設(shè)計(jì)論文_第2頁
嵌入式系統(tǒng)在多點(diǎn)溫度控制中的應(yīng)用-免費(fèi)畢業(yè)設(shè)計(jì)論文_第3頁
嵌入式系統(tǒng)在多點(diǎn)溫度控制中的應(yīng)用-免費(fèi)畢業(yè)設(shè)計(jì)論文_第4頁
嵌入式系統(tǒng)在多點(diǎn)溫度控制中的應(yīng)用-免費(fèi)畢業(yè)設(shè)計(jì)論文_第5頁
已閱讀5頁,還剩62頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

嵌入式系統(tǒng)在多點(diǎn)溫度控制中的應(yīng)用目錄TOC\o"1-3"\h\z第一章概述 31.1引言 31.2選題意義 31.3課題的實(shí)現(xiàn) 51.4論文的章節(jié)安排 6第二章嵌入式系統(tǒng) 82.1嵌入式系統(tǒng)的根本概念 82.1.1嵌入式系統(tǒng)的歷史 82.1.2何為嵌入式系統(tǒng) 92.1.3嵌入式實(shí)時(shí)操作系統(tǒng) 102.2嵌入式系統(tǒng)的組成 112.2.1嵌入式處理器 112.2.2嵌入式操作系統(tǒng) 122.3嵌入式系統(tǒng)的開發(fā) 152.4嵌入式系統(tǒng)的應(yīng)用 162.5嵌入式系統(tǒng)的未來開展趨勢(shì) 16第三章系統(tǒng)開發(fā)環(huán)境與技術(shù) 183.1系統(tǒng)的開發(fā)環(huán)境 183.1.1SM5964概述 183.1.2嵌入式操作系統(tǒng)μC/OS-II 19嵌入式系統(tǒng)軟/硬件協(xié)同設(shè)計(jì)技術(shù) 25嵌入式系統(tǒng)的測(cè)試技術(shù) 27第四章系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 294.1系統(tǒng)的硬件設(shè)計(jì) 294.2系統(tǒng)的移植 334.3系統(tǒng)的軟件設(shè)計(jì)與實(shí)現(xiàn) 354.3.1設(shè)計(jì)總述 354.3.2任務(wù)的劃分 364.3.3人機(jī)交互模塊的詳細(xì)設(shè)計(jì) 384.3.5溫度測(cè)量及控制模塊詳細(xì)設(shè)計(jì) 434.3.6遠(yuǎn)程加載程序的設(shè)計(jì) 47第五章PC側(cè)程序的設(shè)計(jì) 505.1PC機(jī)側(cè)串行通信程序的設(shè)計(jì) 50程序設(shè)計(jì)的關(guān)鍵技術(shù) 515.1.2通信協(xié)議的制定 525.1.2PC機(jī)側(cè)通信程序的實(shí)現(xiàn) 535.2PC側(cè)ISP功能控制模塊設(shè)計(jì) 585.2.1PC機(jī)側(cè)傳輸協(xié)議約定 585.2.2控制界面和流程圖設(shè)計(jì) 59第六章結(jié)論 616.1總結(jié) 616.2進(jìn)一步的研究 61第一章概述1.1引言嵌入式系統(tǒng)被定義為:以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為根底,軟硬件可裁剪,適應(yīng)應(yīng)用系統(tǒng)對(duì)功能、可靠性、本錢、體積、功耗嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。實(shí)際上嵌入式系統(tǒng)是計(jì)算機(jī)的一種應(yīng)用形式,是將先進(jìn)的計(jì)算機(jī)技術(shù)、半導(dǎo)體技術(shù)和電子技術(shù)與各個(gè)行業(yè)的具體應(yīng)用相結(jié)合后的產(chǎn)物,具有軟件代碼小、高度自動(dòng)化、響應(yīng)速度快等特點(diǎn)。因此它是一個(gè)技術(shù)密集、資金密集、高度分散、不斷創(chuàng)新的知識(shí)集成系統(tǒng)。特別適合于要求實(shí)時(shí)的和多任務(wù)的系統(tǒng)。從美國微軟發(fā)布“維納斯方案〞白皮書到中國中科院推出的“女媧方案〞,整個(gè)世界仿佛在一夜之間掀起了嵌入式開發(fā)與應(yīng)用的熱潮,人們開始關(guān)注嵌入式技術(shù)的開展和應(yīng)用情況。嵌入式系統(tǒng)的研究和開發(fā)也隨之走入了高校和研究所,成為人們的學(xué)科,并且相應(yīng)地開發(fā)出了嵌入式操作系統(tǒng),嵌入式瀏覽器和嵌入式數(shù)據(jù)庫等產(chǎn)品。在當(dāng)前數(shù)字信息技術(shù)和網(wǎng)絡(luò)技術(shù)高速開展的后PC〔Post-PC〕時(shí)代,嵌入式系統(tǒng)已經(jīng)廣泛地滲透到科學(xué)研究、工程設(shè)計(jì)、軍事技術(shù)、各類產(chǎn)業(yè)和商業(yè)文化藝術(shù)以及人們的日常生活等方方面面中。隨著國內(nèi)外各種嵌入式產(chǎn)品的進(jìn)一步開發(fā)和推廣,嵌入式技術(shù)越來越和人們的生活緊密結(jié)合。如今嵌入式系統(tǒng)的應(yīng)用越來越廣泛,那么嵌入式系統(tǒng)應(yīng)用緣何能在近年來的信息技術(shù)應(yīng)用中脫穎而出,成為眾多商家角逐的對(duì)象。其實(shí)原因很簡(jiǎn)單,因?yàn)檫@里面蘊(yùn)藏著巨大的市場(chǎng),巨大的商業(yè)利益,單就電視應(yīng)用而言,目前全球有2億多有線電視用戶,中國也有8000多萬戶,而且每年還在以600萬的速度遞增。如今,在這塊領(lǐng)域里,還沒有一家公司有成熟的產(chǎn)品,也沒有標(biāo)準(zhǔn)的操作系統(tǒng),更沒有一個(gè)可以主導(dǎo)市場(chǎng)的壟斷者。在這種局勢(shì)下,雖然競(jìng)爭(zhēng)將異常劇烈,但突圍的可能性也較大,只要能夠培養(yǎng)出自己的技術(shù)能力和市場(chǎng)開拓能力,是有可能取得巨大成功的。如今嵌入式系統(tǒng)已經(jīng)成為IT界的又一新焦點(diǎn),它正處在一個(gè)飛速開展和劇烈競(jìng)爭(zhēng)的時(shí)代,它被廣泛應(yīng)用到金融、航天、電信、網(wǎng)絡(luò)、信息家電、醫(yī)療、工業(yè)控制、軍事等各個(gè)領(lǐng)域。1.2選題意義微機(jī)控制系統(tǒng)是一種實(shí)時(shí)系統(tǒng),所謂實(shí)時(shí)系統(tǒng)是指系統(tǒng)能及時(shí)地響應(yīng)外部事件的請(qǐng)求,在許可的時(shí)間限制內(nèi)完成對(duì)該事件的處理,并控制相應(yīng)的設(shè)備完成實(shí)時(shí)操作。為了滿足處理實(shí)時(shí)事件的要求,絕大局部單片微機(jī)都具有中斷功能。它允許在發(fā)生某一事件時(shí)〔例如外部設(shè)備運(yùn)行完成、定時(shí)時(shí)間到等〕,為了對(duì)這一事件進(jìn)行處理,中止現(xiàn)行程序的運(yùn)行而進(jìn)入處理該事件的程序,處理完再返回原程序執(zhí)行。隨著單片微機(jī)應(yīng)用的日益深入和廣泛,應(yīng)用的水平越來越高,應(yīng)用系統(tǒng)的功能也越來越復(fù)雜,一個(gè)系統(tǒng)經(jīng)常需要控制多個(gè)對(duì)象,并且這些對(duì)象都要求實(shí)時(shí)操作。特別是現(xiàn)在已開始大量使用多機(jī)系統(tǒng),它們一般為主從結(jié)構(gòu)的多機(jī)控制系統(tǒng)。從機(jī)完成數(shù)據(jù)采集、計(jì)算、控制等功能。主機(jī)可向從機(jī)發(fā)命令,修改從機(jī)的參數(shù),而從機(jī)可向主機(jī)回送結(jié)果和數(shù)據(jù)。在這樣的系統(tǒng)中,主從機(jī)通信與從機(jī)的數(shù)據(jù)采集、計(jì)算、控制等必須并行進(jìn)行,即從機(jī)在通信和執(zhí)行主機(jī)的命令時(shí),也不能影響其它操作。因此,較復(fù)雜的單片微機(jī)實(shí)時(shí)系統(tǒng)特別是多機(jī)系統(tǒng),均要求單片微機(jī)系統(tǒng)具有同時(shí)進(jìn)行多種實(shí)時(shí)操作的能力,我們稱之為并行處理。另外,在系統(tǒng)軟件設(shè)計(jì)中,多采用單任務(wù)順序機(jī)制。程序由一個(gè)主循環(huán)控制,通過判斷不同的標(biāo)志輪循調(diào)用各功能函數(shù),在主循環(huán)中調(diào)用的模塊按順序運(yùn)行?!舱撌銮度胧较到y(tǒng)與一般系統(tǒng)的差異,優(yōu)缺點(diǎn)〕本課題基于嵌入式系統(tǒng)的開發(fā)及應(yīng)用,利用嵌入式系統(tǒng)的設(shè)計(jì)方法及測(cè)試技術(shù),結(jié)合RTOS的選取原那么,選用了源碼公開的嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS-II,結(jié)合實(shí)際應(yīng)用,設(shè)計(jì)了一個(gè)實(shí)現(xiàn)對(duì)多點(diǎn)溫度進(jìn)行控制的嵌入式系統(tǒng)。復(fù)雜的微機(jī)控制系統(tǒng)使用常規(guī)的順序程序設(shè)計(jì)方法加上中斷來實(shí)現(xiàn)功能是比擬困難的,主要表達(dá)在以下幾個(gè)方面:(1).實(shí)時(shí)性差:由于計(jì)算機(jī)在處理中斷時(shí),一般不允許響應(yīng)低級(jí)和同級(jí)中斷,為了提高實(shí)時(shí)性,要求中斷處理程序盡量短。但是有許多實(shí)時(shí)操作的處理比擬復(fù)雜,需要較長的CPU執(zhí)行時(shí)間。如果用中斷來完成這些處理,那么在處理時(shí),無法響應(yīng)低級(jí)或同級(jí)中斷。如果采用中斷置標(biāo)志的方法,讓主程序來進(jìn)行處理,那么一方面會(huì)增加程序的復(fù)雜性,另一方面也難以做到實(shí)時(shí)處理,因?yàn)橹鞒绦虿豢赡茉趫?zhí)行其它程序時(shí),隨時(shí)去檢查這些標(biāo)志位而轉(zhuǎn)向不同的處理程序。(2).難以實(shí)現(xiàn)并行操作的相互通信:在功能較強(qiáng)的實(shí)時(shí)系統(tǒng)中,除了主程序有時(shí)需要與中斷間進(jìn)行信息交換外,各個(gè)并行操作之間有時(shí)也需相互通信。這些用常規(guī)方法是難以實(shí)現(xiàn)的。(3).結(jié)構(gòu)復(fù)雜、移植性差、維護(hù)困難:?jiǎn)纹C(jī)功能的復(fù)雜化,使軟件越來越復(fù)雜,特別是為了實(shí)現(xiàn)并行操作,需使用大量的中斷和標(biāo)志,使程序結(jié)構(gòu)十分混亂,難以設(shè)計(jì)和調(diào)試。同時(shí)由于程序采用線性結(jié)構(gòu),使得程序難于修改或者移植,因此缺乏靈活性、通用性和可維護(hù)性。為了解決以上的問題,可以把應(yīng)用軟件按所完成的功能分成一個(gè)個(gè)獨(dú)立的、但可以并行運(yùn)行的任務(wù),如串行口通信任務(wù)、數(shù)據(jù)采集任務(wù)、數(shù)據(jù)計(jì)算任務(wù)、定時(shí)打印任務(wù)等。這樣,整個(gè)應(yīng)用軟件有各個(gè)任務(wù)所組成,設(shè)計(jì)、調(diào)試時(shí)可分別進(jìn)行。修改時(shí)只可修改個(gè)別任務(wù)即可,從而提高了軟件的可移植性。為了提高系統(tǒng)的可靠性,并有效地實(shí)現(xiàn)任務(wù)間的相互通信,當(dāng)應(yīng)用程序處理的任務(wù)較多,尤其要求同時(shí)執(zhí)行兩個(gè)以上的工作和任務(wù)時(shí),在軟件設(shè)計(jì)中引入實(shí)時(shí)多任務(wù)操作系統(tǒng)(RealTimeOperatingSystem,RTOS)將非常必要。提倡在嵌入式應(yīng)用中使用RTOS的最主要原因是提高系統(tǒng)的可靠性。長期以來,在國內(nèi)傳統(tǒng)的開發(fā)方式是:針對(duì)某一應(yīng)用,畫程序流程圖、編制應(yīng)用程序。通常是線性程序,此機(jī)制的優(yōu)勢(shì)在于流程直觀。這種方法的缺點(diǎn)是:除中斷效勞程序以外,各程序模塊沒有優(yōu)先級(jí)的區(qū)別,被主循環(huán)簡(jiǎn)單地輪轉(zhuǎn)調(diào)用,實(shí)時(shí)性差,響應(yīng)時(shí)間無法預(yù)料;而且,當(dāng)一個(gè)任務(wù)申請(qǐng)不到資源,或循環(huán)過程中由于某種原因無法跳出循環(huán)時(shí),其他任務(wù)將得不到響應(yīng),當(dāng)程序很小時(shí),雖然可通過設(shè)置Watchdog,利用中斷等方法來解決上述矛盾。如果程序變得較大,將大大增加開發(fā)時(shí)間和調(diào)試難度,復(fù)雜度不堪想象。正是上述的缺點(diǎn),在干擾嚴(yán)重的情況下,系統(tǒng)平安性差。另一重要原因是提高開發(fā)效率,縮短開發(fā)周期。系統(tǒng)中引入RTOS之后,有RTOS完成任務(wù)管理、任務(wù)間通信、中斷管理等功能。嵌入式系統(tǒng)中的多任務(wù)操作系統(tǒng)在應(yīng)用系統(tǒng)啟動(dòng)后,首先運(yùn)行的是背景程序,用戶的應(yīng)用程序是運(yùn)行于其上的各個(gè)具體任務(wù),多任務(wù)操作系統(tǒng)允許靈活地分配系統(tǒng)資源〔中央處理器、存儲(chǔ)器等等〕給各個(gè)任務(wù),各程序模塊〔或者任務(wù)〕就如同中斷程序一樣并行運(yùn)行,這樣就可以簡(jiǎn)化那些復(fù)雜而且時(shí)間要求嚴(yán)格的工程的軟件設(shè)計(jì),同時(shí)也提高了可靠性。目前較流行的嵌入式實(shí)時(shí)多任務(wù)操作系統(tǒng)國外主要有VxWorks、QNX、pSOS、WindowsCE等。另外,國內(nèi)也有許多自主開發(fā)的實(shí)時(shí)操作系統(tǒng),如科銀京成〔CoreTek〕公司的嵌入式軟件開發(fā)平臺(tái)DeltaSystem,中科院推出的Hopen嵌入式操作系統(tǒng),浙江大學(xué)自主研制開發(fā)的全中文的嵌入式操作系統(tǒng)HBOS系統(tǒng)等。這些操作系統(tǒng)性能優(yōu)越,易于移植,但均屬于商業(yè)操作系統(tǒng),需支付昂貴的版稅。另外也有兩個(gè)優(yōu)秀的自由軟件操作系統(tǒng)是μC/OS-II和嵌入式Linux,它們也具有相當(dāng)好的性能,且源代碼開放,免費(fèi)使用,以上這些操作系統(tǒng)大多都有完善的開發(fā)環(huán)境和工具。用戶在進(jìn)行嵌入式系統(tǒng)的設(shè)計(jì)時(shí),根據(jù)具體應(yīng)用和實(shí)際情況,選擇適合自己的實(shí)時(shí)操作系統(tǒng)。1.3課題的實(shí)現(xiàn)〔本課題基于嵌入式系統(tǒng)的開發(fā)及應(yīng)用,利用嵌入式系統(tǒng)的設(shè)計(jì)方法及測(cè)試技術(shù),結(jié)合RTOS的選取原那么,選用了源碼公開的嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS-II,結(jié)合實(shí)際應(yīng)用,設(shè)計(jì)了一個(gè)實(shí)現(xiàn)對(duì)多點(diǎn)溫度進(jìn)行控制的嵌入式系統(tǒng)?!衬壳熬捅惧X而言,在較長的一段時(shí)間,很多測(cè)控應(yīng)用領(lǐng)域,微處理器只需8位或16位單片機(jī)就可勝任,對(duì)于這樣低端的產(chǎn)品開發(fā),要完成較復(fù)雜的任務(wù),可采用微內(nèi)核的多任務(wù)操作系統(tǒng)如μC/OS-II、RTX、CMX等來完成軟件設(shè)計(jì)。在應(yīng)用中,已經(jīng)能夠明顯減少系統(tǒng)的軟件設(shè)計(jì)工作量,并提高了系統(tǒng)的可靠性??紤]到系統(tǒng)實(shí)際應(yīng)用,在硬件設(shè)計(jì)方面,微控制器選用了臺(tái)灣Syncmos公司生產(chǎn)的8位微控制器SM5964,它是80C52微控制器家族的派生產(chǎn)品,其強(qiáng)大的片內(nèi)資源,只需選用少量的外圍器件即可實(shí)現(xiàn)系統(tǒng)的要求。溫度測(cè)量利用Pt〔100Ω〕熱敏電阻,測(cè)量的模擬信號(hào)經(jīng)模數(shù)轉(zhuǎn)換模塊轉(zhuǎn)換后送入微處理進(jìn)行處理。模數(shù)轉(zhuǎn)換器選用凌特公司(LinearTechnology)推出的20位無延遲模數(shù)轉(zhuǎn)換器LTC2430,此模塊可直接對(duì)測(cè)量的毫伏級(jí)信號(hào)進(jìn)行處理,并能夠到達(dá)精度要求。其它也選用了與通信和輸出控制相關(guān)的器件。軟件的設(shè)計(jì)基于軟件開發(fā)平臺(tái)μC/OS-II,它是由Labrosse先生編寫的一個(gè)開放式內(nèi)核,最主要的特點(diǎn)就是源碼公開,此RTOS的更多優(yōu)點(diǎn)在第三章有詳細(xì)論述。一方面它是免費(fèi)的,另一方面用戶可以根據(jù)自己的需要對(duì)它進(jìn)行修改。由于它沒有功能強(qiáng)大的軟件包,基于具體應(yīng)用需要自己編寫驅(qū)動(dòng)程序,為使其能夠正常工作,要根據(jù)具體的硬件平臺(tái)完成相應(yīng)的移植工作。μC/OS-II是一個(gè)占先式的內(nèi)核,即已經(jīng)準(zhǔn)備就緒的高優(yōu)先級(jí)任務(wù)可以剝奪正在運(yùn)行的低優(yōu)先級(jí)任務(wù)的CPU使用權(quán)。這個(gè)特點(diǎn)使得它的實(shí)時(shí)性比非占先式的內(nèi)核要好。在設(shè)計(jì)中,給予不同任務(wù)不同的優(yōu)先級(jí),提高了系統(tǒng)的實(shí)時(shí)性。對(duì)溫度控制方面,采用了一種基于時(shí)間最優(yōu)控制的PID算法實(shí)現(xiàn)對(duì)溫度控制。除了實(shí)現(xiàn)對(duì)溫度的采集、處理、控制之外,本課題一方面利用SM5964的ISP功能,實(shí)現(xiàn)了PC機(jī)利用ISP技術(shù)進(jìn)行對(duì)系統(tǒng)遠(yuǎn)程加載和升級(jí)。另一方面,利用RS232串行通信技術(shù),實(shí)現(xiàn)了PC機(jī)與系統(tǒng)的通信,并可對(duì)系統(tǒng)進(jìn)行遠(yuǎn)程控制。從而實(shí)現(xiàn)了微機(jī)控制系統(tǒng)中主從式控制系統(tǒng)結(jié)構(gòu)。1.4論文的章節(jié)安排論文的結(jié)構(gòu)及內(nèi)容安排如下:概述概述局部由嵌入式系統(tǒng)成為當(dāng)今IT行業(yè)又一熱點(diǎn)開始,結(jié)合當(dāng)前微機(jī)控制領(lǐng)域存在的問題,論述了在此領(lǐng)域引入嵌入式操作系統(tǒng)的必要性,引出課題的意義。最后給出課題的實(shí)現(xiàn)方案。嵌入式系統(tǒng)本章首先對(duì)嵌入式系統(tǒng)的歷史進(jìn)行論述,引出其當(dāng)前的定義,并提出了RTOS所要解決的幾個(gè)問題。然后提出了嵌入式系統(tǒng)的兩大組成局部:嵌入式處理器和嵌入式實(shí)時(shí)操作系統(tǒng),分析了當(dāng)前嵌入式處理器的分類以及當(dāng)前流行嵌入式操作系統(tǒng)的特點(diǎn)。最后論述了嵌入式系統(tǒng)的開發(fā)工具及應(yīng)用狀況,并對(duì)嵌入式系統(tǒng)的未來開展趨勢(shì)加以展望。系統(tǒng)的開發(fā)環(huán)境及相關(guān)技術(shù)本章根據(jù)第二章的論述,結(jié)合課題的需要,首先對(duì)系統(tǒng)選用的主控芯片SM5964的特性進(jìn)行了介紹,并根據(jù)嵌入式操作系統(tǒng)的選取原那么,對(duì)系統(tǒng)選用的RTOSμC/OS-II的特點(diǎn)進(jìn)行了論述。然后根據(jù)系統(tǒng)實(shí)際應(yīng)用介紹了對(duì)實(shí)時(shí)內(nèi)核進(jìn)行的擴(kuò)展。最后,闡述了系統(tǒng)設(shè)計(jì)中使用的嵌入式系統(tǒng)軟/硬件協(xié)同設(shè)計(jì)技術(shù)和測(cè)試技術(shù)。系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)本章中論述了本課題的核心,詳細(xì)論述了實(shí)現(xiàn)對(duì)多點(diǎn)溫度進(jìn)行控制的嵌入式系統(tǒng)的設(shè)計(jì)。從對(duì)系統(tǒng)的硬件設(shè)計(jì)進(jìn)行論述開始,然后完成根據(jù)具體的硬件平臺(tái)進(jìn)行操作系統(tǒng)的移植工作。最后對(duì)系統(tǒng)的軟件設(shè)計(jì)進(jìn)行了詳細(xì)的闡述,在軟件設(shè)計(jì)中,把系統(tǒng)的軟件分成人機(jī)交互、串行通信、溫度的測(cè)量及控制、遠(yuǎn)程加載等四大模塊,并對(duì)每一??斓木唧w實(shí)現(xiàn)進(jìn)行了詳細(xì)論述。PC側(cè)程序的設(shè)計(jì)本章中論述了對(duì)系統(tǒng)進(jìn)行遠(yuǎn)程監(jiān)控和ISP功能主控側(cè)程序的實(shí)現(xiàn),模擬實(shí)現(xiàn)了主從式微機(jī)控制系統(tǒng)主控方的程序設(shè)計(jì)。首先論述了VC++對(duì)多線程的支持以及多線程編程中的關(guān)鍵問題,然后詳細(xì)闡述了主機(jī)側(cè)通信功能和ISP功能的設(shè)計(jì)。系統(tǒng)的擴(kuò)展及總結(jié)本章簡(jiǎn)要介紹了在系統(tǒng)中實(shí)現(xiàn)文件系統(tǒng)和網(wǎng)絡(luò)功能的方法,對(duì)整個(gè)課題給予總結(jié)。第二章嵌入式系統(tǒng)嵌入式系統(tǒng)的開展和應(yīng)用是現(xiàn)代信息社會(huì)的一個(gè)重要特征,已經(jīng)被用于各行各業(yè),也深入地影響到人們的生活和工作,本章較為全面地介紹和研究了嵌入式系統(tǒng)的根本概念和原理,并對(duì)嵌入式系統(tǒng)的開展方向和趨勢(shì)作一定的論述,對(duì)于了解嵌入式系統(tǒng)及其開發(fā)和研究將起到一定的作用。2.1嵌入式系統(tǒng)的根本概念嵌入式系統(tǒng)的歷史雖然嵌入式系統(tǒng)是近幾年才風(fēng)行起來的,但從20世紀(jì)70年代單片機(jī)的出現(xiàn)到今天各式各樣的嵌入式微處理器、微控制器的大規(guī)模應(yīng)用,嵌入式系統(tǒng)已經(jīng)有近30年的開展歷史。作為一個(gè)系統(tǒng),往往是在硬件和軟件雙螺旋式交替開展的支撐下逐漸趨于穩(wěn)定和成熟,嵌入式系統(tǒng)也不例外。嵌入式系統(tǒng)最初的應(yīng)用是基于單片機(jī)的。20世紀(jì)70年代單片機(jī)的出現(xiàn),使得汽車、家電、工業(yè)機(jī)器、通信裝置以及成千上萬種產(chǎn)品可以通過內(nèi)嵌電子裝置來獲得更佳的使用性能,更容易使用,更快、更廉價(jià)。這些裝置已經(jīng)初步具備嵌入式的應(yīng)用特點(diǎn),但是這時(shí)的應(yīng)用只是使用8位的芯片,執(zhí)行一些單線程的程序,還談不上“系統(tǒng)〞的概念。從80年代早期開始,嵌入式系統(tǒng)的程序員開始用商業(yè)級(jí)的“操作系統(tǒng)〞編寫嵌入式應(yīng)用軟件,這使得開發(fā)人員可以進(jìn)一步縮短開發(fā)周期,降低開發(fā)本錢并提高開發(fā)效率。1981年,ReadySystem開發(fā)出世界上第一個(gè)商業(yè)嵌入式實(shí)時(shí)內(nèi)核〔VTRX32〕。這個(gè)實(shí)時(shí)內(nèi)核包含了許多傳統(tǒng)操作系統(tǒng)的特征,包括任務(wù)管理、任務(wù)間通信、同步與相互排斥、中斷支持、內(nèi)存管理、時(shí)鐘管理等功能。如IntegratedSystemIncorporation(ISI)(現(xiàn)已被風(fēng)河公司收購)的pSOS和WindRiver(風(fēng)河)的VxWorks、QNX公司的QNX等。這些嵌入式操作系統(tǒng)都具有嵌入式的典型特點(diǎn):系統(tǒng)內(nèi)核很小,具有可裁減性、可擴(kuò)充性和可移植性,可以移植到各種處理器上;較強(qiáng)的實(shí)時(shí)性和可靠性,適合嵌入式應(yīng)用。這些嵌入式實(shí)時(shí)多任務(wù)操作系統(tǒng)的出現(xiàn),使得應(yīng)用開發(fā)人員從小范圍的開發(fā)中解放出來,同時(shí)也促使嵌入式有了更為廣闊的應(yīng)用空間。90年代以后,隨著對(duì)實(shí)時(shí)性要求的提高,軟件規(guī)模不斷上升,實(shí)時(shí)內(nèi)核逐漸開展為實(shí)時(shí)多任務(wù)操作系統(tǒng)〔RTOS〕,并作為一種軟件平臺(tái)逐步成為目前國際嵌入式系統(tǒng)的主流。這時(shí)候更多的公司看到了嵌入式系統(tǒng)的廣闊開展前景,開始大力開展自己的嵌入式操作系統(tǒng)。除了上面的幾家老牌公司以外,還出現(xiàn)了PalmOS、WindowsCE、嵌入式Linux、Lynx、Nucleus以及國內(nèi)的Hopen、DeltaOS等嵌入式操作系統(tǒng)。隨著嵌入式技術(shù)的開展前景日益廣闊,嵌入式操作系統(tǒng)軟越來越多?,F(xiàn)在RTOS已經(jīng)在全球形成了1個(gè)產(chǎn)業(yè),更具美國EMF(電子市場(chǎng)分析)報(bào)告,1999年全球RTOS市場(chǎng)產(chǎn)值達(dá)3.6億美元,而相關(guān)的整個(gè)嵌入式開發(fā)工具〔包括仿真器、邏輯分析儀、軟件編譯器和調(diào)試器〕那么高達(dá)9億美元。何為嵌入式系統(tǒng)隨著嵌入式技術(shù)的開展和應(yīng)用,出現(xiàn)了不同的嵌入式系統(tǒng)的定義,目前國內(nèi)一個(gè)普遍被認(rèn)同的定義是:以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為根底,軟硬件可裁減,適應(yīng)應(yīng)用系統(tǒng)對(duì)功能、可靠性、本錢、體積、功耗嚴(yán)格要求的計(jì)算機(jī)系統(tǒng)??梢詮囊韵聨讉€(gè)方面來理解國內(nèi)對(duì)嵌入式系統(tǒng)的定義:嵌入式系統(tǒng)式面向用戶、面向產(chǎn)品、面向應(yīng)用的,它必須與具體的應(yīng)用相結(jié)合才會(huì)具有生命力、才具有優(yōu)勢(shì)。即嵌入式系統(tǒng)是與應(yīng)用緊密結(jié)合的,它具有很強(qiáng)的專用性,必須結(jié)合實(shí)際系統(tǒng)需求進(jìn)行合理的裁減利用。嵌入是系統(tǒng)式將先進(jìn)的計(jì)算機(jī)技術(shù)、半導(dǎo)體技術(shù)和電子技術(shù)以及各個(gè)行業(yè)的具體應(yīng)用相結(jié)合后的產(chǎn)物。這一點(diǎn)就決定了它必然是一個(gè)技術(shù)密集、資金密集、高度分散、不斷創(chuàng)新的知識(shí)集成系統(tǒng)。所以,介入嵌入式系統(tǒng)的行業(yè),必須有一個(gè)正確的定位。例如PalmOS之所以在PDA領(lǐng)域占有70%以上的市場(chǎng),就是因?yàn)槠淞⒆阌趥€(gè)人電子消費(fèi)品,著重開展圖形界面和多任務(wù)管理;而風(fēng)河〔WindRiver〕的VxWorks之所以在火星車上得以應(yīng)用,那么是因?yàn)槠涓邔?shí)時(shí)性和高可靠性。3.嵌入式系統(tǒng)必須根據(jù)應(yīng)用需求可對(duì)軟硬件進(jìn)行裁減,滿足應(yīng)用系統(tǒng)的功能、可靠性、本錢、體積等要求。所以,如果能建立相對(duì)通用的軟硬件根底,然后在其上開發(fā)出適應(yīng)各種需要的系統(tǒng),是一個(gè)比擬好的開發(fā)模式。目前,國內(nèi)外有很多微內(nèi)核大小不等的嵌入式操作系統(tǒng),可以根據(jù)實(shí)際的使用進(jìn)行功能擴(kuò)展或者裁減,從而加速嵌入式系統(tǒng)的開發(fā)?,F(xiàn)在當(dāng)講到嵌入式系統(tǒng)時(shí),一般是指近年來比擬熱的具有操作系統(tǒng)的嵌入式系統(tǒng)。其根本結(jié)構(gòu)如圖1所示。嵌入式實(shí)時(shí)應(yīng)用程序嵌入式實(shí)時(shí)應(yīng)用程序嵌入式實(shí)時(shí)操作系統(tǒng)硬件平臺(tái)應(yīng)用程序與操作系統(tǒng)的接口操作系統(tǒng)與硬件接口圖1嵌入式系統(tǒng)的根本結(jié)構(gòu)嵌入式實(shí)時(shí)操作系統(tǒng)實(shí)時(shí)操作系統(tǒng)〔RealTimeOperatingSystem,RTOS〕是根據(jù)操作系統(tǒng)的工作特性而言的,是指具有實(shí)時(shí)性,能支持實(shí)時(shí)控制系統(tǒng)工作的操作系統(tǒng)。它的首要任務(wù)是調(diào)度一切可利用的資源完成實(shí)時(shí)控制任務(wù),提高可靠性,其次才著眼于提高系統(tǒng)的使用效率,要滿足對(duì)時(shí)間的限制和要求。RTOS是嵌入式應(yīng)用軟件的根底和開發(fā)平臺(tái),它應(yīng)具有如下的功能:1).任務(wù)管理〔多任務(wù)和基于優(yōu)先級(jí)的任務(wù)調(diào)度〕;2).任務(wù)間的同步和通信〔信號(hào)量、郵箱和消息隊(duì)列〕;3).存儲(chǔ)器優(yōu)化管理〔含ROM的管理〕4).實(shí)時(shí)時(shí)鐘效勞5).中斷管理效勞實(shí)時(shí)操作系統(tǒng)中的任務(wù)〔Task〕等同于分實(shí)操作系統(tǒng)中的進(jìn)程〔Process〕的概念。系統(tǒng)中的任務(wù)有四種狀態(tài):運(yùn)行〔Executing〕、就緒〔Ready〕、掛起〔Suspended〕、睡眠〔Dormant〕。運(yùn)行:獲得CPU控制權(quán);就緒:進(jìn)入任務(wù)等待隊(duì)列,通過調(diào)度轉(zhuǎn)為運(yùn)行狀態(tài);掛起:任務(wù)發(fā)生阻塞,從任務(wù)等待隊(duì)列中移出,等待系統(tǒng)實(shí)時(shí)事件的發(fā)生而喚醒,從而轉(zhuǎn)為就緒或運(yùn)行狀態(tài);睡眠:任務(wù)完成或者錯(cuò)誤等原因被刪除的任務(wù)。在任意時(shí)刻,只有一個(gè)任務(wù)處于運(yùn)行狀態(tài)。RTOS是操作系統(tǒng)研究的一個(gè)重要分支,它與一般商用多任務(wù)OS如Unix、Windows等有共同的一面,也有不同的一面。對(duì)商用多任務(wù)OS,其目的是方便用戶管理計(jì)算機(jī)資源,追求系統(tǒng)資源最大利用率;而RTOS追求的是調(diào)度的實(shí)時(shí)性、時(shí)間響應(yīng)時(shí)間的可確定性、系統(tǒng)的高度可靠性。評(píng)價(jià)一個(gè)實(shí)時(shí)操作系統(tǒng)一般可以從任務(wù)調(diào)度、內(nèi)存管理、任務(wù)通訊、內(nèi)存開銷、任務(wù)切換時(shí)間、最大中斷禁止時(shí)間等幾個(gè)方面來衡量。因此,RTOS要解決的幾個(gè)主要問題如下:=1\*GB2⑴任務(wù)調(diào)度機(jī)制:RTOS的實(shí)時(shí)性和多任務(wù)能力在很大程度上取決于它的任務(wù)調(diào)度機(jī)制。從調(diào)度策略上來講,分優(yōu)先級(jí)調(diào)度策略和時(shí)間片輪轉(zhuǎn)調(diào)度策略;從調(diào)度方式上來講,分可搶占、不可搶占、選擇可搶占調(diào)度方式;從時(shí)間片上來看,分固定與可變時(shí)間片輪轉(zhuǎn)。單純從基于優(yōu)先級(jí)的搶占式調(diào)度方式而言,又存在多種優(yōu)先級(jí)計(jì)算方法。在大多數(shù)商用的實(shí)時(shí)系統(tǒng)中,為了讓操作系統(tǒng)能夠在有突發(fā)事件時(shí),迅速取得系統(tǒng)控制權(quán)以便對(duì)時(shí)間作出反響,所以大都提供了“搶占式任務(wù)調(diào)度〞的功能,也就是操作系統(tǒng)有權(quán)終止應(yīng)用程序〔應(yīng)用任務(wù)〕的執(zhí)行,并且將執(zhí)行權(quán)交給擁有最高優(yōu)先級(jí)的任務(wù)。=2\*GB2⑵內(nèi)存管理如同分時(shí)操作系統(tǒng)一樣,實(shí)時(shí)操作系統(tǒng)使用內(nèi)存管理單元〔MMU〕進(jìn)行內(nèi)存管理。實(shí)時(shí)操作系統(tǒng)內(nèi)存管理模式可以分為實(shí)模式與保護(hù)模式〔主要對(duì)Intelx86而言〕。目前主流的實(shí)時(shí)操作系統(tǒng)一般都可以提供兩種模式,讓用戶根據(jù)應(yīng)用自主選擇。=3\*GB2⑶最小內(nèi)存開銷RTOS的設(shè)計(jì)過程中,最小內(nèi)存開銷是一個(gè)較重要的指標(biāo),這是因?yàn)樵诠I(yè)控制領(lǐng)域中的某些工控機(jī)〔如上下位機(jī)控制系統(tǒng)中的下位機(jī)〕,由于基于降低本錢的考慮,其內(nèi)存的配置一般都不大,而在這有限的空間內(nèi)不僅要裝載實(shí)時(shí)操作系統(tǒng),還要裝載用戶程序。因此,在RTOS的設(shè)計(jì)中,其占用內(nèi)存大小是一個(gè)很重要的指標(biāo),這是RTOS設(shè)計(jì)與其它操作系統(tǒng)設(shè)計(jì)的明顯區(qū)別之一。=4\*GB2⑷最大中斷禁止時(shí)間與中斷延遲時(shí)間當(dāng)RTOS運(yùn)行在核心態(tài)或執(zhí)行某些系統(tǒng)調(diào)用的時(shí)候,是不會(huì)因?yàn)橥獠恐袛嗟牡絹矶袛鄨?zhí)行的。只用當(dāng)RTOS重新回到用戶態(tài)才響應(yīng)外部中斷請(qǐng)求,這一過程所需要的最大時(shí)間就是最大中斷禁止時(shí)間。中斷延遲〔InterruptLatency〕時(shí)間是指系統(tǒng)確認(rèn)中斷開始直到執(zhí)行中斷效勞程序的第一條指令為止整個(gè)處理過程所需要的時(shí)間。實(shí)時(shí)操作系統(tǒng)的中斷延遲時(shí)間有以下三個(gè)因素決定:處理器硬件電路的延遲時(shí)間,通常這個(gè)時(shí)間可以忽略;實(shí)時(shí)操作系統(tǒng)處理中斷并將控制權(quán)轉(zhuǎn)移給相關(guān)處理程序所需要的時(shí)間;實(shí)時(shí)操作系統(tǒng)的中斷禁止時(shí)間。=5\*GB2⑸任務(wù)切換時(shí)間(Context-SwitchingTime)當(dāng)由于某種原因使一個(gè)任務(wù)退出運(yùn)行時(shí),RTOS保存它的運(yùn)行現(xiàn)場(chǎng)信息、插入相應(yīng)隊(duì)列、并根據(jù)一定的調(diào)度算法重新選擇一個(gè)新任務(wù)使之投入運(yùn)行,這一過程所需時(shí)間稱為任務(wù)切換時(shí)間。更準(zhǔn)確地說,任務(wù)切換時(shí)間是實(shí)時(shí)操作系統(tǒng)將控制權(quán)從一個(gè)任務(wù)的執(zhí)行中取回,然后交給另一個(gè)任務(wù)所需的時(shí)間。它包括保存目前正在執(zhí)行任務(wù)的現(xiàn)場(chǎng)信息所需要的時(shí)間、RTOS決定下一個(gè)調(diào)度任務(wù)所需的調(diào)度時(shí)間以及RTOS把另外一個(gè)任務(wù)調(diào)入系統(tǒng)執(zhí)行所需要的時(shí)間。在上述幾項(xiàng)中,最大中斷禁止時(shí)間和任務(wù)切換時(shí)間是評(píng)價(jià)一個(gè)RTOS實(shí)時(shí)性最重要的兩個(gè)技術(shù)指標(biāo)。2.2嵌入式系統(tǒng)的組成一個(gè)嵌入式系統(tǒng)是一個(gè)有特定功能或用途的計(jì)算機(jī)軟硬件的集合體,其硬件的核心部件是嵌入式處理器,包括微控制器〔MCU〕、數(shù)字信號(hào)處理器〔DSP〕、嵌入式微處理器〔MPU〕、嵌入式片上系統(tǒng)〔SystemOnChip〕等。而軟件的核心部件式嵌入式操作系統(tǒng),目前流行的嵌入式操作系統(tǒng)有VxWorks、pSOS、QNX、WindowsCE、PalmOS、QNX、Linux等。嵌入式處理器目前據(jù)不完全統(tǒng)計(jì),全世界嵌入式處理器的品種總量已經(jīng)超過1000多種,流行的體系結(jié)構(gòu)有30多個(gè)系列?,F(xiàn)在幾乎每個(gè)半導(dǎo)體制造商都生產(chǎn)嵌入式處理器,根據(jù)其現(xiàn)狀,大致分為以下幾類:1).嵌入式微處理器〔EmbeddedMicroprocessorUnit,EMPU〕嵌入式處理器的根底是通用CPU,在應(yīng)用中,將微處理器裝配在專門設(shè)計(jì)的電路板上,只保存和嵌入式應(yīng)應(yīng)用有關(guān)的母板功能,這樣可以大幅度減少系統(tǒng)體積和功耗。為了滿足嵌入式應(yīng)用的特殊要求,嵌入式微處理器具有體積小、重量輕、本錢低、可靠性高等優(yōu)點(diǎn),但是設(shè)計(jì)中需外加ROM、RAM、總線接口、各種外設(shè)等器件,從而降低了系統(tǒng)的可靠性,技術(shù)保密性也較差。嵌入式處理器目前主要有Aml86/88、386EX、SC-400、PowerPC、68000、MIPS、ARM系列等。2).嵌入式微控制器〔MicrocontrollerUnit,MCU〕嵌入式微控制器又稱單片機(jī),顧名思義,就是將整個(gè)計(jì)算機(jī)系統(tǒng)集成到一片芯片中。嵌入式微控制器一般以某種微處理器內(nèi)核為核心,芯片內(nèi)部集成ROM/EPROM、RAM、總線、總線邏輯、定時(shí)/計(jì)數(shù)器、WatchDog、I/O、串行口、脈沖調(diào)制輸出、A/D、D/A、Flash等各種必要功能和外設(shè)。和嵌入式微處理器相比,微控制器的最大特點(diǎn)是單片化,體積大大減少,從而使功耗和本錢下降、可靠性提高。嵌入式微控制器是目前嵌入式系統(tǒng)工業(yè)的主流。微控制器的片上外設(shè)資源一般比擬豐富,適合于控制,故稱為微控制器。嵌入式微控制器目前的品種和數(shù)量最多,比擬有代表性的通用系列有8051、P51XA、MCS-251/96、MC68HC05/11/16、68300等,3).嵌入式DSP處理器〔EmbeddedDigitalSignalProcessor,EDSP〕DSP處理器對(duì)系統(tǒng)結(jié)構(gòu)和指令進(jìn)行了特殊設(shè)計(jì),使其適合于執(zhí)行DSP算法,編譯效率較高,指令執(zhí)行速度快。在數(shù)字濾波、FFT、譜分析等方面DSP算法正大量進(jìn)入嵌入式領(lǐng)域,DSP應(yīng)用正從在單片機(jī)中以普通指令實(shí)現(xiàn)DSP功能,過渡到采用嵌入式DSP處理器。嵌入式DSP處理器有兩個(gè)開展來源,一是DSP處理器經(jīng)過單片化、EMC改造、增加片上外設(shè)稱為嵌入式DSP處理器;二是在通用單片機(jī)或SOC中增加DSP協(xié)處理器。目前嵌入式DSP處理器比擬有代表性的產(chǎn)品是TexasInstruments的TMS320系列和Motorola的DSP56000系列。4).嵌入式片上系統(tǒng)〔SystemOnChip,SOC〕隨著EDI的推廣、VLSI設(shè)計(jì)的普及以及半導(dǎo)體工藝的迅速開展,可以結(jié)合許多功能區(qū)塊,將功能做在一個(gè)芯片上而構(gòu)成一個(gè)更為復(fù)雜的系統(tǒng),這就是SOC。它結(jié)合了微內(nèi)核,像ARMRISC、MIPSRISC、DSP或是其它的微處理器核心,外加通信接口單元,像USB、TCP/IP通信單元、GPRS通信接口、GSM通信接口、藍(lán)牙模塊等等。這樣開發(fā)的應(yīng)用系統(tǒng)電路板變得很簡(jiǎn)潔,對(duì)于減小體積和功耗、提高可靠性非常有利。SOC分為通用和專用兩類,通用系列包括Siemens的TriCore,Motorola的M-Core,某些ARM系列器件。專用SOC一般專用于某個(gè)或某類系統(tǒng)中,一個(gè)有代表性的產(chǎn)品是Philips的SmartXA,它將XA單片機(jī)內(nèi)核和支持超過2048位復(fù)雜RSA算法的CCU單元制作在一塊硅片上,形成一個(gè)可加載JAVA或者C語言的專用SOC,可用于公眾互聯(lián)網(wǎng)如Internet平安方面。嵌入式操作系統(tǒng)嵌入式操作系統(tǒng)并不是一個(gè)新生的事物,從20世紀(jì)80年代起,國際上就有一些IT組織、公司開始進(jìn)行商用嵌入式操作系統(tǒng)和專用操作系統(tǒng)的研究,它作為嵌入式系統(tǒng)靈魂,大大提高了嵌入式系統(tǒng)的開發(fā)效率,一改以往嵌入式軟件設(shè)計(jì)只能針對(duì)具體的應(yīng)用從頭做起的歷史。在嵌入式操作系統(tǒng)之上開發(fā)嵌入式系統(tǒng)將減少系統(tǒng)開發(fā)的工作量,增強(qiáng)了嵌入式應(yīng)用軟件的可移植性,使嵌入式系統(tǒng)的開發(fā)方法更具科學(xué)性,可以說嵌入式操作系統(tǒng)的出現(xiàn)為嵌入式系統(tǒng)的開展鋪平了道路。嵌入式操作系統(tǒng)是一段在嵌入式系統(tǒng)啟動(dòng)后首先執(zhí)行的背景程序,用戶的應(yīng)用程序是運(yùn)行于其上的各個(gè)任務(wù),它根據(jù)各個(gè)任務(wù)的要求,進(jìn)行資源〔包括存儲(chǔ)器、外設(shè)等〕管理、消息管理、任務(wù)調(diào)度、異常處理等工作。在有嵌入式操作系統(tǒng)支持的系統(tǒng)中,每個(gè)任務(wù)有一個(gè)優(yōu)先級(jí),根據(jù)各個(gè)任務(wù)的優(yōu)先級(jí),動(dòng)態(tài)地切換各個(gè)任務(wù),保證對(duì)實(shí)時(shí)性的要求。開發(fā)人員在編寫程序時(shí),可以分別編寫各個(gè)任務(wù),不必同時(shí)將所有任務(wù)運(yùn)行的各種可能情況記在心中,這樣大大減少了程序編寫的工作量,而且減少了出錯(cuò)的可能,保證最終程序具有高可靠性。經(jīng)過多年的開展,目前世界上已經(jīng)有一大批十分成熟的實(shí)時(shí)嵌入式操作系統(tǒng),比擬流行的嵌入式操作系統(tǒng)如下:=1\*GB2⑴VxWorksVxWorks操作系統(tǒng)是美國WindRiver公司于1983年設(shè)計(jì)開發(fā)的一種實(shí)時(shí)嵌入式操作系統(tǒng)〔RTOS〕,由于具有高性能的系統(tǒng)內(nèi)核和友好的用戶開發(fā)環(huán)境,在實(shí)時(shí)嵌入式系統(tǒng)領(lǐng)域牢牢占據(jù)著一席之地。如美國JPL實(shí)驗(yàn)室研制的著名“索杰納〞火星車采用的就是VxWorks操作系統(tǒng)。VxWorks的突出特點(diǎn):可靠性、實(shí)時(shí)性和可裁減性。它是目前嵌入式系統(tǒng)領(lǐng)域中使用最廣泛、市場(chǎng)占有率最高的操作系統(tǒng)。它支持多種處理器,如x86、i960、SunSparc、MotorolaMc68xxx、MIPSRX000、PowerPC等。大多數(shù)的VxWorksAPI是專有的,采用GNU的編譯和調(diào)試器,具有集成開發(fā)環(huán)境Tornado系列。它屬于商業(yè)型操作系統(tǒng),目前國內(nèi)很多大的公司都采用此操作系統(tǒng)進(jìn)行嵌入式系統(tǒng)的開發(fā),如中興通訊、華為等。=2\*GB2⑵pSOSpSOS原屬ISI公司的產(chǎn)品,但I(xiàn)SI已經(jīng)被WindRiver公司兼并,現(xiàn)在pSOS屬于WindRiver公司的產(chǎn)品。該系統(tǒng)是一個(gè)模塊化、高性能的實(shí)時(shí)操作系統(tǒng),專為嵌入式微處理器設(shè)計(jì),提供一個(gè)完全的多任務(wù)環(huán)境,在定制的或者商業(yè)化的硬件上具有高性能和高可靠性,可以讓開發(fā)者根據(jù)操作系統(tǒng)的功能和內(nèi)存需求定制每一個(gè)應(yīng)用所需的系統(tǒng)。開發(fā)者可以利用它來實(shí)現(xiàn)從簡(jiǎn)單的單個(gè)獨(dú)立設(shè)備到復(fù)雜的、網(wǎng)絡(luò)化的多處理器系統(tǒng)。=3\*GB2⑶WindowsEmbeddedWindowsEmbedded產(chǎn)品家族是Microsoft的產(chǎn)品,主要是用于建立支持具有豐富應(yīng)用程序和效勞的32嵌入時(shí)系統(tǒng),從而針對(duì)廣泛的用戶需求提供靈活解決方案。此外,同支持更快的“產(chǎn)品上市速度〞并降低開發(fā)本錢,WindowsEmbedded產(chǎn)品家族還能保證開發(fā)人員立于競(jìng)爭(zhēng)前沿。目前WindowsEmbedded產(chǎn)品家族主要有WindowsCE3.0和WindowsNTEmbedded4.0。=4\*GB2⑷PalmOSPalmOS是著名的網(wǎng)絡(luò)設(shè)備制造商3COM旗下的PalmComputing掌上電腦公司的產(chǎn)品,在PDA市場(chǎng)上占有很大的市場(chǎng)份額。它具有開放的操作系統(tǒng)應(yīng)用程序接口〔API〕,開發(fā)商可以根據(jù)需要自行開發(fā)所需要的應(yīng)用程序。從全球范圍來看,由于Handspring公司和SONY公司也被授權(quán)使用PalmOS操作系統(tǒng),致使PalmOS的市場(chǎng)份額占到將近90%。PalmOS的優(yōu)勢(shì)在于可以讓用戶靈活方便地定制操作系統(tǒng)以適合自己的習(xí)慣,而且其市場(chǎng)運(yùn)作經(jīng)驗(yàn)豐富,資本雄厚,目前也正在通過第三方軟件商進(jìn)行軟件的中文化工作。=5\*GB2⑸OS-9Microwave的OS-9是為微處理器關(guān)鍵實(shí)時(shí)任務(wù)而設(shè)計(jì)的操作系統(tǒng),廣泛應(yīng)用于高科技產(chǎn)品中,包括消費(fèi)電子產(chǎn)品、工業(yè)自動(dòng)化、無線通信產(chǎn)品、醫(yī)療儀器、數(shù)字電視/多媒體設(shè)備。它提供了很好的平安性和容錯(cuò)性。與其它的嵌入式系統(tǒng)相比,它的靈活性和可升級(jí)性非常突出。=6\*GB2⑹LynxOS.1c標(biāo)準(zhǔn)。LynxOS支持線程的概念,提供256個(gè)全局用戶線程優(yōu)先級(jí);提供一些傳統(tǒng)的、非實(shí)時(shí)系統(tǒng)的效勞特性,包括基于調(diào)用需求的虛擬內(nèi)存、一個(gè)基于Motif的用戶圖形界面、與工業(yè)標(biāo)準(zhǔn)兼容的網(wǎng)絡(luò)系統(tǒng)以及應(yīng)用開發(fā)工具。=7\*GB2⑺QNXQNX是加拿大QNX公司的產(chǎn)品。QNX是在x86體系上開發(fā)出來的,這和別的RTOS不太一樣,別的大多RTOS都是從68K的CPU上開發(fā)成熟,然后再移植到x86體系上來的,但是QNX是直接在x86上面開發(fā),只是近年才在68K等CPU上使用。QNX是一個(gè)實(shí)時(shí)的、可擴(kuò)充的操作系統(tǒng),它局部遵循PosIX相關(guān)標(biāo)準(zhǔn),如PosIX.1b實(shí)時(shí)擴(kuò)展。它提供了一個(gè)很小的微內(nèi)核以及一些可選的配合進(jìn)程。其內(nèi)核僅提供4種效勞:進(jìn)程調(diào)度、進(jìn)程間通信、底層網(wǎng)絡(luò)通信和中斷處理。其進(jìn)程在獨(dú)立的地址空間運(yùn)行。所有其它OS效勞,都表達(dá)為協(xié)作的用戶進(jìn)程,因此QNX內(nèi)核非常小巧〔QNX4.x大約為12KB〕,而且運(yùn)行速度極快。這個(gè)靈活的結(jié)構(gòu)可以使用戶根據(jù)實(shí)際的需求,將系統(tǒng)配置成微小的嵌入式操作系統(tǒng)或者包括幾百個(gè)處理器的超級(jí)虛擬機(jī)操作系統(tǒng)。由于QNX具有強(qiáng)大的圖形界面功能,因此很適合作為機(jī)頂盒、手持設(shè)備〔掌上電腦、〕、GPS設(shè)備的實(shí)時(shí)操作系統(tǒng)使用。=8\*GB2⑻嵌入式Linux自由免費(fèi)軟件Linux的出現(xiàn)對(duì)目前商用嵌入式操作系統(tǒng)帶來了沖擊。它可以移植到多個(gè)有不同結(jié)構(gòu)的CPU和硬件平臺(tái)上,具有很好的穩(wěn)定性、各種性能的升級(jí)能力強(qiáng),而且開發(fā)更容易。國際上許多大型跨國企業(yè),已經(jīng)選中了Linux操作系統(tǒng)作為開發(fā)嵌入式產(chǎn)品的工具。如韓國三星公司、美國Transmeta公司等。國內(nèi)也有很多廠家推出了基于Linux的嵌入式系統(tǒng),如中科紅旗軟件技術(shù)既開發(fā)了嵌入式Linux系統(tǒng)根本開發(fā)平臺(tái),有提供了可供裁減的嵌入式Linux圖形用戶界面、窗口系統(tǒng)和網(wǎng)絡(luò)瀏覽器,并與其它廠商合作開發(fā)了許多產(chǎn)品,包括PDA、機(jī)頂盒、彩票機(jī)等。=9\*GB2⑼μC/OS-IIμC/OS-II是源代碼公開的實(shí)時(shí)嵌入式內(nèi)核,是由美國人JeanJ.Labrosse撰寫,其性能完全可以與商業(yè)產(chǎn)品競(jìng)爭(zhēng)。它是基于μC/OS的,在1992年以來已經(jīng)有很多成功的商業(yè)應(yīng)用。它可在絕大多數(shù)8位、16位、32位甚至64位微處理器、微控制器、數(shù)字信號(hào)處理器〔DSP〕上運(yùn)行。鑒于它的很多的優(yōu)點(diǎn),我在系統(tǒng)設(shè)計(jì)中選用了此操作系統(tǒng),關(guān)于它的更詳細(xì)的信息將在第下一章中論述。另外,國內(nèi)也有許多自主開發(fā)的實(shí)時(shí)操作系統(tǒng),如科銀京成〔CoreTek〕公司的嵌入式軟件開發(fā)平臺(tái)DeltaSystem,中科院推出的Hopen嵌入式操作系統(tǒng),浙江大學(xué)自主研制開發(fā)的全中文的嵌入式操作系統(tǒng)HBOS系統(tǒng)等。面對(duì)如此眾多的嵌入式操作系統(tǒng),嵌入式開發(fā)人員要根據(jù)自己的實(shí)際應(yīng)用,進(jìn)行合理的選擇。進(jìn)行選擇時(shí),一般主要考慮以下幾個(gè)方面:=1\*GB2⑴操作系統(tǒng)的硬件支持這主要從兩個(gè)方面考慮:是否支持目標(biāo)硬件平臺(tái);可移植性;=2\*GB2⑵開發(fā)工具的支持程度選擇實(shí)時(shí)操作系統(tǒng)時(shí),要考慮與之相關(guān)的工具。微處理器、在線仿真器〔ICE〕、編譯器、匯編器、連接器、調(diào)試器以及模擬器等都不同程度影響著操作系統(tǒng)。=3\*GB2⑶能否滿足應(yīng)用需求主要考慮以下幾個(gè)方面:對(duì)操作系統(tǒng)性能的要求:內(nèi)核存儲(chǔ)空間要求、網(wǎng)絡(luò)化支持等;中文內(nèi)核支持,國內(nèi)產(chǎn)品要考慮對(duì)中文的支持;標(biāo)準(zhǔn)兼容性,要考慮應(yīng)用行業(yè)的標(biāo)準(zhǔn)性;技術(shù)支持,購置RTOS之后,還需要技術(shù)支持,要考慮供給商的技術(shù)支持渠道及時(shí)間性等;源代碼還是目標(biāo)碼;許可,獲得RTOS使用許可進(jìn)行開發(fā)產(chǎn)品時(shí),要考慮供給商的收費(fèi)方式。如果考慮了以上的各種因素之后,找不到適宜的實(shí)時(shí)操作系統(tǒng),可以自建一個(gè)。自建實(shí)時(shí)操作系統(tǒng)有兩種方式,一種是完全從內(nèi)核開始,寫自己的RTOS,這對(duì)于一般的用戶和開發(fā)人員而言,是不可想象的。另一種就是在免費(fèi)的源代碼公開的內(nèi)核上寫自己的RTOS,如Linux和μC/OS-II。2.3嵌入式系統(tǒng)的開發(fā)嵌入式系統(tǒng)的開發(fā)包括嵌入式處理器的開發(fā)〔目前國內(nèi)還主要靠國外的產(chǎn)品〕和嵌入式操作系統(tǒng)以及相關(guān)的應(yīng)用軟件的開發(fā)。嵌入式處理器是一個(gè)復(fù)雜系統(tǒng),要在短時(shí)間內(nèi)掌握并開發(fā)出所有功能是不現(xiàn)實(shí)的,而市場(chǎng)競(jìng)爭(zhēng)那么要求產(chǎn)品能夠快速上市,這一矛盾要求嵌入式處理器能夠有容易掌握和使用的開發(fā)工具平臺(tái),提高用戶和程序員的時(shí)間投入回報(bào)。面對(duì)成百上千種處理器,選擇是一個(gè)問題,學(xué)習(xí)掌握處理器結(jié)構(gòu)及其應(yīng)用更需要時(shí)間,因此以開發(fā)工具和技術(shù)咨詢?yōu)楦椎恼w解決方案是迫切需要的。目前嵌入式系統(tǒng)的開發(fā)工具平臺(tái)主要包括以下幾種:1).實(shí)時(shí)在線仿真系統(tǒng)ICE(In-CircuitEmulator)實(shí)時(shí)在線仿真系統(tǒng)〔ICE〕是進(jìn)行嵌入式應(yīng)用系統(tǒng)調(diào)試最有效的開發(fā)工具。ICE首先可以通過實(shí)際執(zhí)行,對(duì)應(yīng)用程序進(jìn)行原理性檢驗(yàn),排除人的思維難以發(fā)現(xiàn)的設(shè)計(jì)邏輯錯(cuò)誤。另一主要功能是在應(yīng)用系統(tǒng)中仿真微控制器的實(shí)時(shí)執(zhí)行,發(fā)現(xiàn)和排除由于硬件干擾等引起的異常執(zhí)行行為。2).高級(jí)語言編譯器〔CompilerTools〕C語言作為一種通用的高級(jí)語言,大幅度提高了嵌入式系統(tǒng)工程師的工作效率,使之能夠充分發(fā)揮出嵌入式處理器日益提高的性能,縮短產(chǎn)品進(jìn)入市場(chǎng)時(shí)間。另外,C語言便于移植和修改,使產(chǎn)品的升級(jí)和繼承更迅速。更重要的是采用C語言編寫的程序易于在不同的開發(fā)者之間進(jìn)行交流,從而促進(jìn)嵌入式系統(tǒng)開發(fā)的產(chǎn)業(yè)化。C++語言強(qiáng)大的類、繼承等功能更便于實(shí)現(xiàn)復(fù)雜的程序功能。EC++保存了C++的主要優(yōu)點(diǎn),提供了對(duì)C++的向上兼容性,并滿足嵌入式系統(tǒng)設(shè)計(jì)的一些特殊要求。C/C++/EC++被引入嵌入式系統(tǒng),使得嵌入式開發(fā)和個(gè)人計(jì)算機(jī)、小型機(jī)等之間在開發(fā)上的差異正在逐漸消除,軟件工程中的很多經(jīng)驗(yàn)、方法甚至庫函數(shù)可以移植到嵌入式系統(tǒng)。另一種高級(jí)語言JAVA,它是為設(shè)備獨(dú)立的嵌入式系統(tǒng)設(shè)計(jì)的,可以提高程序的繼承性,由于目前基于JAVA的嵌入式開發(fā)工具代碼生成長度要比嵌入式C編譯工具差10倍以上,故其應(yīng)用還不夠廣泛。在嵌入式開發(fā)中采用高級(jí)語言,還使得硬件的開發(fā)和軟件的開發(fā)可以分工,從事嵌入式軟件開發(fā)不再必須精通系統(tǒng)硬件和相應(yīng)的匯編指令集。3).源程序模擬器〔Simulator〕源程序模擬器是在廣泛使用的、人機(jī)接口完備的工作平臺(tái)上,如小型機(jī)和PC,通過軟件手段模擬執(zhí)行某種嵌入式處理器內(nèi)核編寫的源程序測(cè)試工具。簡(jiǎn)單的模擬器可以通過指令解釋方式逐條執(zhí)行源程序,分配虛擬存儲(chǔ)空間和外設(shè),供程序員檢查;高級(jí)的模擬器可以利用計(jì)算機(jī)的外部接口模擬處理器的I/O電氣信號(hào)。模擬器軟件獨(dú)立于處理器硬件,一般與編譯器集成在同一個(gè)環(huán)境中,是一種有效的源程序檢驗(yàn)和測(cè)試工具。2.4嵌入式系統(tǒng)的應(yīng)用嵌入式系統(tǒng)在辦公自動(dòng)化、建筑設(shè)計(jì)、機(jī)械設(shè)計(jì)與制造、醫(yī)療、監(jiān)視、衛(wèi)生設(shè)備、交通運(yùn)輸、通信、信息家電、工業(yè)控制和金融等系統(tǒng)中都有著廣泛的應(yīng)用。例如,辦公設(shè)備中的掃描儀、打印機(jī);家電中的機(jī)頂盒、冰箱、洗衣機(jī);生活中的、PDA、電梯;平安控制中的防火控制系統(tǒng)、平安報(bào)警系統(tǒng)、平安監(jiān)視設(shè)備、平安保險(xiǎn)柜;制造控制中的制造工廠自動(dòng)化、給水、廢水處理、發(fā)電設(shè)備;醫(yī)療中的X光設(shè)備、CT機(jī);交通運(yùn)輸中的飛機(jī)、火車、公共汽車、輪船、雷達(dá)系統(tǒng)、自動(dòng)售票系統(tǒng);通信中的機(jī)、交換機(jī)、衛(wèi)星和信息交換系統(tǒng);其它還有地震測(cè)試儀、機(jī)器人等等。這些我們?cè)谏钪卸际悄軌蚪?jīng)常接觸到而且與我們的生活息息相關(guān)的,其中有些系統(tǒng)嵌入式應(yīng)用程度低一些,因此我們可能感覺不到。隨著嵌入式軟件開發(fā)水平的提高,相信將來我們的日常生活將充滿嵌入式,我們將會(huì)每天都能隨時(shí)隨地享受到嵌入式給我們帶來的方便和快捷。2.5嵌入式系統(tǒng)的未來開展趨勢(shì)信息時(shí)代、數(shù)字時(shí)代使得嵌入式系統(tǒng)獲得了巨大的開展機(jī)遇,為嵌入式市場(chǎng)展現(xiàn)了美好的前景,同時(shí)也對(duì)嵌入式生產(chǎn)廠商提出了新的挑戰(zhàn)。從中可以看出未來嵌入式系統(tǒng)的幾大開展趨勢(shì):1).嵌入式開發(fā)是一項(xiàng)系統(tǒng)工程,因此要求嵌入式系統(tǒng)廠商不僅提供嵌入式軟硬件系統(tǒng)本身,同時(shí)還應(yīng)提供強(qiáng)大的硬件開發(fā)環(huán)境和軟件包支持。目前很多廠商已經(jīng)充分考慮到這一點(diǎn),在主推系統(tǒng)的同時(shí),將開發(fā)環(huán)境也作為重點(diǎn)推廣。比方三星在推廣ARM7、ARM9芯片的同時(shí)還提供開發(fā)板和板級(jí)支持包〔BSP〕, 而WindowsCE在主推系統(tǒng)的同時(shí)也提供EmbeddedVC++作為開發(fā)工具,還有VxWorks的Tornado開發(fā)環(huán)境、DeltaOS的Limda開發(fā)環(huán)境等都是這一典型趨勢(shì)的表達(dá)。當(dāng)然,這也是市場(chǎng)競(jìng)爭(zhēng)的結(jié)果。2).網(wǎng)絡(luò)化、信息化的要求隨著英特網(wǎng)技術(shù)的成熟、帶寬的提高而日益提高,使得以往單一功能的設(shè)備、、冰箱、微波爐等功能不再單一,結(jié)構(gòu)日益復(fù)雜。這就要求芯片設(shè)計(jì)廠商在芯片上集成更多的功能。為了滿足應(yīng)用功能的升級(jí),設(shè)計(jì)師們一方面采用更強(qiáng)大的嵌入式處理器如32位、64位RISC芯片或信號(hào)處理器DSP增強(qiáng)處理能力,同時(shí)增加功能接口〔如USB〕,擴(kuò)展總線類型〔如CANBUS〕,加強(qiáng)對(duì)多媒體、圖形等的處理,逐步實(shí)施片上系統(tǒng)〔SOC〕的概念。軟件方面,采用時(shí)實(shí)多任務(wù)編程技術(shù)和交叉開發(fā)工具技術(shù)來控制功能復(fù)雜性、簡(jiǎn)化應(yīng)用程序的設(shè)計(jì),保障軟件質(zhì)量和縮短開發(fā)周期〔如HP〕.3).網(wǎng)絡(luò)互連成為必然趨勢(shì)。未來的嵌入式設(shè)備為了適應(yīng)網(wǎng)絡(luò)開展的要求,必然要求硬件上提供各種網(wǎng)絡(luò)通信接口,傳統(tǒng)的單片機(jī)對(duì)于網(wǎng)絡(luò)支持得不夠,而新一代嵌入式處理器已經(jīng)開始內(nèi)嵌網(wǎng)絡(luò)接口,除了支持TCP/IP協(xié)議,有的還支持IEEE1394、USB、CAN、Bluetooth或IrDA通信接口中的一種或者幾種,同時(shí)也提供相應(yīng)的通信協(xié)議軟件和物理層驅(qū)動(dòng)軟件。軟件方面,系統(tǒng)內(nèi)置支持網(wǎng)絡(luò)模塊,甚至可以在設(shè)備上嵌入Web瀏覽器,真正實(shí)現(xiàn)隨時(shí)隨地用各種設(shè)備上網(wǎng)。4).精簡(jiǎn)系統(tǒng)內(nèi)核、算法,降低功耗和軟硬件本錢。未來的嵌入式產(chǎn)品是軟硬件緊密結(jié)合的設(shè)備,為了降低功耗和本錢,需要設(shè)計(jì)者盡量精簡(jiǎn)設(shè)備內(nèi)核,只保存和系統(tǒng)緊密相關(guān)的軟硬件,利用最低的資源實(shí)現(xiàn)最適當(dāng)?shù)墓δ?,這就要求設(shè)計(jì)者選用最正確的編程模型和不斷改良算法,優(yōu)化編譯器的性能。因此,軟件開發(fā)人員既要有豐富的硬件知識(shí),又需要開展先進(jìn)的嵌入式軟件系統(tǒng)技術(shù),如JIVA、Web和WAP等。5).提供有好的多媒體人機(jī)界面。嵌入式設(shè)備能與用戶緊密接觸,最重要的因素就是它能提供友好的用戶界面、圖形界面和靈活的控制方式,使得人們感覺嵌入式設(shè)備就像一個(gè)熟悉的老朋友。這方面的要求使得嵌入式軟件設(shè)計(jì)者要在圖形界面,多媒體技術(shù)上多下功夫。手寫文字輸入、語音撥號(hào)上網(wǎng)、收發(fā)電子郵件以及彩色圖形、圖像都會(huì)使使用者獲得自由的感受。目前一些先進(jìn)的PDA在顯示屏幕上也實(shí)現(xiàn)漢字輸入、短消息語音發(fā)布,但一般的嵌入式設(shè)備距離這個(gè)要求還有很長的路要走。第三章系統(tǒng)開發(fā)環(huán)境與技術(shù)3.1系統(tǒng)的開發(fā)環(huán)境考慮到系統(tǒng)的性能、本錢、可靠性等因素,系統(tǒng)的主控芯片選用了臺(tái)灣Syncmos公司生產(chǎn)的以80C52為內(nèi)核的8位微控制器SM5964。它具有豐富的片內(nèi)資源,只需添加少量的外圍器件即可滿足系統(tǒng)設(shè)計(jì)的需要。根據(jù)上一章中闡述的嵌入式操作系統(tǒng)的選取原那么,軟件開發(fā)平臺(tái)選用了源代碼公開的RTOSμC/OS-II。下面對(duì)其詳細(xì)介紹。SM5964概述SM5964微控制器是系統(tǒng)的核心器件,它是80C52微控制器家族的派生產(chǎn)品,其硬件特征和強(qiáng)大的指令系統(tǒng)使它成為一種性能價(jià)格比高的控制器。除具有通用80C52優(yōu)點(diǎn)之外,其特點(diǎn)如下:集成度高:它具有豐富的片內(nèi)資源,包括3個(gè)16位定時(shí)器、1個(gè)看門狗定時(shí)器、全雙工串口通道等,其PDIP封裝具有32個(gè)I/O口而PLCC/QFP封裝那么具有多達(dá)36個(gè)I/O口。存儲(chǔ)量大:它內(nèi)置了64KBFlashROM和1KBRAM。ISP特性:它具有在系統(tǒng)可編程(ISP)功能,可以通過串口或者并口利用ISP功能實(shí)現(xiàn)系統(tǒng)的程序在線修改或升級(jí)。片內(nèi)有多達(dá)4KB的存儲(chǔ)空間供ISP編程之用。PWM特性:片上有5路PWM通道可供用戶使用。另外它的主頻可以高達(dá)40MHz,SM5964處理器的模塊圖如圖3-1所示:圖3-1SM5964模塊圖嵌入式操作系統(tǒng)μC/OS-II在進(jìn)行嵌入式系統(tǒng)設(shè)計(jì)時(shí),選擇適合自己的實(shí)時(shí)操作系統(tǒng)是至關(guān)重要的,我結(jié)合具體的應(yīng)用,考慮開發(fā)本錢等因素,根據(jù)嵌入式操作系統(tǒng)的選取原那么并基于μC/OS-II的許多特點(diǎn),選用了源代碼公開的實(shí)時(shí)操作系統(tǒng)μC/OS-II。.1μC/OS-II的主要特點(diǎn)它是由Labrosse先生編寫的一個(gè)開放式內(nèi)核,主要特點(diǎn)如下:公開源代碼:源代碼全部公開,這樣使系統(tǒng)變得透明,很容易就能把操作系統(tǒng)移植的各個(gè)不同的硬件平臺(tái)上,并可根據(jù)需要進(jìn)行擴(kuò)充??梢浦残裕害藽/OS-II絕大局部源碼是用ANSIC寫的,可移植性〔Portable〕較強(qiáng)。它可以在絕大多數(shù)8位、16位、32位甚至64位微處理器、微控制器、數(shù)字信號(hào)處理器〔DSP〕上運(yùn)行??晒袒害藽/OS-II是為嵌入式應(yīng)用而設(shè)計(jì)的,可以嵌入到開發(fā)者的產(chǎn)品中成為產(chǎn)品的一局部??刹脺p:可以根據(jù)具體的應(yīng)用,對(duì)內(nèi)核進(jìn)行裁減,其內(nèi)核最小可到達(dá)2KB。占先式:μC/OS-II完全是占先式〔Preemptive〕的實(shí)時(shí)內(nèi)核,總是運(yùn)行在就緒條件下優(yōu)先級(jí)最高的任務(wù)。大多數(shù)商業(yè)內(nèi)核也是占先式的,μC/OS-II在性能上與它們類似。多任務(wù):μC/OS-II可以管理64個(gè)任務(wù),系統(tǒng)本身保存8個(gè),應(yīng)用程序最多可以有56個(gè)任務(wù),賦予每個(gè)任務(wù)的優(yōu)先級(jí)必須不同。可確定性:全部μC/OS-II的函數(shù)調(diào)用與效勞的執(zhí)行時(shí)間具有其可確定性。μC/OS-II的系統(tǒng)效勞的執(zhí)行時(shí)間不依賴于應(yīng)用程序任務(wù)的多少。任務(wù)棧:每個(gè)任務(wù)有自己?jiǎn)为?dú)的棧,μC/OS-II允許每個(gè)任務(wù)有不同的棧空間,以便壓低應(yīng)用程序?qū)AM的需求。使用μC/OS-II的棧空間校驗(yàn)函數(shù),可以確定每個(gè)任務(wù)到底需要多少??臻g。系統(tǒng)效勞:μC/OS-II提供很多系統(tǒng)效勞,例如郵箱、消息隊(duì)列、信號(hào)量、塊大小固定的內(nèi)存的申請(qǐng)和釋放、時(shí)間相關(guān)函數(shù)等。中斷管理:中斷可以使正在執(zhí)行的任務(wù)暫時(shí)掛起,如果優(yōu)先級(jí)更高的任務(wù)被該中斷喚醒,那么高優(yōu)先級(jí)的任務(wù)在中斷嵌套全部退出后立即執(zhí)行,中斷嵌套層數(shù)可達(dá)255層。穩(wěn)定性與可靠性:μC/OS-II自1992年以來已經(jīng)有很多成功的商業(yè)應(yīng)用,其穩(wěn)定性和可靠性都有很好的保證。.2μC/OS-II硬件和軟件體系結(jié)構(gòu)μC/OS-II的內(nèi)核是占先式〔Preemptive〕內(nèi)核,即總是讓就緒態(tài)的高優(yōu)先級(jí)的任務(wù)先運(yùn)行,中斷效勞程序可以搶占CPU,當(dāng)中斷效勞程序完成時(shí),內(nèi)核讓此時(shí)優(yōu)先級(jí)最高的任務(wù)運(yùn)行。這樣使系統(tǒng)的響應(yīng)時(shí)間得到最優(yōu)化,而且是可知的。它完成了任務(wù)管理、任務(wù)間的通信和同步、內(nèi)存管理、時(shí)間管理和中斷管理。其硬件和軟件體系結(jié)構(gòu)如圖3-2所示圖3-21).任務(wù)的管理它包括任務(wù)的創(chuàng)立、刪除、掛起和恢復(fù)等。在嵌入式系統(tǒng)中每個(gè)任務(wù)是一個(gè)無限的循環(huán),它看起來像其他C的函數(shù)一樣,有函數(shù)返回類型,有形式參數(shù)變量,但是任務(wù)是絕不會(huì)返回的,故返回參數(shù)必須定義為Void。格式如下:voidTask1(void*ppdata){for(;;){/*用戶代碼*//*調(diào)用μC/OS-II的某種系統(tǒng)效勞*/}}任務(wù)的創(chuàng)立函數(shù)如下:INT8UOSTaskCreate(void(*task)(void*pd),void*ppdata,OS_STK*ptos,INT8Uprio);其中:task是任務(wù)代碼的指針;ppdata是當(dāng)任務(wù)開始執(zhí)行時(shí)傳遞給任務(wù)的參數(shù)指針;ptos是分配給任務(wù)的堆棧的棧頂指針;prio是分配給任務(wù)的優(yōu)先級(jí)。任務(wù)刪除函數(shù)為:INT8UOSTaskDel(INT8Uprio)。任務(wù)掛起函數(shù)為:INT8UOSTaskSuspend(INT8Uprio)。任務(wù)恢復(fù)函數(shù)為:INT8UOSTaskResume(INT8Uprio)。系統(tǒng)中每個(gè)任務(wù)有掛起、就緒、運(yùn)行及休眠等狀態(tài),各狀態(tài)之間的轉(zhuǎn)換關(guān)系如圖3-3所示。圖3-32).任務(wù)間的通信在μC/OS-II中,有多種方法可以保護(hù)任務(wù)之間的共享數(shù)據(jù)和提供任務(wù)之間的通信,下面介紹三種:一是利用宏OS_ENTER_CRITICAL()和OS_EXIT_CRITICAL()來關(guān)閉中斷和翻開中斷。當(dāng)兩個(gè)任務(wù)或者一個(gè)任務(wù)和一個(gè)中斷效勞子程序共享某些數(shù)據(jù)時(shí),可以采用這種方法。二是利用函數(shù)OSSchedLock()和OSSchedUnlock()對(duì)任務(wù)調(diào)度函數(shù)上鎖和開鎖,禁止任務(wù)調(diào)度。用這種方法也可以實(shí)現(xiàn)數(shù)據(jù)的共享。三是任務(wù)間的通信和同步采用信號(hào)量、郵箱和消息隊(duì)列來實(shí)現(xiàn)的。3).內(nèi)存管理采用把連續(xù)的大塊按分區(qū)來管理。每個(gè)分區(qū)中包含有正整數(shù)個(gè)大小相同的內(nèi)存塊,μC/OS-II對(duì)malloc()和free()函數(shù)進(jìn)行了改良,使得它們可以分配和釋放固定大小的內(nèi)存塊。用戶的應(yīng)用程序可以從不同的內(nèi)存分區(qū)中取得不同大小的內(nèi)存塊,但是特定的內(nèi)存塊在釋放時(shí)必須重新放回它以前所屬于的內(nèi)存分區(qū)。采用這種內(nèi)存管理方法,解決了內(nèi)存碎片問題。主要相關(guān)函數(shù):建立內(nèi)存分區(qū)〔OSMemCreate()〕,分配內(nèi)存塊〔OSMemGet()〕,釋放內(nèi)存塊〔OSMemPut()〕。4).時(shí)間管理μC/OS-II要求用戶提供定時(shí)中斷來實(shí)現(xiàn)延時(shí)與超時(shí)控制等功能,這個(gè)定時(shí)中斷成為時(shí)鐘節(jié)拍,它一般每秒發(fā)生10至100次,時(shí)鐘節(jié)拍的頻率越高,系統(tǒng)的負(fù)荷越嚴(yán)重。其實(shí)際大小可由用戶的應(yīng)用程序來決定。時(shí)間管理主要是完成任務(wù)的延時(shí)及系統(tǒng)時(shí)間的更改。.3針對(duì)應(yīng)用對(duì)內(nèi)核進(jìn)行的擴(kuò)充由于μC/OS-II僅是一個(gè)實(shí)時(shí)內(nèi)核,不像其它的實(shí)時(shí)操作系統(tǒng)那樣提供給用戶的只是一些API函數(shù)接口,把它移植到目標(biāo)硬件平臺(tái)只是系統(tǒng)設(shè)計(jì)工作的開始,還需要針對(duì)實(shí)際的應(yīng)用需求對(duì)其進(jìn)行功能擴(kuò)展,包括底層的硬件驅(qū)動(dòng)、文件系統(tǒng)、用戶圖形接口〔GUI〕、網(wǎng)絡(luò)功能等,從而建立一個(gè)實(shí)用的RTOS。下面僅對(duì)外設(shè)及驅(qū)動(dòng)程序進(jìn)行論述。外設(shè)驅(qū)動(dòng)程序可以對(duì)系統(tǒng)提供訪問外圍設(shè)備的接口,把操作系統(tǒng)〔軟件〕和外圍設(shè)備〔硬件〕別離開來。當(dāng)外圍設(shè)備改變的時(shí)候,只需更換相應(yīng)的驅(qū)動(dòng)程序,不必修改操作系統(tǒng)的內(nèi)核以及運(yùn)行在操作系統(tǒng)的軟件。下面僅建立用到的外設(shè)驅(qū)動(dòng)程序標(biāo)準(zhǔn)接口。=1\*GB2⑴串行口〔UART〕串行口符合RS-232標(biāo)準(zhǔn),通信的最高速度可以到達(dá)115200bps。建立的接口函數(shù)如下:Uart_Init定義:voidUart_Init(INT16Umclk,INT16Ubaud);功能:初始化串行口,設(shè)置串行口通信的波特率參數(shù)說明:mclk:系統(tǒng)的主時(shí)鐘頻率。baud:所設(shè)定的串行口通信波特率Uart_SendStr定義:voidUart_SendStr(char*str,…..);功能:輸出字符串到串口參數(shù)說明:str:輸出到串行口的字符串。Uart_Getch定義:charUart_Getch();功能:接收串口的數(shù)據(jù),收到數(shù)據(jù)時(shí)返回,返回串口接收到的數(shù)據(jù)。Uart_Sendch定義:voidUart_Sendch(chardata)功能:向串口發(fā)送數(shù)據(jù)參數(shù)說明:data:發(fā)送的數(shù)據(jù)=2\*GB2⑵液晶顯示驅(qū)動(dòng)程序系統(tǒng)設(shè)計(jì)中選用的LCD是北京精電蓬遠(yuǎn)顯示技術(shù)公司生產(chǎn)的MGLS-12864,內(nèi)部有控制電路,在系統(tǒng)的內(nèi)存里開辟了一塊內(nèi)存作為液晶屏顯示的后臺(tái)緩沖區(qū)LCDBuffer,用于保存要顯示的內(nèi)容。對(duì)于不同的液晶屏顯示只需要改動(dòng)LCD128.C和LCD128.H中的程序即可。液晶模塊有兩種工作模式:圖形方式和文本方式。在圖形方式下,模塊上的緩沖區(qū)映射的是液晶屏上顯示的圖形點(diǎn)陣;在文本方式下,模塊上的緩沖區(qū)對(duì)應(yīng)的是液晶屏上顯示的文本字符,包括英文字符和英文標(biāo)點(diǎn)符號(hào)。在此對(duì)漢字顯示僅作演示之用。液晶屏的操作主要包括:初始化、設(shè)置工作模式〔文本或者圖形〕、更新顯示。接口函數(shù)如下:LCD_Init定義:voidLCD_Init(void);功能:初始化LCD,在系統(tǒng)啟動(dòng)時(shí)此函數(shù)被調(diào)用。LCD_Pritf定義:voidLCD_Printf(char*str,…);功能:在LCD的文本方式下輸出字符串。參數(shù)說明:str:所輸出的字符串LCD_ChangeMode定義:voidLCD_ChangeMode(INT8Umode);功能:改變LCD的工作模式參數(shù)說明:mode:設(shè)定的LCD的顯示模式,0表示文本模式,1表示圖形模式LCD_Refresh定義:voidLCD_Refresh(INT8Ucol,INT8Urow,char*str)功能:更新LCD的顯示,把后臺(tái)緩沖區(qū)LCDBuffer[][]中的內(nèi)容更新到LCD的顯示屏上。參數(shù)說明:col:顯示字符串的起始列數(shù)。row:顯示字符串的起始列數(shù)。str:需要顯示的內(nèi)容=3\*GB2⑶鍵盤驅(qū)動(dòng)程序鍵盤的相關(guān)驅(qū)動(dòng)函數(shù)如下:GetKey定義:INT8UGetKey();功能:獲得被按下的鍵數(shù),返回值中指示出哪個(gè)鍵被按下。GetScanKey定義:INT8UGetScanKey()功能:對(duì)各個(gè)按鍵進(jìn)行掃描,從而確定其狀態(tài)。相應(yīng)位指示其是否被按下〔1表示按下,0表示斷開〕。=4\*GB2⑷A/D驅(qū)動(dòng)程序系統(tǒng)中采用20位模數(shù)轉(zhuǎn)換器LTC2430,完成對(duì)溫度信號(hào)的測(cè)量,將模擬信號(hào)轉(zhuǎn)換成相應(yīng)的數(shù)字信號(hào)之后,傳給處理器進(jìn)行相關(guān)的處理。根據(jù)其轉(zhuǎn)換特性,設(shè)計(jì)的函數(shù)接口如下:2430_Check定義:INT8U2430_Check();功能:檢查本次模數(shù)轉(zhuǎn)換是否完成。返回值為0時(shí),正在進(jìn)行轉(zhuǎn)換,否那么轉(zhuǎn)換結(jié)束。2430_ReadValue定義:INT16U2430_ReadValue()功能:讀取轉(zhuǎn)換結(jié)果并返回其值。傳統(tǒng)的嵌入式系統(tǒng)的設(shè)計(jì)方法如圖3-4所示,硬件和軟件的分為兩個(gè)獨(dú)立的局部,有硬件工程師和軟件工程師按照擬定的設(shè)計(jì)流程分別完成。這種設(shè)計(jì)方法只能改善硬件/軟件各自的性能,而有限的設(shè)計(jì)空間不可能對(duì)系統(tǒng)做出較好的性能綜合優(yōu)化。20世紀(jì)90年代初,國外有些學(xué)者提出“這種傳統(tǒng)的設(shè)計(jì)方法,只是早期計(jì)算機(jī)技術(shù)落伍的產(chǎn)物,它不能求出適合于某個(gè)專用系統(tǒng)的最正確計(jì)算機(jī)應(yīng)用系統(tǒng)的解〞。因?yàn)?,從理論上來說,每一個(gè)應(yīng)用系統(tǒng)的,都存在一個(gè)適合于該系統(tǒng)的硬件、軟件功能的最正確結(jié)合,如何從應(yīng)用系統(tǒng)的需求出發(fā),依據(jù)一定的指導(dǎo)原那么和分配算法對(duì)硬件/軟件功能進(jìn)行分析及合理的劃分,從而使得系統(tǒng)的整體信能、運(yùn)行時(shí)間、能量損耗。存儲(chǔ)能量到達(dá)最正確狀態(tài),已成為硬件/軟件協(xié)同設(shè)計(jì)的重要研究內(nèi)容之一。需求分析總體設(shè)計(jì)需求分析總體設(shè)計(jì)嵌入式系統(tǒng)硬件開發(fā)嵌入式系統(tǒng)軟件開發(fā)嵌入式系統(tǒng)集成、測(cè)試、驗(yàn)證圖3-4傳統(tǒng)嵌入式系統(tǒng)的設(shè)計(jì)方法應(yīng)用系統(tǒng)的多樣性和復(fù)雜性,使硬件/軟件的功能劃分與分配、系統(tǒng)優(yōu)化、系統(tǒng)綜合、模擬仿真存在許多研究解決的問題,因而使國際上這個(gè)領(lǐng)域的研究日益活潑。系統(tǒng)協(xié)同設(shè)計(jì)與傳統(tǒng)的設(shè)計(jì)相比有以下兩個(gè)顯著的區(qū)別:描述硬件和軟件使用統(tǒng)一的表示形式。硬件/軟件劃分可以選擇多種方案,直到滿足要求。顯然,這種設(shè)計(jì)方法對(duì)于具體的應(yīng)用系統(tǒng)而言,容易獲得滿足綜合性能指標(biāo)的最正確解決方案。傳統(tǒng)方法雖然也可以改良硬件軟件性能,但由于這種改良是各自獨(dú)立進(jìn)行的,不一定使系統(tǒng)綜合性能到達(dá)最正確。傳統(tǒng)的嵌入式系統(tǒng)的開發(fā)采用的是軟件開發(fā)與硬件開發(fā)別離的方式,其過程可以描述如下:需求分析軟硬件分別設(shè)計(jì)、開發(fā)、調(diào)試、測(cè)試、系統(tǒng)集成,軟硬件集成。集成測(cè)試假設(shè)系統(tǒng)正確,那么結(jié)束、否那么繼續(xù)進(jìn)行。假設(shè)出現(xiàn)錯(cuò)誤,需要對(duì)軟硬件分別驗(yàn)證和修改。返回3,繼續(xù)進(jìn)行集成測(cè)試。雖然在系統(tǒng)設(shè)計(jì)的初始階段考慮了軟硬件的接口問題,但由于軟硬件分別開發(fā),各自局部的修改和缺陷很容易導(dǎo)致系統(tǒng)集成出現(xiàn)錯(cuò)誤、由于設(shè)計(jì)方法的限制,這些錯(cuò)誤不但難于定位,而且更重要的是,對(duì)他們的修改往往會(huì)涉及整個(gè)軟件結(jié)構(gòu)和硬件配置的改動(dòng),顯然,這是災(zāi)難性的。為防止上述問題,一種新的開發(fā)方法應(yīng)運(yùn)而生軟硬件協(xié)同設(shè)計(jì)方法。一個(gè)典型的硬件/軟件協(xié)同設(shè)計(jì)過程如圖3-5所示。首先,應(yīng)方該用獨(dú)立于任何硬件和軟件的功能性規(guī)格方法對(duì)系統(tǒng)進(jìn)行描述,采用的的方法包括有限態(tài)自動(dòng)機(jī)〔FSM〕、統(tǒng)一化的規(guī)格語言〔CSP、VHDL〕或其他基于圖形的表示工具,其作用是對(duì)硬件/軟件統(tǒng)一表示,便于性能的劃分和綜合,然后,在此根底上對(duì)硬件/軟件進(jìn)行劃分,即對(duì)硬件/軟件的功能模塊進(jìn)行分配。但是,這種分配不是隨意的,而是從系統(tǒng)的要求和限制條件出發(fā),依據(jù)算法進(jìn)行的。完成對(duì)硬件、軟件的功能劃分之后,需對(duì)劃分的結(jié)果進(jìn)行評(píng)估。方法之一是性能評(píng)估,另一種方法是對(duì)硬件、軟件綜合之后的系統(tǒng)依據(jù)指令級(jí)評(píng)價(jià)參數(shù)做出評(píng)估。如果評(píng)估結(jié)果不滿足要求,說明劃分方案的選擇是不合理的,需要重新劃分硬件/軟件模塊,以上過程重復(fù)直到系統(tǒng)獲得一個(gè)滿意的硬件/軟件實(shí)現(xiàn)為止。軟硬件協(xié)同設(shè)計(jì)過程可以歸納為:需求分析軟硬件協(xié)同設(shè)計(jì)軟硬件實(shí)現(xiàn)軟硬件協(xié)同測(cè)試和驗(yàn)證這種方法的特點(diǎn)在于協(xié)同設(shè)計(jì)〔Co-design〕、協(xié)同測(cè)試〔Co-test〕和協(xié)同驗(yàn)證〔Co-verification〕時(shí),充分考慮了軟硬件的關(guān)系,并在每個(gè)層次上給以測(cè)試驗(yàn)證,使得盡早發(fā)現(xiàn)和解決問題,防止災(zāi)難性錯(cuò)誤的出現(xiàn)。系統(tǒng)功能描述系統(tǒng)功能描述硬件\軟件劃分〔軟硬統(tǒng)一表示〕軟件組合接口綜合硬件綜合系統(tǒng)集成圖3-5嵌入式系統(tǒng)的硬件\軟件設(shè)計(jì)方法嵌入式系統(tǒng)軟件的測(cè)試必須考慮時(shí)間和硬件影響的問題。對(duì)于硬件,一般是采用專門的測(cè)試儀器進(jìn)行測(cè)試;而對(duì)于實(shí)時(shí)嵌入式軟件,那么需要有關(guān)的測(cè)試技術(shù)和測(cè)試工具的支持,需要采取特定的測(cè)試策略。測(cè)試技術(shù)指的是軟件測(cè)試的專門途徑,以及提供的能夠更加有效的運(yùn)用這些途徑的特定技術(shù)。測(cè)試技術(shù)主要有回歸測(cè)試〔基于代碼的測(cè)試或白盒測(cè)試〕、第三方的驗(yàn)證和確認(rèn)測(cè)試〔功能測(cè)試或黑盒測(cè)試〕及維護(hù)中的修改或升級(jí)測(cè)試〔回歸測(cè)試〕等。目前,大量的實(shí)時(shí)嵌入式軟件是面向?qū)ο缶幊毯突诓考_發(fā)的,它們對(duì)時(shí)空和宿主機(jī)、目標(biāo)機(jī)的交叉開發(fā)方式以及可能的分布運(yùn)行環(huán)境等的約束限制給運(yùn)用上述技術(shù)帶來了新的問題和挑戰(zhàn)。1).白盒測(cè)試和黑盒測(cè)試一般來說,軟件測(cè)試有兩種根本的測(cè)試方式,即白盒測(cè)試方法和黑盒測(cè)試方法,嵌入式軟件測(cè)試也不例外。白盒測(cè)試或基于代碼的測(cè)試檢查的是程序的內(nèi)部設(shè)計(jì)。根據(jù)源代碼的組織結(jié)構(gòu)查找軟件缺陷,一般要求軟件測(cè)試人員對(duì)軟件的結(jié)構(gòu)和作用有詳細(xì)的了解。白盒測(cè)試和代碼覆蓋率密切相關(guān),可以在白盒測(cè)試的同時(shí)計(jì)算出測(cè)試的代碼覆蓋率,保證測(cè)試的充分性。把100%的代碼都測(cè)試到是幾乎不可能的,所以要選擇最主要的代碼進(jìn)行白盒測(cè)試。由于嚴(yán)格的平安性和可行性的要求,嵌入式軟件測(cè)試同非嵌入式軟件測(cè)試相比,通常要求要有更高的代碼覆蓋率。對(duì)于嵌入式軟件,白盒測(cè)試一般在目標(biāo)硬件上進(jìn)行,更為實(shí)際的方式是在開發(fā)環(huán)境中通過硬件仿真進(jìn)行,所以選取的測(cè)試工具應(yīng)該支持在宿主環(huán)境中的測(cè)試。黑盒測(cè)試在有些情況下也稱為功能測(cè)試。這種測(cè)試方法根據(jù)軟件的用途和外部特征查找軟件缺陷,不需要了解程序的內(nèi)部結(jié)構(gòu)。黑盒測(cè)試的最大優(yōu)點(diǎn)在于不依賴于代碼,而是從實(shí)際使用的角度進(jìn)行測(cè)試,通過黑盒測(cè)試可以發(fā)現(xiàn)白盒測(cè)試發(fā)現(xiàn)不了的問題。因?yàn)楹诤袦y(cè)試與需求密切相關(guān),需求規(guī)格說明的質(zhì)量會(huì)直接影響到測(cè)試結(jié)果。黑盒只能限制在需求的范圍內(nèi)進(jìn)行。在進(jìn)行嵌入式軟件測(cè)試時(shí),要把系統(tǒng)的預(yù)期用途作為重要依據(jù),根據(jù)需求對(duì)負(fù)載、定時(shí)、性能的要求,判斷軟件是否滿足這些需求標(biāo)準(zhǔn)。為了保證正確的測(cè)試,還需要檢驗(yàn)軟硬件之間的接口。嵌入式軟件測(cè)試的一個(gè)重要方面是極限測(cè)試。在使用環(huán)境中,通常要求嵌入式軟件的失效過程要平衡,所以,黑盒測(cè)試不僅要檢查軟件工作過程,也要檢查軟件的失效過程。2).目標(biāo)環(huán)境測(cè)試和宿主環(huán)境測(cè)試在嵌入式軟件測(cè)試中,常常要在基于目標(biāo)的測(cè)試和基于宿主的測(cè)試之間做出折衷?;谀繕?biāo)的測(cè)試消耗較多的經(jīng)費(fèi)和時(shí)間,而基于宿主的測(cè)試代價(jià)較小,但必竟是在模擬的環(huán)境中進(jìn)行的。目前是把更多的測(cè)試轉(zhuǎn)移到宿主環(huán)境中進(jìn)行,但是,目標(biāo)環(huán)境的復(fù)雜性和獨(dú)特性不可能完全模擬。在兩個(gè)環(huán)境中可以發(fā)現(xiàn)不同的軟件缺陷,重要的是對(duì)目標(biāo)環(huán)境和宿主環(huán)境的測(cè)試內(nèi)容有所選擇。在宿主環(huán)境中,可以進(jìn)行邏輯或界面的測(cè)試、其它非實(shí)時(shí)的測(cè)試和與硬件無關(guān)的測(cè)試。在模擬或宿主環(huán)境中的測(cè)試消耗的時(shí)間通常比擬少,用調(diào)試工具可以更快的完成高度和測(cè)試任務(wù)。而與時(shí)間問題有關(guān)的白盒測(cè)試、中斷測(cè)試、硬件接口測(cè)試只能在目標(biāo)環(huán)境中進(jìn)行。在軟件測(cè)試周期中,基于目標(biāo)的測(cè)試是在比擬晚的“硬件\軟件集成測(cè)試〞階段開始的,如果不更早的在模擬環(huán)境中進(jìn)行白盒測(cè)試,而是等到“硬件\軟件集成測(cè)試〞階段進(jìn)行全部的白盒測(cè)試,將消耗更多的財(cái)力和人力。第四章系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)在這一章中,根據(jù)第二章和第三章的論述,設(shè)計(jì)出一個(gè)實(shí)現(xiàn)對(duì)溫度進(jìn)行測(cè)量和控制的嵌入式系統(tǒng)。系統(tǒng)具有對(duì)外界兩點(diǎn)溫度進(jìn)行采集的能力,采集的模擬信號(hào)經(jīng)A/D模塊轉(zhuǎn)換成相應(yīng)的數(shù)字量,送入微處理器進(jìn)行處理。采集到的每一路溫度都要與系統(tǒng)此路溫度設(shè)定值進(jìn)行比擬,然后根據(jù)結(jié)果調(diào)用適宜的控制算法,并通過控制相應(yīng)的繼電器的占空比實(shí)現(xiàn)對(duì)溫度的控制、

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論