亚洲精品影院一区二区-亚洲精品永久一区-亚洲精品中文一区不卡-亚洲精品中文字幕久久久久久-国产亚洲精品aaa大片-国产亚洲精品成人a在线

您好,歡迎光臨電子應用網![登錄] [免費注冊] 返回首頁 | | 網站地圖 | 反饋 | 收藏
在應用中實踐
在實踐中成長
  • 應用
  • 專題
  • 產品
  • 新聞
  • 展會
  • 活動
  • 招聘
當前位置:中國電子應用網 > 技術應用 > 正文

無線傳感器網絡基于μC/OS-II的低功耗改進

2010年03月03日11:59:46 本網站 我要評論(2)字號:T | T | T

  低功耗研究是無線傳感器網絡研究的一個熱點,可分成硬件和軟件兩個層面進行研究。本文從軟件層面,特別是操作系統的角度介紹了低功耗研究的技術背景,并分析了現有的典型傳感器網絡操作系統在低功耗管理方面采取的策略,提出了μC/OS-II在無線傳感器網絡中應用的低功耗改進方法。經過移植、測試,改進后的μC/OS-II在低功耗方面有了顯著的提高。

   引言

  無線傳感器網絡是由一個個具有數據采集、計算和通信能力的傳感器節點,通過自組織網絡形成的一個動態、自適應的分布式計算平臺。每個傳感器都是典型的嵌入式系統,具有存儲容量小、運算能力差、功耗低、易失效的特點。因此,它對傳統嵌入式應用開發者提出了更高的要求,迫切需要系統軟件的精心設計,以滿足其可靠性和持久性的要求。無線傳感器網絡的特點決定了盡可能地降低系統功耗成為系統設計的核心要素之一。為此,在目前開發的一些傳感器網絡操作系統中,都把功耗管理作為一個重要的模塊來設計。例如美國加州大學伯克利分校的TinyOS,加州大學紐約分校的SOS和美國科羅拉多大學的MantisOS等專為傳感器網絡節點設計的操作系統都有自己的低功耗管理策略。

  本文主要從軟件的角度研究降低無線傳感器網絡系統功耗的機制與策略,提出了基于μC/OS-II的低功耗改進策略。這對于延長無線傳感器網絡系統生存周期和普及應用有著重要意義。

  1 低功耗軟件系統設計原理

  嵌入式系統中,在硬件平臺已經確定的情況下,軟件系統主要從CPU和外部設備兩方面來降低功耗。

  CPU相關的功耗管理可以通過控制CPU的工作模式來實現。CPU一般有運行模式、空閑模式、休眠模式、睡眠模式和掉電模式,分別對應CPU內部的不同工作頻率。它們之間的轉化關系以及功耗消耗順序如圖1所示。省電的原則就是處理器只有在有用戶操作或任務處理時才處于運行模式,其他時間都處于睡眠模式,以較大程度地提高電源效率。

  外圍設備的功耗管理,可以根據系統在進入特定功耗模式時所發出的事件進入設備相應的功耗模式來宴現,也可以由用戶設定外圍設備控制器來使能外圍設備,達到控制外圍設備功耗的目的。在較近的研究中,已經開始考慮同時動態改變處理器的電壓和頻率來進一步降低功率,這是一個更為復雜、更為系統的工程,涉及從硬件到操作系統以及應用層的有關內容。

  2 無線傳感器網絡操作系統的低功耗策略

  無線傳感器網絡操作系統是傳感器節點硬件和應用軟件的結合部分,對功耗的管理模塊也在此實現。該模塊設計的好壞直接決定著整個傳感器網絡系統壽命的長短。下面介紹幾種典型無線傳感器網絡操作系統的功耗管理方式。

  TinyOS是美國加州大學伯克里分校開發的,一個專為無線嵌入式傳感器網絡設計的開放源代碼的操作系統。它具有基于組件的特性,在傳感器網絡天生就嚴格限制內存的條件下,可以用較小代碼快速來創新和實現。其功耗管理主要體現為以下幾點:

  • TinyOS的每項服務都可以通過StdControl.stop命令被停止;
  • 控制外圍設備的構件可以將外圍設備切換到低功耗模式;
  • TinyOS的HPLPowerManagement構件通過檢查處理器的I/O引腳和寄存器狀態,將處理器置于相應的低功耗模式;
  • 調度器會在就緒任務隊列為空時,自動將處理器置于低功耗模式。

  SOS是加州大學紐約分校開發的一個采用動態重編程思想,實現在單個節點動態裝卸代碼模塊的無線傳感器網絡操作系統。與TinyOS類似,它提供一般的抽象接口來管理傳感器節點外圍設備的功耗狀態,且調度器也會在就緒任務隊列為空時自動將處理器置于低功耗模式。

  MantisOS是美國科羅拉多大學開發的是一個以易用性和靈活性為主要目標的無線傳感器操作系統,支持快速、靈活地搭建無線傳感器網絡原型系統。它通過管理與Unix系統類似的SLEEP函數來實現能量的優化配置。當所有的用戶線程都睡眠后,調度器就可以控制系統進入低功耗模式,從而避免進入耗費能量的忙等待狀態。具體任務調度過程如圖2所示。

  Contiki是瑞典科學院開發的一款專門為8位機設計的輕量級操作系統。它沒有顯式的功耗管理策略,但是它將控制權轉交給各個應用模塊,由調度器提供當前狀態下事件隊列的信息。這些信息可以幫助應用程序在沒有事件任務調度時關閉處理器,進入低功耗模式。

  3 基于ATmegal28L和μC/OS-II的低功耗策略

  3.1 硬件特性

  本低功耗模型中,數據處理單元選用Atmel公司的ATmegal28L微控制器。它采用低功耗CMOS工藝生產的基于RISC結構的8位微控制器,是目前AVR系列中功能較強大的單片機,具有豐富的資源和極低的功耗。它具有片內128KB的程序Flash和4KB的數據SRAM,可外擴到64KB的E2PROM;8個lO位ADC通道,2個8位和2個16位硬件定時/計數器,并可在多種不同的模式下工作;8個PWM通道,可編程看門狗定時器和片上振蕩器、片上模擬比較器;UART、SPI、I2C總線接口和JTAG接口。除了正常操作模式外,還具有6種不同等級的低功耗模式。每種模式具有不同的特點,如表1所列。

  3.2 軟件特性

  μC/OS-II是一個簡單、高效的嵌入式實時操作系統內核,它具有可搶占的實時多任務調度系統功能,而且提供了用于任務間同步、互斥、通信的系統服務。這些功能可以根據不同需求進行裁減,它的較小化內核能編譯到2KB,目前已經被移植到x86、ARM、PowerPC、MIPS等眾多體系結構上。基于短小精悍、可移植性強的特點,μC/OS-II很適用于無線傳感器網絡節點芯片。

  3.3 μC/OS-II在ATmegal28L上的移植

  (1)定義基本配置

  • 定義編譯器相關的數據類型;
  • 定義允許和禁止中斷宏;
  • 定義棧的增長方向;
  • 定義用于任務切換的宏OS_TASK_SW()。

  (2)實現OS_CPU_A.ASM文件的系統結構相關函數

  OSStaerHighRdy:負責獲取新任務的堆棧指針,并從堆棧指針中恢復新任務的所有處理器寄存器。

  OSCtxSW:負責保存當前任務的處理器寄存器到堆棧中,并根據需要恢復任務的堆棧指針恢復處理器寄存器。

  OSIntCtxSW:在中斷時保存當前任務的處理器寄存器,恢復新任務的處理器寄存器。

  OSTickISR:定時中斷函數。

  3.4 μC/OS-II的低功耗改進策略

  μC/OS-II是一個可搶占的多任務嵌入式實時操作系統。任務調度采用64級位圖優先級算法,每個優先級只允許有一個任務,因此,除去系統保留的8個任務,μC/OS-II共允許用戶使用56個優先級不同的任務。這種優先級算法有利于保證系統的實時性,使高優先級任務及時得到響應,但是,這種多任務并發調度并沒有考慮低功耗的應用,在資源極其有限的無線傳感器網絡中很難發揮作用,因此需要對它作些改進。

  在μC/OS-II中,當系統中沒有其他任務被調度執行時,調度器開始執行空閑任務。該任務執行一個忙等待操作,不斷地循環等待中斷.因此處理器一直處于運行狀態,消耗較多能量。

  為保證系統功耗管理的高效率和靈活性,我們提供了相應的機制來確保應用對功耗模式的直接控制,主要包括以下三方面內容:

  第一,在設計應用程序時,可以根據需要設置系統的功耗工作模式。在μC/OS-II中為應用程序提供了專門的系統調用接口。

  第二,系統在運行過程中,能夠根據系統的工作狀態自動進行功耗管理,從而使系統工作于與系統狀態相適應的功耗模式。

  當系統中沒有其他活動任務時,空閑任務得到執行,系統自動進入空閑模式;如果有外部事件發生,則系統將回到運行模式。系統在空閑模式的工作時問超過預先設定的值時,系統自動進入休眠功耗模式;如果發生了需要系統應用處理的外部事件,則系統將自動回到運行模式。在休眠模式下,如果沒有發生需要系統處理的事件,則系統自動進入睡眠摸式。對于睡眠模式,若發生外部事件,則系統回到休眠模式。若該事件對系統來說為有效事件,則系統將進入運行模式。當有任務睡眠時,將該任務掛入睡眠隊列。當系統中所有任務都睡眠時,系統進入睡眠模式。當睡眠隊列中有任務睡眠時間到期時,觸發中斷,激活CPU,重新開始調度。

  第三,可以使能或不使能某種特定的功耗模式。

  在具體實現過程中,采取了如下策略:

  ①在μC/OS-II內核中擴展了一個睡眠任務隊列。該隊列接收睡眠的任務,并將這些任務按照睡眠時間長短進行排序。如果位于隊列頭的任務睡眠時間到期,則從隊列中取下該任務,并重新調整隊列中的睡眠時間。

  ②修改μC/OS-II內核的任務調度器,當就緒隊列中沒有任務執行時,不再執行消耗能量的空循環操作。它首先判斷是否有任務被掛起在I/O操作上。如果是,則讓系統進入休眠模式。此時,如果外部有效I/O操作發生,則系統恢復運行模式。如果所有任務都調用了SLEEP函數,則使系統進入睡眠模式,然后由睡眠任務隊列維護的外部定時器來負責喚醒睡眠的系統。

  ③實現任務睡眠和功耗模式切換等相關函數。

  ④實現并封裝功耗模式使能、切換等相關函數,提供相應接口供用戶任務顯式調用。

  4 性能測試結果

  改進后的μC/OS-II已移植到ATmegal28L開發板上,系統運行穩定。表2和表3分別為改進前和改進后在各種軟件狀態下測得的系統功耗。

  性能測試結果

  5 結論

  無線傳感器網絡節點作為一種嵌入式設備,很長時間都處于無任務運行的空閑狀態。如果能夠根據系統的工作狀態自動進行功耗管理,使系統上作于與系統狀態相適應的功耗模式,那么能夠極大地降低系統功耗.從而延長系統的壽命。這在塒能耗要求極高的無線傳感器網絡中有著重要意義。

網友評論:已有2條評論 點擊查看
登錄 (請登錄發言,并遵守相關規定)
如果您對新聞頻道有任何意見或建議,請到交流平臺反饋。【反饋意見】
關于我們 | 聯系我們 | 本站動態 | 廣告服務 | 歡迎投稿 | 友情鏈接 | 法律聲明
Copyright (c) 2008-2025 01ea.com.All rights reserved.
電子應用網 京ICP備12009123號-2 京公網安備110105003345號