《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于nRF905的無線傳感器網絡節點的設計與實現
基于nRF905的無線傳感器網絡節點的設計與實現
來源:微型機與應用2010年第15期
楊海粟,吳長奇,劉立芳
(燕山大學 信息科學與工程學院,河北 秦皇島 066004)
摘要: 以STC12系列單片機和nRF905射頻收發器為核心,設計了一種無線傳感器網絡節點和基于這種節點的自組織通信協議。給出了節點的整體結構,詳細闡述了軟件設計流程。試驗表明該節點實現了自組織和多跳數傳,通信穩定可靠,網絡吞吐率達到無線傳感器網絡的要求。
Abstract:
Key words :

摘  要:STC12系列單片機和nRF905射頻收發器為核心,設計了一種無線傳感器網絡節點和基于這種節點的自組織通信協議。給出了節點的整體結構,詳細闡述了軟件設計流程。試驗表明該節點實現了自組織和多跳數傳,通信穩定可靠,網絡吞吐率達到無線傳感器網絡的要求。
關鍵詞: nRF905;無線傳感器網絡;自組織

    無線傳感器網絡是計算機技術、傳感器技術和網絡通信技術相結合的產物。它由大量隨機分布的、具有實時感知、無線通信和自組織能力的傳感器節點組成[1]。隨著無線技術的高速發展,無線傳感器網絡越來越多地走進人們的視野中。與有線技術相比,無線技術具有成本低、體積小、省去復雜的布線等優點。但是由于現有的無線傳感器節點大都采用電池供電,放置地點隨機變動,隨時可能出現節點中斷的情況,通信能力十分有限,需要經常性的人工維護。因此,無線傳感器網絡節點要具有自組織、中斷自我修復的功能,需要設計合適的通信協議和路由算法,以提高系統通信的可靠性。為此,本文采用無線射頻芯片nRF905和STC12系列單片機設計了一種無線傳感器節點,并且在典型自組織網絡的通信協議-動態源路由協議DSR(Dynamic Source Routing)[2-4]的基礎上,針對路由維護算法做出改進,設計出一種易于實現且實用性高的通信協議,實現了自組織和多跳傳輸數據的無線通信系統。
1 節點硬件設計
    節點分為協調器節點和普通節點,普通節點帶有傳感器,負責采集需要的數據并組成網絡,協調器節點負責整個網絡的控制和數據的匯總、分析、處理等。圖1為協調器和普通節點的結構圖。

1.1 MCU
    STC12LE5410AD單片機是單時鐘/機器周期(1T)的兼容8051內核單片機,是高速、低功耗的新一代8051單片機,指令代碼完全兼容傳統8051,而速度快8~12倍,內部集成硬件高速SPI(Serial Peripheral Interface)接口、2 KB EEPROM、A/D轉換模塊和MAX810專用復位電路。工作電壓2.4~3.8 V,因此可用電池工作,并可長時間工作。器件在少于6 μs的時間內可以從低功耗模式迅速喚醒。STC12LE5410AD的超小封裝、高度集成、精簡外部電路可設計出更小的節點,超低的價格可以大規模鋪設傳感器節點。STC12LE5410AD單片機的這些特征,非常適合應用在無線傳感器網絡中。
1.2 射頻收發器件nRF905[5]
    nRF905由挪威Nordic公司生產,是一個為433/868/915 MHz-ISM(工業、科學、醫療)頻段設計的單片無線收發芯片,32腳QFN封裝,工作電壓為1.9~3.6 V,最大發射功率為10 dBm。該收發芯片由頻率合成器、接收解調器、功率放大器、晶體振蕩器和調制器組成,片內自動完成曼徹斯特編碼/解碼。nRF905有兩種活動(TX/RX)模式和兩種節電模式?;顒幽J街g轉換時間小于550 μs,活動模式與節電模式之間的轉換時間小于650 μs。
    nRF905通過SPI與微控制器通信,自動處理字頭和循環冗余碼校驗(CRC)。當進行數據發送時,只需將配置寄存器信息、所要發送的數據和接收地址送給nRF905,它就會自動完成數據打包(加字頭和CRC校驗碼)和發送。接收數據時,nRF905自動檢測載波并進行地址匹配,接收到正確數據后自動移去字頭、地址和CRC校驗碼,再通過SPI將數據傳送到微控制器。
1.3 硬件連接設置
    STC單片機通過內部集成的硬件高速串行外設接口SPI與nRF905連接,最快可達3 Mb/s,比軟件模擬SPI方式快30倍左右,大大減少了程序執行時間,提高了網絡的吞吐率。同時在設計協調器節點與PC上位機軟件通信程序時,利用STC單片機1T時鐘的優勢,設置串口波特率使用的定時器12倍速方式,使串口波特率提高至115 200 b/s,提高了協調器節點的反應速度,減少了等待時間,提高了系統的吞吐率。
2 節點軟件設計
    本系統的軟件設計分為協調器節點Connector軟件和普通節點Node軟件的設計,其中協調器節點作為整個網絡系統的主節點,起著控制全網絡的作用,通過PC機的上位機軟件,可以對協調器進行接收和發送命令及數據,從而實現對整個系統網絡的控制。而每個普通節點也預留通信接口,可以在需要的時候與其他設備相連接。
    由于本系統實現自組織網絡的需要,在物理層中為每個節點(包括協調器和普通節點)定義了相同的物理地址,實現全網的廣播功能。在網絡層為每個節點分配唯一的網絡地址,通過軟件判斷接收數據的目的節點是否是本機。
    圖2為節點自組織流程圖。當網絡中增加一個新節點,新節點上電初始化后,首先會向協調器發送路由請求RREQ請求加入網絡,并打開定時器;協調器收到RREQ后,記錄新節點信息,并通過反路由發送應答信號ACK至源節點;如果新節點在設定的時間內收到ACK信號,表示加入網絡成功,并且記錄本節點至協調器的路由信息;如果在設定的時間內沒有收到ACK信號,那么重新發送路由請求RREQ至協調器,如此循環直至收到ACK信號。如果重發次數達到設定的上線,仍沒有收到ACK信號,則進行全網廣播RREQ,并打開定時器,等待返回RREP命令;在設定時間后進行重新廣播RREQ,直到到達重發上限。新節點收到RREP表示加入網絡成功,同時保存RREP命令幀中的路由信息。

2.1 路由協議
    現有無線網狀網絡的路由協議通常可分為:表驅動式路由協議和按需路由協議。前者需要網絡中的每個節點維護一張或多張路由表,以記錄到其他節點的路由,增加了路由開銷。而按需路由協議——動態源路由協議(DSR)使用了源路由,每一個數據分組的幀頭中包含整條路由的信息,中間節點不需要維持當前的路由信息,分組自己帶有路由信息,按需路由的特性避免了周期性路由廣播和鄰居節點的檢測。
    DSR協議包括兩個過程:路由發現和路由維護。路由發現過程使用泛洪路由(Flooding Routing)。為了減少路由發現過程的開銷,每一個節點都包括一個緩存器,存放最近學到的和用過的路由信息。路由維護過程是源節點用來檢測網絡拓撲是否發生變化的機制。若拓撲發生變化、源路由發生中斷,源節點就會收到路由錯誤信息。其他節點收到路由錯誤信息后刪除中斷路由,并且重新發起廣播尋找路由。
    本系統中的路由協議采用DSR協議,并對DSR協議進行一些改進。
    (1)每個節點中到達目的節點含有最多兩個路由緩存。
    (2)查到中斷節點后先檢查本節點中有無到中斷節點下級節點的信息,若有,則直接使用此路由,若無,則立即廣播發送RRER。
    (3)所有節點收到RRER后,檢查是否含有終端路由,有則刪除中斷路由。
    系統通信協議格式如表1所示。其中,FRAME_TYPE表示命令幀類型,SOURCE_ADDR表示源地址,FIRE_ADDR表示目的地址,MID表示路由節點地址,REMIAN表示最大跳數下剩余跳數,MAX表示最大跳數,DATA表示要傳輸的數據,ODD代表奇校驗。

2.2 程序設計
2.2.1 廣播

    在廣播RREQ時,為了避免廣播沖突,利用nRF905的載波檢測多路訪問機制CSMA/CA,發送前先進入接收模式,監聽該信道是否空閑。如果檢測到CD信號為高,則表示該信道被占用,根據退避延時一段時間,再檢測CD信號是否為高。
    而根據檢測,數據包接收的時間大致為20 μs,時隙為60 μs,加上程序運行的時間,定義短幀空間SIFS和時隙分別為50 μs及100 μs,分散幀空間DIFS為SIFS加2個時隙即250 μs。CSMA/CA程序流程如圖3所示,定義NB、CW和BE。


    后退次數(NB):NB的初始值為0,當設備有數據要傳送時,經過一段后退時間(2BE-1)×100 μs后,檢測CD,若檢測到信道忙,則會再一次產生倒退時間。此時NB值會加1,NB值最大定義為4。當信道在經過4次的后退延遲時間后仍為忙,則放棄此次的傳送,以避免過大開銷。
    嘗試次數(CW):循環判斷當前頻道是否空閑,當判斷到了一定次數后該頻道依然空閑則跳出循環,開始傳送數據,設初值為2。
    后退指數(BE):初值設為2。
    本設計中,CD信號為高時必須通過切換至standby模式來使CD信號復位,以保證下次CD信號的檢測。
    根據nRF905模塊的時序可知,模塊從standby模式切換至接收或發送模式的時間為650 μs,發送和接收模式之間的切換需要550 μs,切換時間遠大于時隙及DIFS的值。因此,BE設置為2,最大為4。
2.2.2 數據傳輸
    在進行數據傳輸時,源節點首先檢查自己的緩存中是否有到目的節點的路由信息,如果沒有,則先進行路由發現,與廣播模式相同。如果有至目的節點的路由信息,則根據路由信息,先發送數據請求命令RTS。當目的節點接收到返回的允許發送命令CTS信號時,則表示已經建立了數據傳輸通道,由請求節點開始傳輸數據,傳輸完畢后,由目的節點發送DATA_ACK給源節點,表示數據發送完畢。其工作流程如圖4所示。

2.2.3 路由修復
    數據傳輸時,每個節點收到數據后,都要先回復應答ACK信號給其前一個節點,再轉發至下一個中繼節點,節點中設置超時定時器,約等待1 633 μs ACK信號,前一個節點沒有收到ACK,則重發數據,設置重發次數為3。假若重發3次都沒有收到ACK信號,則判斷下一個節點為中斷節點。查詢緩存路由中是否有其他到達中斷節點下游節點的信息,有則使用這個備用路由,無則廣播發送RERR給所有包含中斷節點路由的源節點,每個節點在收到該RERR后,就會從它的路由緩存中刪除所有包含該中斷節點的路由。
    路由修復示例如圖5所示。節點0需要發送數據給節點5,節點0中含有到節點5的路由信息,0→1→2→5;節點0開始發送RTS,每個節點收到RTS后返回給前一個節點ACK,表示路由無中斷;假若節點1沒有收到ACK,重發3次后仍沒有ACK返回,則判斷節點2是中斷節點;這時查詢節點1中有無到達節點5的路由,發現1→3→4→5,則按照此路由繼續發送RTS;當節點1返回DATA_ACK,表示數據傳輸完成,延遲10×跳數(ms)后,廣播發送RRER,收到RRER的每個節點查詢本節點是否含有中斷路由,有則從路由緩存中刪除包含中斷節點的路由。

3 試驗結果
    試驗網絡系統由10個普通節點和1個協調器節點組成,采用人工隨機安放的方式把所有節點放置在約200 m的空曠地帶。首先,把協調器節點通過串口與主控PC機連接,打開上位機控制軟件,并給協調器節點上電;隨后在隨機放置普通節點的同時一一打開節點的電源。
    通過上位機軟件可以清楚地看到,每當有新節點加入網絡(打開電源),上位機會實時顯示出新加入節點的地址和路由信息,并且通過反向路由返回應答信號給新節點,表示成功加入網絡。當所有節點都加入網絡后,可以通過上位機軟件看到整個網絡中各個節點的路由信息,并且可以對每個節點或多個節點進行遠程控制。
    為了實時監測到每個節點的運行情況,每個節點程序都加入定時掃描程序,定時時間1 min,檢測節點本身在1 min內是否為空閑狀態,如果是空閑狀態,則向協調器節點發送節點信號,保證本鏈路無中斷;協調器在一定時間周期內,檢測接收到的每個節點信號,如果缺少某個節點的信息,則由協調器發送檢測信號給這個節點,尋找中斷節點并進行路由維護。也可以直接通過主控電腦的上位機軟件手動發送檢測信號給每個節點,從而檢測每個節點的運行情況。
    nRF905的空中傳輸速率峰值為100 kb/s,有效傳輸速率為50 kb/s。
    通過上位機軟件對整個網絡進行連續數據傳輸試驗,測試在本協議下的網絡吞吐率。測試條件:200 m空曠地帶,分別測試一個節點至10節點網絡中點對點,1跳、2跳、3跳情況下的吞吐率,數據包大小32 B。傳輸要求一個包到達目的節點后返回到應答表示傳輸完成,其吞吐率計算[6]如下:
   
    測得的網絡吞吐率如圖6所示??梢钥闯?,網絡中進行點對點的數據傳輸,吞吐率約為16 kb/s,并且隨著節點數的增多,影響很小;隨著跳數的增加,網絡吞吐率降低,但是網絡中節點數量增多,同時節點傳輸幾率增加,因此逐漸趨于穩定值。最后在網絡設定最大跳數(3跳)、10個節點網絡的情況下,網絡吞吐率約為4 kb/s。

    通過實驗測得數據表明,在短距離的無線通信網絡中,該系統可以穩定可靠地運行,數據傳輸率高,網絡吞吐率完全可以達到一般的無線傳感器網絡的要求。并且該系統具有良好的擴展性、移植性和實用性,可廣泛運用于溫度、濕度、光傳感器采集數據、能量監測及電路控制等技術。
參考文獻
[1] 孫利民,李建中,陳渝,等.無線傳感器網絡[M].北京:清華大學出版社,2005.
[2] 陳模科,陳勤,羅敏,等.DSR本地修復算法的改進[J].微電子學與計算機,2009(26):142-145.
[3] JAWHAR I, TRABELSI Z, Al-JAROODI J. Towards more reliable source routing in wireless networks[C]. Proc. IEEE Int. Conf. Networking, Archit., Storage-IEEE NAS 2008, 2008.
[4] 屠梓浩,吳榮泉,錢立群.無線Ad Hoc網絡DSR路由協議的優化設計[J].計算機工程,2009,35(4):97-99.
[5] Nordic VLSIASA. Single Chip 433/868/915MHz Transceiver nRF905. 2004-01.
[6] 柯欣,孫利民.多跳無限傳感器網絡吞吐量分析[J].通信學報,2007,28(9):78-84.

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲视频成人| 欧美成人官网二区| 亚洲欧洲日产国码二区| 香蕉成人伊视频在线观看| 亚洲一区二区三区777| 一区二区日韩伦理片| 日韩系列在线| 日韩视频免费| 日韩天堂在线视频| 99国产精品自拍| 日韩一区二区电影网| 日韩视频免费大全中文字幕| 亚洲精品一区二区三区av| 亚洲人成在线播放网站岛国| 91久久国产精品91久久性色| 亚洲人www| av不卡在线观看| 一区二区三区国产精华| 中文在线一区| 亚洲综合色在线| 亚洲欧美视频在线观看视频| 香蕉国产精品偷在线观看不卡| 亚洲欧美综合精品久久成人 | 小处雏高清一区二区三区| 亚洲综合精品| 久久精品国产v日韩v亚洲 | 亚洲国产精品久久久久秋霞不卡| 亚洲国产婷婷综合在线精品| 亚洲精品女av网站| 亚洲亚洲精品在线观看| 午夜精品福利在线观看| 久久国产精品黑丝| 亚洲美女在线国产| 亚洲视频一区二区| 欧美亚洲视频在线看网址| 久久久在线视频| 欧美成人免费一级人片100| 欧美日韩国产一级| 国产精品卡一卡二| 国产亚洲成av人在线观看导航| 极品少妇一区二区三区精品视频| 亚洲日本一区二区| 亚洲在线一区二区三区| 久久精品国产亚洲高清剧情介绍| 91久久久久| 亚洲在线一区| 久久蜜桃av一区精品变态类天堂| 欧美成人综合| 国产精品久久9| 激情av一区| 夜夜嗨av色综合久久久综合网| 亚洲欧美视频一区| 亚洲久久在线| 欧美影院一区| 欧美精品91| 国产日产欧产精品推荐色 | 亚洲精品偷拍| 香蕉免费一区二区三区在线观看| 亚洲精品日韩精品| 亚洲欧美怡红院| 欧美成ee人免费视频| 国产精品国产精品| 亚洲第一级黄色片| 亚洲天堂激情| 亚洲看片免费| 久久精品人人做人人爽电影蜜月| 欧美区高清在线| 国产日韩精品入口| 99ri日韩精品视频| 久久国产精品第一页| 在线视频中文亚洲| 美女主播视频一区| 国产精品视频免费观看www| 亚洲国产欧美一区二区三区久久| 亚洲欧美日本日韩| 一区二区三区四区精品| 久久五月激情| 国产精品免费视频观看| 亚洲啪啪91| 亚洲高清视频在线观看| 午夜精品视频在线| 欧美日本精品一区二区三区| 黄色成人av在线| 亚洲欧美视频一区二区三区| 在线亚洲一区| 欧美成人国产| 激情久久久久久久| 翔田千里一区二区| 午夜亚洲性色福利视频| 欧美视频专区一二在线观看| 亚洲黄色免费网站| 欧美资源在线| 欧美在线free| 国产精品久久久久久久久久妞妞 | 亚洲午夜一区二区三区| 欧美国产免费| 在线视频成人| 久久精品123| 久久精品视频播放| 国产伦精品一区二区| 中文在线资源观看网站视频免费不卡| 99riav1国产精品视频| 欧美承认网站| 在线观看亚洲视频啊啊啊啊| 欧美一区二区三区在线免费观看 | 亚洲精品欧美日韩专区| 亚洲精品在线观看免费| 麻豆免费精品视频| 狠狠操狠狠色综合网| 久久成人精品无人区| 久久久久久久网| 国产自产在线视频一区| 午夜免费电影一区在线观看| 欧美一区二区三区日韩| 国产精品视频自拍| 亚洲一区二区三区精品视频| 亚洲综合成人婷婷小说| 国产精品国产三级国产专区53| 日韩一级成人av| 亚洲一区二区三区激情| 欧美日韩在线直播| 正在播放欧美视频| 午夜精品久久| 国产色产综合色产在线视频| 欧美专区福利在线| 久久综合婷婷| 最近看过的日韩成人| 夜夜嗨av色综合久久久综合网| 欧美日韩亚洲综合| 亚洲一区二区精品在线| 欧美亚洲专区| 黑人操亚洲美女惩罚| 亚洲精品三级| 欧美日韩三级电影在线| 亚洲一区二区三区四区五区午夜| 欧美在线视频观看| 黄色国产精品一区二区三区| 亚洲人成在线播放| 欧美日韩精品一区二区在线播放| 亚洲视频1区2区| 久久精品国产亚洲a| 国内精品嫩模av私拍在线观看 | 夜夜嗨av色综合久久久综合网| 欧美午夜剧场| 亚洲综合色婷婷| 久久综合色一综合色88| 亚洲精品综合| 午夜久久电影网| 国内精品福利| 99这里只有精品| 国产精品欧美经典| 亚洲福利一区| 欧美午夜精品伦理| 欧美一区亚洲| 欧美美女福利视频| 亚洲字幕一区二区| 美国十次成人| 亚洲一二三区在线观看| 久久精品官网| 亚洲精品欧美极品| 欧美一区日韩一区| 亚洲国产成人av好男人在线观看| 亚洲尤物视频在线| 狠狠色2019综合网| 亚洲无限av看| 激情欧美丁香| 亚洲一区二区四区| 精品成人一区二区| 亚洲一区在线直播| 在线看片成人| 性做久久久久久免费观看欧美 | 久久xxxx精品视频| 欧美日韩精品国产| 欧美一级网站| 欧美午夜欧美| 亚洲国产mv| 国产精品美女久久久久久免费 | 久久国产精品久久久久久电车| 亚洲国产婷婷| 久久久久国产精品午夜一区| av成人国产| 免播放器亚洲一区| 亚洲欧美成aⅴ人在线观看| 欧美激情精品久久久久久大尺度 | 亚洲裸体视频| 国产一区二区日韩精品| 亚洲午夜av| 亚洲缚视频在线观看| 久久福利视频导航| 妖精成人www高清在线观看| 蜜臀久久99精品久久久画质超高清 | 国产精品综合久久久| 妖精视频成人观看www| 激情综合网激情| 新狼窝色av性久久久久久| 最新高清无码专区| 久久综合伊人77777蜜臀| 亚洲综合色噜噜狠狠| 欧美日韩综合久久| 亚洲精品黄网在线观看|