當(dāng)前位置:首頁(yè) > 通信技術(shù) > 通信技術(shù)
[導(dǎo)讀]本文從軟件層面,特別是操作系統(tǒng)的角度介紹了低功耗研究的技術(shù)背景,并分析了現(xiàn)有的典型傳感器網(wǎng)絡(luò)操作系統(tǒng)在低功耗管理方面采取的策略,提出了μC/OS-II在無(wú)線(xiàn)傳感器網(wǎng)絡(luò)中應(yīng)用的低功耗改進(jìn)方法。

摘要 低功耗研究是無(wú)線(xiàn)傳感器網(wǎng)絡(luò)研究的一個(gè)熱點(diǎn),可分成硬件和軟件兩個(gè)層面進(jìn)行研究。本文從軟件層面,特別是操作系統(tǒng)的角度介紹了低功耗研究的技術(shù)背景,并分析了現(xiàn)有的典型傳感器網(wǎng)絡(luò)操作系統(tǒng)在低功耗管理方面采取的策略,提出了μC/OS-II在無(wú)線(xiàn)傳感器網(wǎng)絡(luò)中應(yīng)用的低功耗改進(jìn)方法。經(jīng)過(guò)移植、測(cè)試,改進(jìn)后的μC/OS-II在低功耗方面有了顯著的提高。
關(guān)鍵詞 無(wú)線(xiàn)傳感器網(wǎng)絡(luò)操作系統(tǒng) 低功耗 μC/OS-II


引 言
    無(wú)線(xiàn)傳感器網(wǎng)絡(luò)是由一個(gè)個(gè)具有數(shù)據(jù)采集、計(jì)算和通信能力的傳感器節(jié)點(diǎn),通過(guò)自組織網(wǎng)絡(luò)形成的一個(gè)動(dòng)態(tài)、自適應(yīng)的分布式計(jì)算平臺(tái)。每個(gè)傳感器都是典型的嵌入式系統(tǒng),具有存儲(chǔ)容量小、運(yùn)算能力差、功耗低、易失效的特點(diǎn)。因此,它對(duì)傳統(tǒng)嵌入式應(yīng)用開(kāi)發(fā)者提出了更高的要求,迫切需要系統(tǒng)軟件的精心設(shè)計(jì),以滿(mǎn)足其可靠性和持久性的要求。無(wú)線(xiàn)傳感器網(wǎng)絡(luò)的特點(diǎn)決定了盡可能地降低系統(tǒng)功耗成為系統(tǒng)設(shè)計(jì)的核心要素之一。為此,在目前開(kāi)發(fā)的一些傳感器網(wǎng)絡(luò)操作系統(tǒng)中,都把功耗管理作為一個(gè)重要的模塊來(lái)設(shè)計(jì)。例如美國(guó)加州大學(xué)伯克利分校的TinyOS,加州大學(xué)紐約分校的SOS和美國(guó)科羅拉多大學(xué)的MantisOS等專(zhuān)為傳感器網(wǎng)絡(luò)節(jié)點(diǎn)設(shè)計(jì)的操作系統(tǒng)都有自己的低功耗管理策略。
    本文主要從軟件的角度研究降低無(wú)線(xiàn)傳感器網(wǎng)絡(luò)系統(tǒng)功耗的機(jī)制與策略,提出了基于μC/OS-II的低功耗改進(jìn)策略。這對(duì)于延長(zhǎng)無(wú)線(xiàn)傳感器網(wǎng)絡(luò)系統(tǒng)生存周期和普及應(yīng)用有著重要意義。


1 低功耗軟件系統(tǒng)設(shè)計(jì)原理
   
嵌入式系統(tǒng)中,在硬件平臺(tái)已經(jīng)確定的情況下,軟件系統(tǒng)主要從CPU和外部設(shè)備兩方面來(lái)降低功耗。
    CPU相關(guān)的功耗管理可以通過(guò)控制CPU的工作模式來(lái)實(shí)現(xiàn)。CPU一般有運(yùn)行模式、空閑模式、休眠模式、睡眠模式和掉電模式,分別對(duì)應(yīng)CPU內(nèi)部的不同工作頻率。它們之間的轉(zhuǎn)化關(guān)系以及功耗消耗順序如圖1所示。省電的原則就是處理器只有在有用戶(hù)操作或任務(wù)處理時(shí)才處于運(yùn)行模式,其他時(shí)間都處于睡眠模式,以最大程度地提高電源效率。

    外圍設(shè)備的功耗管理,可以根據(jù)系統(tǒng)在進(jìn)入特定功耗模式時(shí)所發(fā)出的事件進(jìn)入設(shè)備相應(yīng)的功耗模式來(lái)宴現(xiàn),也可以由用戶(hù)設(shè)定外圍設(shè)備控制器來(lái)使能外圍設(shè)備,達(dá)到控制外圍設(shè)備功耗的目的。在最近的研究中,已經(jīng)開(kāi)始考慮同時(shí)動(dòng)態(tài)改變處理器的電壓和頻率來(lái)進(jìn)一步降低功率,這是一個(gè)更為復(fù)雜、更為系統(tǒng)的工程,涉及從硬件到操作系統(tǒng)以及應(yīng)用層的有關(guān)內(nèi)容。

2 無(wú)線(xiàn)傳感器網(wǎng)絡(luò)操作系統(tǒng)的低功耗策略
   
無(wú)線(xiàn)傳感器網(wǎng)絡(luò)操作系統(tǒng)是傳感器節(jié)點(diǎn)硬件和應(yīng)用軟件的結(jié)合部分,對(duì)功耗的管理模塊也在此實(shí)現(xiàn)。該模塊設(shè)計(jì)的好壞直接決定著整個(gè)傳感器網(wǎng)絡(luò)系統(tǒng)壽命的長(zhǎng)短。下面介紹幾種典型無(wú)線(xiàn)傳感器網(wǎng)絡(luò)操作系統(tǒng)的功耗管理方式。
    TinyOS是美國(guó)加州大學(xué)伯克里分校開(kāi)發(fā)的,一個(gè)專(zhuān)為無(wú)線(xiàn)嵌入式傳感器網(wǎng)絡(luò)設(shè)計(jì)的開(kāi)放源代碼的操作系統(tǒng)。它具有基于組件的特性,在傳感器網(wǎng)絡(luò)天生就嚴(yán)格限制內(nèi)存的條件下,可以用最小代碼快速來(lái)創(chuàng)新和實(shí)現(xiàn)。其功耗管理主要體現(xiàn)為以下幾點(diǎn):
    ◇TinyOS的每項(xiàng)服務(wù)都可以通過(guò)StdControl.stop命令被停止;
    ◇控制外圍設(shè)備的構(gòu)件可以將外圍設(shè)備切換到低功耗模式;
    ◇TinyOS的HPLPowerManagement構(gòu)件通過(guò)檢查處理器的I/O引腳和寄存器狀態(tài),將處理器置于相應(yīng)的低功耗模式;
    ◇調(diào)度器會(huì)在就緒任務(wù)隊(duì)列為空時(shí),自動(dòng)將處理器置于低功耗模式。
    SOS是加州大學(xué)紐約分校開(kāi)發(fā)的一個(gè)采用動(dòng)態(tài)重編程思想,實(shí)現(xiàn)在單個(gè)節(jié)點(diǎn)動(dòng)態(tài)裝卸代碼模塊的無(wú)線(xiàn)傳感器網(wǎng)絡(luò)操作系統(tǒng)。與TinyOS類(lèi)似,它提供一般的抽象接口來(lái)管理傳感器節(jié)點(diǎn)外圍設(shè)備的功耗狀態(tài),且調(diào)度器也會(huì)在就緒任務(wù)隊(duì)列為空時(shí)自動(dòng)將處理器置于低功耗模式。
    Mantis OS是美國(guó)科羅拉多大學(xué)開(kāi)發(fā)的是一個(gè)以易用性和靈活性為主要目標(biāo)的無(wú)線(xiàn)傳感器操作系統(tǒng),支持快速、靈活地搭建無(wú)線(xiàn)傳感器網(wǎng)絡(luò)原型系統(tǒng)。它通過(guò)管理與Unix系統(tǒng)類(lèi)似的SLEEP函數(shù)來(lái)實(shí)現(xiàn)能量的優(yōu)化配置。當(dāng)所有的用戶(hù)線(xiàn)程都睡眠后,調(diào)度器就可以控制系統(tǒng)進(jìn)入低功耗模式,從而避免進(jìn)入耗費(fèi)能量的忙等待狀態(tài)。具體任務(wù)調(diào)度過(guò)程如圖2所示。

    Contiki是瑞典科學(xué)院開(kāi)發(fā)的一款專(zhuān)門(mén)為8位機(jī)設(shè)計(jì)的輕量級(jí)操作系統(tǒng)。它沒(méi)有顯式的功耗管理策略,但是它將控制權(quán)轉(zhuǎn)交給各個(gè)應(yīng)用模塊,由調(diào)度器提供當(dāng)前狀態(tài)下事件隊(duì)列的信息。這些信息可以幫助應(yīng)用程序在沒(méi)有事件任務(wù)調(diào)度時(shí)關(guān)閉處理器,進(jìn)入低功耗模式。


3 基于ATmegal28L和μC/OS-II的低功耗策略
3.1 硬件特性
   
本低功耗模型中,數(shù)據(jù)處理單元選用Atmel公司的ATmegal28L微控制器。它采用低功耗CMOS工藝生產(chǎn)的基于RISC結(jié)構(gòu)的8位微控制器,是目前AVR系列中功能最強(qiáng)大的單片機(jī),具有豐富的資源和極低的功耗。它具有片內(nèi)128 KB的程序Flash和4 KB的數(shù)據(jù)SRAM,可外擴(kuò)到64 KB的E2PROM;8個(gè)lO位ADC通道,2個(gè)8位和2個(gè)1 6位硬件定時(shí)/計(jì)數(shù)器,并可在多種不同的模式下工作;8個(gè)PWM通道,可編程看門(mén)狗定時(shí)器和片上振蕩器、片上模擬比較器;UART、SPI、I2C總線(xiàn)接口和JTAG接口。除了正常操作模式外,還具有6種不同等級(jí)的低功耗模式。每種模式具有不同的特點(diǎn),如表1所列。

3.2 軟件特性
    μC/OS-II是一個(gè)簡(jiǎn)單、高效的嵌入式實(shí)時(shí)操作系統(tǒng)內(nèi)核,它具有可搶占的實(shí)時(shí)多任務(wù)調(diào)度系統(tǒng)功能,而且提供了用于任務(wù)間同步、互斥、通信的系統(tǒng)服務(wù)。這些功能可以根據(jù)不同需求進(jìn)行裁減,它的最小化內(nèi)核能編譯到2 KB,目前已經(jīng)被移植到x86、ARM、PowerPC、MIPS等眾多體系結(jié)構(gòu)上。基于短小精悍、可移植性強(qiáng)的特點(diǎn),μC/OS-II很適用于無(wú)線(xiàn)傳感器網(wǎng)絡(luò)節(jié)點(diǎn)芯片。
3.3 μC/OS-II在ATmegal28L上的移植
(1)定義基本配置
    ◇定義編譯器相關(guān)的數(shù)據(jù)類(lèi)型;
    ◇定義允許和禁止中斷宏;
    ◇定義棧的增長(zhǎng)方向;
    ◇定義用于任務(wù)切換的宏OS_TASK_SW()。
(2)實(shí)現(xiàn)OS_CPU_A.ASM文件的系統(tǒng)結(jié)構(gòu)相關(guān)函數(shù)
    OSStaerHighRdy:負(fù)責(zé)獲取新任務(wù)的堆棧指針,并從堆棧指針中恢復(fù)新任務(wù)的所有處理器寄存器。
    OSCtxSW:負(fù)責(zé)保存當(dāng)前任務(wù)的處理器寄存器到堆棧中,并根據(jù)需要恢復(fù)任務(wù)的堆棧指針恢復(fù)處理器寄存器。
    OSIntCtxSW:在中斷時(shí)保存當(dāng)前任務(wù)的處理器寄存器,恢復(fù)新任務(wù)的處理器寄存器。
    OSTickISR:定時(shí)中斷函數(shù)。
3.4 μC/OS-II的低功耗改進(jìn)策略
    μC/OS-II是一個(gè)可搶占的多任務(wù)嵌入式實(shí)時(shí)操作系統(tǒng)。任務(wù)調(diào)度采用64級(jí)位圖優(yōu)先級(jí)算法,每個(gè)優(yōu)先級(jí)只允許有一個(gè)任務(wù),因此,除去系統(tǒng)保留的8個(gè)任務(wù),μC/OS-II共允許用戶(hù)使用56個(gè)優(yōu)先級(jí)不同的任務(wù)。這種優(yōu)先級(jí)算法有利于保證系統(tǒng)的實(shí)時(shí)性,使高優(yōu)先級(jí)任務(wù)及時(shí)得到響應(yīng),但是,這種多任務(wù)并發(fā)調(diào)度并沒(méi)有考慮低功耗的應(yīng)用,在資源極其有限的無(wú)線(xiàn)傳感器網(wǎng)絡(luò)中很難發(fā)揮作用,因此需要對(duì)它作些改進(jìn)。
    在μC/OS-II中,當(dāng)系統(tǒng)中沒(méi)有其他任務(wù)被調(diào)度執(zhí)行時(shí),調(diào)度器開(kāi)始執(zhí)行空閑任務(wù)。該任務(wù)執(zhí)行一個(gè)忙等待操作,不斷地循環(huán)等待中斷.因此處理器一直處于運(yùn)行狀態(tài),消耗較多能量。
    為保證系統(tǒng)功耗管理的高效率和靈活性,我們提供了相應(yīng)的機(jī)制來(lái)確保應(yīng)用對(duì)功耗模式的直接控制,主要包括以下三方面內(nèi)容:
    第一,在設(shè)計(jì)應(yīng)用程序時(shí),可以根據(jù)需要設(shè)置系統(tǒng)的功耗工作模式。在μC/OS-II中為應(yīng)用程序提供了專(zhuān)門(mén)的系統(tǒng)調(diào)用接口。
    第二,系統(tǒng)在運(yùn)行過(guò)程中,能夠根據(jù)系統(tǒng)的工作狀態(tài)自動(dòng)進(jìn)行功耗管理,從而使系統(tǒng)工作于與系統(tǒng)狀態(tài)相適應(yīng)的功耗模式。
    當(dāng)系統(tǒng)中沒(méi)有其他活動(dòng)任務(wù)時(shí),空閑任務(wù)得到執(zhí)行,系統(tǒng)自動(dòng)進(jìn)入空閑模式;如果有外部事件發(fā)生,則系統(tǒng)將回到運(yùn)行模式。系統(tǒng)在空閑模式的工作時(shí)問(wèn)超過(guò)預(yù)先設(shè)定的值時(shí),系統(tǒng)自動(dòng)進(jìn)入休眠功耗模式;如果發(fā)生了需要系統(tǒng)應(yīng)用處理的外部事件,則系統(tǒng)將自動(dòng)回到運(yùn)行模式。在休眠模式下,如果沒(méi)有發(fā)生需要系統(tǒng)處理的事件,則系統(tǒng)自動(dòng)進(jìn)入睡眠摸式。對(duì)于睡眠模式,若發(fā)生外部事件,則系統(tǒng)回到休眠模式。若該事件對(duì)系統(tǒng)來(lái)說(shuō)為有效事件,則系統(tǒng)將進(jìn)入運(yùn)行模式。當(dāng)有任務(wù)睡眠時(shí),將該任務(wù)掛入睡眠隊(duì)列。當(dāng)系統(tǒng)中所有任務(wù)都睡眠時(shí),系統(tǒng)進(jìn)入睡眠模式。當(dāng)睡眠隊(duì)列中有任務(wù)睡眠時(shí)間到期時(shí),觸發(fā)中斷,激活CPU,重新開(kāi)始調(diào)度。
    第三,可以使能或不使能某種特定的功耗模式。
    在具體實(shí)現(xiàn)過(guò)程中,采取了如下策略:
    ①在μC/OS-II內(nèi)核中擴(kuò)展了一個(gè)睡眠任務(wù)隊(duì)列。該隊(duì)列接收睡眠的任務(wù),并將這些任務(wù)按照睡眠時(shí)間長(zhǎng)短進(jìn)行排序。如果位于隊(duì)列頭的任務(wù)睡眠時(shí)間到期,則從隊(duì)列中取下該任務(wù),并重新調(diào)整隊(duì)列中的睡眠時(shí)間。
    ②修改μC/OS-II內(nèi)核的任務(wù)調(diào)度器,當(dāng)就緒隊(duì)列中沒(méi)有任務(wù)執(zhí)行時(shí),不再執(zhí)行消耗能量的空循環(huán)操作。它首先判斷是否有任務(wù)被掛起在I/O操作上。如果是,則讓系統(tǒng)進(jìn)入休眠模式。此時(shí),如果外部有效I/O操作發(fā)生,則系統(tǒng)恢復(fù)運(yùn)行模式。如果所有任務(wù)都調(diào)用了SLEEP函數(shù),則使系統(tǒng)進(jìn)入睡眠模式,然后由睡眠任務(wù)隊(duì)列維護(hù)的外部定時(shí)器來(lái)負(fù)責(zé)喚醒睡眠的系統(tǒng)。
    ③實(shí)現(xiàn)任務(wù)睡眠和功耗模式切換等相關(guān)函數(shù)。
    ④實(shí)現(xiàn)并封裝功耗模式使能、切換等相關(guān)函數(shù),提供相應(yīng)接口供用戶(hù)任務(wù)顯式調(diào)用。


4 性能測(cè)試結(jié)果
   
改進(jìn)后的μC/OS-II已移植到ATmegal28L開(kāi)發(fā)板上,系統(tǒng)運(yùn)行穩(wěn)定。表2和表3分別為改進(jìn)前和改進(jìn)后在各種軟件狀態(tài)下測(cè)得的系統(tǒng)功耗。

5 結(jié)論
   
無(wú)線(xiàn)傳感器網(wǎng)絡(luò)節(jié)點(diǎn)作為一種嵌入式設(shè)備,很長(zhǎng)時(shí)間都處于無(wú)任務(wù)運(yùn)行的空閑狀態(tài)。如果能夠根據(jù)系統(tǒng)的工作狀態(tài)自動(dòng)進(jìn)行功耗管理,使系統(tǒng)上作于與系統(tǒng)狀態(tài)相適應(yīng)的功耗模式,那么能夠極大地降低系統(tǒng)功耗.從而延長(zhǎng)系統(tǒng)的壽命。這在塒能耗要求極高的無(wú)線(xiàn)傳感器網(wǎng)絡(luò)中有著重要意義。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀(guān)點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶(hù)希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱(chēng),數(shù)字世界的話(huà)語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱(chēng)"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉