TinyOS移植技術(shù)分析及在CC2430平臺(tái)的應(yīng)用
摘要 簡(jiǎn)述了無(wú)線傳感器網(wǎng)絡(luò)操作系統(tǒng)及傳感器節(jié)點(diǎn)的基本狀況,并從設(shè)計(jì)思路、體系結(jié)構(gòu)、運(yùn)行原理及編譯過(guò)程等方面詳細(xì)分析了當(dāng)前主流的操作系統(tǒng)TinyOS的主要特點(diǎn)。在此基礎(chǔ)上,提出了TinyOS的移植方法以及具體實(shí)現(xiàn)過(guò)程。最后,將TjnyOS成功地移植于CC2430平臺(tái)。實(shí)驗(yàn)結(jié)果表明,移植后的TinyOS可以穩(wěn)定地運(yùn)行于CC2430平臺(tái),并能可靠地實(shí)現(xiàn)傳感器之間的無(wú)線組網(wǎng)。
關(guān)鍵詞 無(wú)線傳感器網(wǎng)絡(luò);TinyOS;移植;CC2430
無(wú)線傳感器網(wǎng)絡(luò)(Wireless Sensor Network,WSN)由部署在監(jiān)測(cè)區(qū)域內(nèi)大量廉價(jià)微型傳感器節(jié)點(diǎn)組成,通過(guò)無(wú)線通信方式形成的一個(gè)網(wǎng)絡(luò)系統(tǒng),其目的是協(xié)作的感知、采集和處理網(wǎng)絡(luò)覆蓋區(qū)域中感知對(duì)象的信息,并發(fā)送給觀察者,被譽(yù)為21世紀(jì)最具影響技術(shù)之一。傳感器節(jié)點(diǎn)通常是一個(gè)微型的資源受限的嵌入式系統(tǒng),因此要求一個(gè)小型高效的操作系統(tǒng)管理組織硬件并完成軟件功能。
由于無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的資源十分有限,傳統(tǒng)的嵌入式操作系統(tǒng)難以正常有效地運(yùn)行和工作,特別對(duì)能量和內(nèi)存的需求矛盾比較突出。因此,需要一種全新的嵌入式操作系統(tǒng)來(lái)滿足無(wú)線傳感器節(jié)點(diǎn)的基本需求。近年來(lái),科研機(jī)構(gòu)不斷開發(fā)出具有多種功能的WSN操作系統(tǒng)。大多數(shù)操作系統(tǒng)都使用事件驅(qū)動(dòng)的編程模型,典型的有TinyOS、Contiki、EYESOS、SOS等。
TinyOS操作系統(tǒng)是美國(guó)加州大學(xué)伯克利分校的研究人員針對(duì)無(wú)線傳感器網(wǎng)絡(luò)設(shè)計(jì)的開源嵌入式操作系統(tǒng),是目前無(wú)線傳感器網(wǎng)絡(luò)采用的主流操作系統(tǒng)。TinyOS最初使用匯編和C語(yǔ)言編寫,但經(jīng)研究人員進(jìn)一步的研究及使用后發(fā)現(xiàn),C語(yǔ)言并不能有效和方便地支持無(wú)線傳感器網(wǎng)絡(luò)應(yīng)用程序的開發(fā)。因而在經(jīng)過(guò)研究和設(shè)計(jì),并在對(duì)C語(yǔ)言進(jìn)行了一定擴(kuò)展的基礎(chǔ)上,提出了支持組件化編程的nesC語(yǔ)言,該語(yǔ)言可以把組件化、模塊化思想和基于事件驅(qū)動(dòng)的執(zhí)行模型結(jié)合起來(lái),具有一些C語(yǔ)言無(wú)法比擬的優(yōu)點(diǎn)。nesC語(yǔ)言提出后,TinyOS操作系統(tǒng)和基于TinyOS操作系統(tǒng)的應(yīng)用程序全部使用nesC語(yǔ)言編寫。
1 TinyOS原理分析
1.1 簡(jiǎn)介
TinyOS是美國(guó)加州大學(xué)伯克利分校針對(duì)無(wú)線傳感器網(wǎng)絡(luò)開發(fā)的嵌入式操作系統(tǒng),核心程序很小,對(duì)硬件要求很低,它的事件驅(qū)動(dòng)機(jī)制、主動(dòng)消息機(jī)制、組件化結(jié)構(gòu)等特點(diǎn)使其在研究中得到廣泛應(yīng)用。目前,TinyOS支持的平臺(tái)主要集中在Atmel公司的AVR系列和TI公司的MsP430系列單片機(jī)。
1.2 TinyOS的體系結(jié)構(gòu)
TinyOS體現(xiàn)結(jié)構(gòu)如圖1所示,其核心部分為TinyOS的硬件抽象3層結(jié)構(gòu)。TinyOS的硬件抽象層使系統(tǒng)的軟件和硬件完全獨(dú)立,從而使系統(tǒng)的設(shè)備驅(qū)動(dòng)程序與硬件無(wú)關(guān),大大提高了系統(tǒng)的可移植性。TinyOS具有3層硬件抽象結(jié)構(gòu),并明確規(guī)定了每一層的功能,每一層都依賴于下一層提供的接口,這使得TinyOS的移植比較方便。
最底層是硬件描述層(Hardware Presentation Layer,HPL),該層提供硬件層和軟件層的直接接口,通過(guò)調(diào)用函數(shù)的方法來(lái)屏蔽復(fù)雜的硬件層,不僅實(shí)現(xiàn)了硬件層和軟件層的內(nèi)部通信,而且為系統(tǒng)其他部分提供了使用的接口。
中間層是硬件適用層(Hardware AdaptationLayer,HAL),位于HPL上層,該層對(duì)硬件層的定時(shí)器、模數(shù)轉(zhuǎn)換器、存儲(chǔ)器等模塊原型進(jìn)行較高層的抽象,可以更直接更方便地為上層軟件層提供可定制的操作接口。
最頂層是硬件獨(dú)立層(Hardware Independent Layer,HIL),位于HAL上層,該層提供抽象的獨(dú)立硬件層接口,通過(guò)隱藏硬件層來(lái)簡(jiǎn)化上層應(yīng)用軟件的編寫,其功能類似于Windows操作系統(tǒng)下的API。
TinyOS的3層硬件抽象結(jié)構(gòu)有很大的靈活性,具體的應(yīng)用程序可以將HAL和HIL組件結(jié)合使用,以提高代碼執(zhí)行效率和系統(tǒng)的可移植性。
評(píng)論