《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于μC/OS-Ⅱ的無線傳感器網絡系統(tǒng)的設計
基于μC/OS-Ⅱ的無線傳感器網絡系統(tǒng)的設計
來源:微型機與應用2012年第21期
戎 舟1,吳 夢2,吳 為3
(1.南京郵電大學 自動化學院,江蘇 南京 210003; 2.上海綠地能源(集團)有限公司,上海
摘要: 以適用于環(huán)境監(jiān)測的無線傳感器網絡系統(tǒng)為對象,設計并開發(fā)了相應的節(jié)點硬件。將μC/OS-Ⅱ實時操作系統(tǒng)移植于匯聚節(jié)點的處理器上,并結合無線傳感器網絡匯聚節(jié)點的特性,設計了合理的多任務調度機制。傳感節(jié)點設計了實時采集和按需采集兩種工作方式。開發(fā)了串口通信程序,實現(xiàn)了傳感器節(jié)點數(shù)據的實時監(jiān)控。測試結果表明,該系統(tǒng)運行良好。
Abstract:
Key words :

摘  要: 以適用于環(huán)境監(jiān)測的無線傳感器網絡系統(tǒng)為對象,設計并開發(fā)了相應的節(jié)點硬件。將μC/OS-Ⅱ實時操作系統(tǒng)移植于匯聚節(jié)點的處理器上,并結合無線傳感器網絡匯聚節(jié)點的特性,設計了合理的多任務調度機制。傳感節(jié)點設計了實時采集和按需采集兩種工作方式。開發(fā)了串口通信程序,實現(xiàn)了傳感器節(jié)點數(shù)據的實時監(jiān)控。測試結果表明,該系統(tǒng)運行良好。
關鍵詞: 無線傳感器網絡;μC/OS-Ⅱ操作系統(tǒng);無線通信;串口通信

 無線傳感器網絡WSN(Wireless Sensor Network)是近年來信息科學領域一個熱門的研究方向,它集成了無線通信技術、嵌入式技術、傳感器技術和分布式信息處理,能相互配合對環(huán)境或各種對象進行實時的監(jiān)測和感知,其被廣泛應用于軍事[1]、環(huán)境監(jiān)測[2]、動植物監(jiān)視[3]、智能家具[4]和健康結構監(jiān)測[5]等多個領域。
 無線傳感器網絡具有很強的應用相關性,不同的應用和需求對網絡結構和軟硬件的要求都不一樣。很多商用的WSN系統(tǒng)存在源代碼不公開、整個系統(tǒng)或單個節(jié)點價格過高以及對于某一具體應用適應差等問題。本文圍繞無線傳感器網絡應用的關鍵技術,開發(fā)了一個適用于室內環(huán)境監(jiān)控的實時數(shù)據收集的無線傳感器網絡系統(tǒng)。
1 系統(tǒng)設計
 在分析了幾種常見的無線傳感器網絡拓撲結構后,本文選取了分簇結構作為系統(tǒng)的拓撲結構。與一般分簇結構不同,采用中繼節(jié)點作為簇頭,一方面增加了網絡的傳輸距離,另一方面由于簇頭能量消耗較快,只要更換極少部分簇頭的能量就可以延長網絡的壽命。簇頭也可以擔任節(jié)點的任務進行數(shù)據采集。圖1為無線傳感器網絡拓撲結構圖。

1.1 硬件設計
 在選擇節(jié)點的處理器方面,主要考慮的因素包括價格、功耗、開發(fā)工具成本、片內集成的RAM、Flash及EEPROM大小等。目前已經商用的WSN節(jié)點,如Mica、Mica2 Dot、T-Nodes、Fleck等,都采用ATmega128作為CPU,一些自行開發(fā)的節(jié)點,參考文獻[6]、[7]也采用ATmega128。
 無線通信芯片選擇nRF24L0,其采用2.4~2.5 GHz世界通用ISM頻段,最高數(shù)據傳輸速率可達2 Mb/s,125頻道滿足多點通信和跳頻通信需要,發(fā)射和接收模式消耗的電流都比較低,而且高速鏈路層完全集成在芯片上,非常便于軟硬件的開發(fā)。
 Sink節(jié)點的硬件結構如圖2虛線框部分所示。其中,串口通信模塊負責Sink節(jié)點與計算機的連接,將收集的數(shù)據傳送到計算機上進行顯示。

 采集節(jié)點的硬件結構與圖2相似。采用溫度傳感器AD590和Honeywell的氣體質量流量傳感器AWM3200CR分別對溫度和空氣壓差參數(shù)進行轉換,然后采用ATmega128內的ADC將模擬信號轉成數(shù)字信號。串口模塊用于PC向節(jié)點下載程序。
1.2 Sink節(jié)點軟件設計
 (1)通信模塊軟件
 nRF24L01的數(shù)據包處理方式主要分直接收發(fā)模式、ShockBurst模式和增強型ShockBurst模式3種。在本文中,nRF24L01無線通信模塊都是采用增強型ShockBurst模式。根據nRF24L01在增強型ShockBurst模式下接收的步驟,設計了匯聚節(jié)點接收程序的設計。
為了提供從傳感器節(jié)點到匯聚節(jié)點的中繼轉發(fā),還設計了中繼節(jié)點,利用nRF24L01工作方式和信道切換來完成收發(fā)方式的轉變。
 (2)μC/OS-Ⅱ的移植與在匯聚節(jié)點上的應用
 μC/OS-Ⅱ是由LABROSSE J J編寫的一種源碼公開的嵌入式實時操作系統(tǒng)。程序大部分用C語言編寫,帶有少量的匯編,適合小型控制系統(tǒng),具有執(zhí)行效率高、占用空間小、實時性能優(yōu)良及可擴展性強等特點。本設計成功地將μC/OS-Ⅱ操作系統(tǒng)移植到ATmega128處理器上。
 移植完成后,實現(xiàn)μC/OS-Ⅱ操作系統(tǒng)在匯聚節(jié)點中的應用。首先在main函數(shù)中初始化無線芯片、串口、ATmega128的SPI等,然后函數(shù)創(chuàng)建不同優(yōu)先級的任務,最后啟動μC/OS-Ⅱ操作系統(tǒng)。由于匯聚節(jié)點要接收來自不同采集節(jié)點的數(shù)據,本文設計了多任務調度機制,分別利用不同的信道接收來自傳感器節(jié)點的數(shù)據。利用定時器和信號量機制分配時間,在一段時間內接收第一個傳感器節(jié)點的數(shù)據,然后這個任務放棄CPU使用權,第二個任務切入,接收來自第二個傳感器節(jié)點的數(shù)據,依次循環(huán)。中斷轉發(fā)程序設計流程如圖3所示。

1.3 采集節(jié)點軟件設計
 本系統(tǒng)主要設計了基于實時數(shù)據采集方式和基于按需數(shù)據采集方式兩種基于不同數(shù)據采集的方式。在這兩種方式中,收發(fā)的轉變由對nRF24L01工作方式的設置和信道切換來完成。
 (1)實時數(shù)據收集方式
 這種方式實際上是單向上行的數(shù)據傳輸結構。具體流程如下:
 ①Sink節(jié)點和簇頭節(jié)點初始化處于等待接收狀態(tài);
 ②簇內節(jié)點將數(shù)據以一定格式傳送給簇頭;
 ③簇頭將接收的數(shù)據合成,切換信道收發(fā)模式后,發(fā)送給Sink;
 ④Sink節(jié)點接收,通過串口傳輸給PC處理后顯示;
 ⑤簇頭再一次切換收發(fā)模式等待新的數(shù)據。
 這里,簇頭的設計涉及到無線數(shù)據的點對點收發(fā)、一對多收發(fā)以及收發(fā)模式切換的程序設計。
 (2)按需數(shù)據收集方式
 這種方式是一種雙向的數(shù)據傳輸,在PC采集節(jié)點1的信號時,其他節(jié)點為睡眠狀態(tài),從而節(jié)約能量。具體流程如下:
 ①PC向Sink節(jié)點發(fā)送讀取命令;
 ②Sink節(jié)點接收命令后向簇頭節(jié)點發(fā)送讀取命令,信道切換給簇頭1;
 ③簇頭接收到命令后將信道切換至節(jié)點1,節(jié)點1處于發(fā)送模式;
 ④節(jié)點1進行連續(xù)采集,采樣的數(shù)據發(fā)送給簇頭1;
 ⑤簇頭1收數(shù)據后轉發(fā)給Sink節(jié)點;
 ⑥Sink節(jié)點通過串口把數(shù)據傳送給PC機。
2 基于LabVIEW的實時監(jiān)控程序設計
 在系統(tǒng)中,Sink節(jié)點采用串口與PC相連,采集的數(shù)據由PC實時顯示,由于LabVIEW在串口通信和監(jiān)測數(shù)據的顯示等方面設計方便靈活,顯示直觀形象,因此,采用LabVIEW實現(xiàn)了串口通信和采集數(shù)據的顯示。圖4所顯示的是從兩個節(jié)點采集得到的溫度值。經過多次測試,該系統(tǒng)能穩(wěn)定運行,正常從各節(jié)點接收數(shù)據。

 

 

 本文實現(xiàn)了一個無線傳感器網絡的軟硬件系統(tǒng)。首先進行系統(tǒng)需求分析并且建立模型;然后完成了節(jié)點的軟硬件設計,并在匯聚節(jié)點的核心處理器上移植了μC/OS-Ⅱ操作系統(tǒng),實現(xiàn)了無線通信程序在多任務實時操作系統(tǒng)上的應用;最后用LabVIEW實現(xiàn)了串口通信和監(jiān)測數(shù)據的顯示。現(xiàn)場調試試驗取得了較為理想的效果。
 在今后的工作中,應進一步考慮如何降低功耗、實現(xiàn)更為靈活的路由機制、μC/OS-Ⅱ任務切換時間的分配、執(zhí)行效率等問題,使系統(tǒng)性能進一步優(yōu)化。
參考文獻
[1] 馬祖長,孫怡寧,梅濤.無線傳感器網絡綜述[J].通信學報,2005,4(25):114-124.
[2] SHETH A, THEKKATH C A, MEHTA P. Senslide: a distributed landslide prediction system[J]. Operating Systems Review,2007,41(2):75-87.
[3] JUANG P, OKI H, WANG Y, et al. Energy-effieient computing for wildlife tracking: design tradeoffs and early experiences with ZebraNet[C]. Proceedings of the 10th International Conference on Architectual Support for Programming Languages and Operating Systems, 2002:96-107.
[4] 紀晴,段培永,李連防,等.基于ZigBee無線傳感器網絡的智能家居系統(tǒng)[J].計算機工程與設計,2008,29(12):3064-3067.
[5] JAFARIR R, ENCARNACAO A, ZAHOORY A, et al.Wireless sensor networks for health monitoring[C]. The Second Annual International Conference on Mobile and Ubiquitous System: Networking and Services, MobiQuitous, 2005:479-481.
[6] 趙海,趙杰,劉錚,等.一種無線傳感器網絡節(jié)點的設計與實現(xiàn)[J].東北大學學報(自然科學版),2009,130(6):809-812.
[7] 田洪強,秦雅娟,鄭濤,等.無線傳感器網絡智能紅外控制節(jié)點的實現(xiàn)[J].計算機應用,2010,30(9):2549-2552.

此內容為AET網站原創(chuàng),未經授權禁止轉載。