999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于μC/OS-Ⅱ的無線傳感器網(wǎng)絡節(jié)點低功耗設計

2014-06-07 06:00:06趙錦劍楊光永吳海鋒周安然
關鍵詞:系統(tǒng)

趙錦劍,楊光永,2,吳海鋒,周安然

(1.云南民族大學電氣信息工程學院,昆明650504;2.華南理工大學機械工程學院,廣州510640)

基于μC/OS-Ⅱ的無線傳感器網(wǎng)絡節(jié)點低功耗設計

趙錦劍1,楊光永1,2,吳海鋒1,周安然1

(1.云南民族大學電氣信息工程學院,昆明650504;2.華南理工大學機械工程學院,廣州510640)

針對無線傳感器網(wǎng)絡節(jié)點存在的能源受限問題,從操作系統(tǒng)層面對節(jié)點進行了低功耗設計,提出了一種基于μC/OS-Ⅱ的無線傳感器網(wǎng)絡節(jié)點的功耗管理方案,分別從節(jié)點微處理器、外圍設備以及電池能量3個方面進行了電源管理設計.并在STM32F103ZET6微處理器的節(jié)點上進行了試驗.結果表明:該方案能夠有效降低系統(tǒng)功耗,當系統(tǒng)處于空閑狀態(tài)時,功耗相比于正常運行時有了明顯的降低,且系統(tǒng)運行穩(wěn)定.

μC/OS-Ⅱ;低功耗設計;無線傳感器網(wǎng)絡節(jié)點;空閑狀態(tài);電源管理

無線傳感器網(wǎng)絡(WSN)是由分布在監(jiān)測區(qū)域內(nèi)大量的微型傳感器節(jié)點通過無線電通信形成的一個多跳的自組織網(wǎng)絡系統(tǒng)[1].目前大部分的無線傳感器網(wǎng)絡節(jié)點操作系統(tǒng)都將低功耗設計作為節(jié)點軟件設計的重要部分.例如,專為無線傳感器網(wǎng)絡開發(fā)的微型操作系統(tǒng)TinyOS[2],當其就緒任務隊列為空時,系統(tǒng)就會進入睡眠狀態(tài),直到當有事件喚醒時,才去處理該事件.美國加州大學開發(fā)的SOS[3]操作系統(tǒng),除了能夠在系統(tǒng)空閑時自動將CPU置于低功耗狀態(tài),還提供了一個抽象接口可以用來管理外圍設備的功耗狀態(tài).浙江大學開發(fā)的SenSpire OS[4]是一套基于WSN的操作系統(tǒng),具有靈活的應用程序編程模式,在提高系統(tǒng)工作效率的同時降低系統(tǒng)的功耗.μC/OS-Ⅱ是一種應用在嵌入式設備中的操作系統(tǒng),在無線傳感器網(wǎng)絡中得到廣泛應用,本文提出了一種基于μC/OS-Ⅱ的無線傳感器網(wǎng)絡節(jié)點功耗管理方案.

1 基于μC/OS-Ⅱ的無線傳感器網(wǎng)絡節(jié)點功耗管理策略

μC/OS-Ⅱ是一個搶占式多任務實時操作系統(tǒng)內(nèi)核[5],基于該系統(tǒng)的無線傳感器網(wǎng)絡節(jié)點功耗管理可以分為3個方面的內(nèi)容,如圖1所示.

1)微處理器的功耗管理.動態(tài)調(diào)節(jié)CPU內(nèi)核電壓和頻率,根據(jù)節(jié)點運行情況實現(xiàn)系統(tǒng)運行模式的切換[6],比如工作模式、空閑模式和睡眠模式之間的切換;

2)外圍設備的功耗管理.通過操作系統(tǒng)的任務調(diào)度設計使節(jié)點外圍設備在性能和能耗上達到平衡,使設備能夠及時進入低功耗模式,實現(xiàn)功耗管理;

3)電池管理.進行節(jié)點電池電量檢測,根據(jù)檢測到的結果對節(jié)點進行相應管理.

2 基于μC/OS-Ⅱ的無線傳感器網(wǎng)絡節(jié)點功耗管理的實現(xiàn)

2.1 微處理器的低功耗設計

在節(jié)點的能量消耗中微處理器占據(jù)了很大的一部分.本設計中節(jié)點采用的微處理器芯片STM32F103ZET6具有正常工作模式以及睡眠、停機和待機3種低功耗模式,且可以通過編程實現(xiàn)各種模式之間的切換.STM32F103ZET6各種工作狀態(tài)具有不同的工作電壓和頻率,功耗也就不同.因此為了最大限度地降低系統(tǒng)功耗,需使STM32F103ZET6盡可能處于低功耗模式.

電源管理的主要任務是控制系統(tǒng)適時地在正常工作狀態(tài)和低功耗狀態(tài)之間的轉換,使節(jié)點能量達到最省狀態(tài)[7].本文主要通過對操作系統(tǒng)μC/OS-Ⅱ進行編程設計,使STM32F103ZET6能夠快速地進入睡眠模式,實現(xiàn)微處理器的低功耗設計.

實際上,節(jié)點的任務執(zhí)行時間往往只占CPU運行時間的很少一部分,CPU大多數(shù)時間處于空閑狀態(tài).μC/OS-Ⅱ在內(nèi)核啟動前會首先自動創(chuàng)建一個空閑任務函數(shù)OSTaskIdle( ),該任務具有最低優(yōu)先級且此優(yōu)先級上沒有其它任務.因此,當沒有其它任務運行時,空閑任務就會得到執(zhí)行.所以可以在空閑任務末尾添加一個函數(shù)SleepMode( ),在該函數(shù)內(nèi)編寫使STM32F103ZET6進入睡眠模式的指令,當操作系統(tǒng)一旦調(diào)用空閑任務OSTask Idle( ),便可使STM32F103ZET6進入睡眠模式,從而節(jié)約能耗.為了增加系統(tǒng)設計的靈活性,可以在μC/OS-Ⅱ操作系統(tǒng)的配置文件中加入宏開關configUse_Sleep-Mode,當configUse_SleepMode值為1時空閑任務OSTaskIdle( )會調(diào)用SleepMode( )函數(shù)使STM32F103ZET6進入睡眠模式.若為0則不調(diào)用該函數(shù),CPU將不會進入睡眠模式.改進后的空閑任務的主要代碼如下所示:

2.2 外部設備的低功耗設計

節(jié)點外設模塊主要實現(xiàn)的功能有:數(shù)據(jù)采集、傳輸、能量檢測以及與上位機通信等.根據(jù)節(jié)點不同硬件模塊的操作以及需要實現(xiàn)的功能,可以對將節(jié)點的功能進行任務劃分和優(yōu)先級配置.對節(jié)點進行合理的任務劃分可以有效簡化系統(tǒng)程序設計,提高CPU的利用率,降低系統(tǒng)的功耗.本文中采用靜態(tài)優(yōu)先級設置,節(jié)點任務的具體劃分和優(yōu)先級分配如表1所示.

μC/OS-Ⅱ是一個搶占式的多任務操作系統(tǒng),總是運行就緒列表中優(yōu)先級最高的任務,其核心是任務調(diào)度器.在進行任務設計時,可以通過任務調(diào)度的方式使各個外部設備滿足各自的時間和性能需求.通過在任務調(diào)度中考慮節(jié)能問題,使系統(tǒng)生存時間可得到明顯的延長.μC/OS-Ⅱ具有5種任務狀態(tài),分別是運行態(tài)、就緒態(tài)、掛起態(tài)、睡眠態(tài)以及中斷服務態(tài),可以通過調(diào)度實現(xiàn)任務在這5種狀態(tài)之間的轉換.μC/OS-Ⅱ的任務調(diào)度是按照優(yōu)先級搶占式進行的,因此需要考慮任務間的資源共享、同步以及互斥等因素.本文中采用信號量和消息隊列用于控制資源共享以及任務間的通信.當任務沒有獲得信號量或者消息隊列為空時,等待接收該信號量或消息隊列中消息的任務會被掛起.本文節(jié)點的多任務調(diào)度框圖如圖2所示.

表1 節(jié)點任務劃分及優(yōu)先級分配

當系統(tǒng)啟動后,操作系統(tǒng)μC/OS-Ⅱ和硬件進行初始化,CPU的控制權交給μC/OS-Ⅱ管理,CPU內(nèi)核循環(huán)檢測是否有外部中斷產(chǎn)生.當串口1接收到來自上位機的數(shù)據(jù)時會產(chǎn)生中斷,系統(tǒng)將會自動進入串口中斷服務程序USART1_ISRHandler( )執(zhí)行串口數(shù)據(jù)的接收管理.USART1_ISRHandler( )將串口1接收的數(shù)據(jù)RxData緩存到一個地址為RxDataPtr的數(shù)據(jù)緩存區(qū)USART_RX_BUF[]中,并通過事先創(chuàng)建的消息隊列UARTQ將地址RxDataPtr傳送給優(yōu)先級最高的串口通信任務PortCom_Task( ).串口通信任務獲得到消息RxDataPtr后對USART_RX_BUF[]中的數(shù)據(jù)進行處理.如果CPU沒有檢查到串口中斷發(fā)生,那么串口通信任務將會被掛起.USART1_ISRHandler( )的主要代碼如下:

本設計中節(jié)點采用16位CPU定時器Timer 3#溢出中斷的方式進行周期性數(shù)據(jù)采集,采樣頻率為0.2 Hz.當CPU內(nèi)核檢測到Timer 3#發(fā)生定時溢出中斷時,μC/OS-Ⅱ調(diào)用中斷服務程序TIM3_ISRHandler( )進行中斷處理,并發(fā)送信號量Sem_Acq給數(shù)據(jù)采集任務DataAcq_Task( ).DataAcq_Task( )接收到信號量Sem_Acq后,喚醒數(shù)據(jù)采集模塊實現(xiàn)對待測數(shù)據(jù)的ADC采樣,并通過之前創(chuàng)建的消息隊列AcqDataQ將采集到的數(shù)據(jù)AcqData作為消息發(fā)送給節(jié)點數(shù)據(jù)發(fā)送任務DataSen_Task( ).同時Data-Acq_Task( )將會將它自身掛起,并通過調(diào)用Acq-ModuleSleep( )函數(shù)設置相應的寄存器使數(shù)據(jù)采集模塊及時進入休眠狀態(tài),節(jié)點需再次等待CPU定時器溢出時,才進行數(shù)據(jù)采集.數(shù)據(jù)的ADC采樣的主要代碼如下:

數(shù)據(jù)發(fā)送任務DataSen_Task( )接收到消息隊列AcqDataQ中的消息AcqData后,無線通信模塊被喚醒開始工作,向鄰節(jié)點發(fā)送數(shù)據(jù)接收請求并執(zhí)行數(shù)據(jù)發(fā)送任務.在執(zhí)行數(shù)據(jù)發(fā)送任務時首先通過SPI總線將要發(fā)送的數(shù)據(jù)AcqData寫入到無線通信模塊,然后在應用層調(diào)用定義的發(fā)送函數(shù)RFSendData( )執(zhí)行數(shù)據(jù)發(fā)送功能.當數(shù)據(jù)發(fā)送完成時,DataSen_ Task( )將發(fā)送信號量Sem_Bat給電池管理任務BatteryMan_Task( ),并自身掛起,無線通信模塊也進入低功耗狀態(tài).數(shù)據(jù)發(fā)送任務主要代碼如下:

本設計在μC/OS-Ⅱ內(nèi)核中設計一個任務掛起列表,當有任務執(zhí)行完后進入掛起態(tài)時,將任務掛入到掛起列表.如果當系統(tǒng)中的所有任務都掛入了掛起列表,則說明系統(tǒng)的中的所有任務都進入了掛起態(tài),那么系統(tǒng)就會處于空閑狀態(tài),由前面的微處理器低功耗設計可知系統(tǒng)會隨之進入睡眠模式.當有中斷發(fā)生時,系統(tǒng)將退出睡眠模式,進入運行狀態(tài).

通過μC/OS-Ⅱ獲取所有應用程序的性能需求,并根據(jù)性能需求進行合理的任務調(diào)度設計,直接控制底層硬件資源,從而在節(jié)點的性能和能耗控制之間進行必要的折衷,使各個外設模塊以及微處理器能夠及時的進入低功耗狀態(tài),達到降低節(jié)點功耗的目的.

2.3 電池管理實現(xiàn)

無線傳感器網(wǎng)絡中,傳感器節(jié)點和匯聚節(jié)點是動態(tài)分配的,節(jié)點電量的多少直接影響著節(jié)點在無線傳感器網(wǎng)絡拓撲結構中的地位.本文選用DS2786芯片對節(jié)點電池電量進行檢測,DS2786是一款基于開路電壓(OCV)的獨立式電量計,能夠利用庫侖計與電池OCV的模型組合計算相對電量,且其休眠時電流僅為1μA.CPU通過I2C總線接口讀取DS2786的電量估算數(shù)據(jù),獲取電池的狀態(tài)信息,實現(xiàn)對節(jié)點的電池管理.STM32F103ZET6通過I2C讀取DS2786測量到電量的偽代碼如下:

例如,當CPU讀取到匯聚節(jié)點的電量信息ElecQuantity后,電池管理任務BatteryMan_Task( )會根據(jù)電池運行狀態(tài)進行相應的管理,具體實現(xiàn)過程如圖3所示.

3 系統(tǒng)功耗測試

本文以基于STM32F103ZET6微處理器的無線傳感器網(wǎng)絡節(jié)點為例進行實驗,節(jié)點采集的數(shù)據(jù)為FM頻段的信號強度.編譯環(huán)境采用IAR workbench for ARM 6.40,在STM32F103ZET6上移植入μC/OS-Ⅱ操作系統(tǒng),對節(jié)點進行功耗管理.數(shù)據(jù)采集模塊選用RDA5820接收FM頻段信號;射頻模塊采用通信頻率為2.4 GHz的CC2530模塊,工作電壓為2~3.6 V,將射頻輸出功率設置為1 dBm.

分別測試μC/OS-Ⅱ系統(tǒng)改進前后在各模式下的電流、電壓及功耗情況.測試結果如表2所示.

表2 改進前后系統(tǒng)在各模式下的電流電壓值

通過表2中實驗數(shù)據(jù)可以看出,改進后節(jié)點處于空閑狀態(tài)時系統(tǒng)的功耗有了明顯的降低.原因是改進后,當節(jié)點處于空閑狀態(tài)時系統(tǒng)就會通過調(diào)用SleepMode( )函數(shù)使CPU進入睡眠模式,降低了系統(tǒng)功耗.

4 結語

本文主要從操作系統(tǒng)層面分別從節(jié)點的微處理器和外圍設備以及電池能量檢測3個方面進行了電源管理設計.首先對操作系統(tǒng)μC/OS-Ⅱ進行了改進使其具有低功耗的特點;其次,對操作系統(tǒng)μC/OS-Ⅱ進行任務調(diào)度設計,有效管理節(jié)點各個模塊的工作模式,從而降低節(jié)點的功耗;最后通過檢測節(jié)點電池能量,判斷節(jié)點能否繼續(xù)穩(wěn)定工作.實驗結果表明,該方案能夠有效地減少節(jié)點功耗,從而延長無線傳感器網(wǎng)絡的使用壽命,具有一定的實際應用價值.

[1]POTTIE G J,KAISERW J.Embedding the internet:wireless integrated network sensors[J].Communications of the ACM,2003,43(5):51-58.

[2]潘浩,董齊芬,張貴軍.無線傳感器網(wǎng)絡操作系統(tǒng)Tiny-OS[M].北京:清華大學出版社,2011:13-20.

[3]HAN CC,KUMAR R,SHEA R,etal.A dynamic operating system for sensor nodes[C]//Proceedings of the 3rd international conference on Mobile systems,applications,and services.USA:Washington,ACM,2005:163-176.

[4]DONGW,CHEN C,LIU X,et al.SenSpire OS:A predictable,flexible,and efficient operating system for wireless sensor networks[J].IEEE Transactions on Computers,2011,60(12):1788-1801.

[5]KIRPAL R B,NAGRARE T H.Efficient energy management system through RTOS[J].International Journal of Research in Computer and Communication Technology,2014,3(1):28-32.

[6]邱祎,桑楠.無線傳感器網(wǎng)絡基于μC/OS-Ⅱ的低功耗改進[J].單片機與嵌入式系統(tǒng)應用,2007(4):5-7.

[7]HARKUTD G,ALIM S,LOHIYA P.Real-time scheduling algorithms for wireless sensor network[J].Circuits and systems:An International Journal,2014,1(1):11-18.

(責任編輯 莊紅林)

A low-power design of the wireless sensor network node base on μC/OS-Ⅱ

ZHAO Jin-jian1,YANG Guang-yong1,2,WU Hai-feng1,ZHOU An-ran1
(1.School of Electronics and Information Engineering,Yunnan Minzu University,Kunming 650504,China;2.College of Mechanical Engineering,South China University of Technology,Guangzhou 510640,China)

For solving the problem of limited energy of the wireless sensor network node at the level of the operating system,a power management solution of node based on μC/OS-Ⅱ was proposed.Thisdesign contained three aspects which were the microprocessor and peripheral devices,and battery power.The solution was obtained from the experimental verification on the node whose CPU was STM32F103ZET6.The results have shown that the solution can reduce the power consumption of the systemeffectively.When the system is idle,the power consumption of the node has been significantly reduced compared with the normal operation,and the system is stable.

μC/OS-Ⅱ;low-powerdesign;wireless sensor network node;idle state;power management

TP316.2

A

1672-8513(2014)06-0391-05

2014-05-09.

國家自然科學基金(61262091);云南省高校無線傳感器網(wǎng)絡重點實驗室開放基金(ZK2011002);云南民族大學研究生創(chuàng)新項目(2013YCX01).

趙錦劍(1986-),男,碩士研究生.主要研究方向:無線傳感器網(wǎng)絡和嵌入式系統(tǒng).

楊光永(1970-),男,博士研究生,副教授,碩士生導師.主要研究方向:微系統(tǒng)、智能控制與數(shù)字系統(tǒng)設計.

猜你喜歡
系統(tǒng)
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無人機系統(tǒng)
ZC系列無人機遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統(tǒng)
基于UG的發(fā)射箱自動化虛擬裝配系統(tǒng)開發(fā)
半沸制皂系統(tǒng)(下)
FAO系統(tǒng)特有功能分析及互聯(lián)互通探討
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
一德系統(tǒng) 德行天下
PLC在多段調(diào)速系統(tǒng)中的應用
主站蜘蛛池模板: 国产在线视频导航| 亚洲精品在线91| 成年女人a毛片免费视频| 国产一级毛片网站| 欧美成人精品一级在线观看| 在线观看无码av五月花| 精品福利视频网| 精品乱码久久久久久久| 国产爽歪歪免费视频在线观看 | 97成人在线视频| 亚洲一区免费看| 国产精品亚洲一区二区三区在线观看| 91免费国产高清观看| 国产精品免费久久久久影院无码| 欧美丝袜高跟鞋一区二区| 亚洲性一区| 国产精品美女网站| 最新国产你懂的在线网址| 成人国内精品久久久久影院| 欧美高清三区| 欧美另类视频一区二区三区| 四虎影院国产| 国产爽妇精品| 久久久噜噜噜久久中文字幕色伊伊 | 午夜毛片免费观看视频 | 欧美日韩国产成人高清视频| 久久香蕉国产线看观看精品蕉| 精品综合久久久久久97| 美女啪啪无遮挡| 国产人成乱码视频免费观看| 欧美精品v| 香蕉视频在线观看www| 国产精品密蕾丝视频| 国产精品无码久久久久AV| 国产成人久视频免费| 国产高清色视频免费看的网址| 国产毛片高清一级国语| 黄色网在线免费观看| 99热这里只有精品国产99| 色哟哟国产精品一区二区| 色香蕉影院| 日本欧美中文字幕精品亚洲| 亚洲一区二区三区麻豆| 九色在线观看视频| 日本三级黄在线观看| 午夜啪啪网| 亚洲第一精品福利| 日本91在线| 九九线精品视频在线观看| 日日拍夜夜嗷嗷叫国产| 免费午夜无码18禁无码影院| 欧美自拍另类欧美综合图区| 国产嫩草在线观看| 国产亚洲精品资源在线26u| 午夜无码一区二区三区在线app| 中文字幕人成人乱码亚洲电影| 国产精品综合色区在线观看| 性视频一区| 久久青草精品一区二区三区| 99热这里只有精品在线播放| 色网在线视频| 欧美丝袜高跟鞋一区二区 | 任我操在线视频| 色播五月婷婷| 久久成人免费| 999福利激情视频| 午夜国产精品视频黄| 日韩黄色在线| 99偷拍视频精品一区二区| 亚洲成aⅴ人片在线影院八| 成人福利在线看| 欧美日韩国产成人高清视频| 91无码人妻精品一区| 欧美在线精品怡红院| 玖玖精品在线| 欧美亚洲欧美区| 国产成人一区二区| 国产99久久亚洲综合精品西瓜tv| 亚洲日韩在线满18点击进入| 69国产精品视频免费| 中文字幕va| 无码一区二区波多野结衣播放搜索|