《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于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)模式和兩種節電模式。活動模式之間轉換時間小于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亚洲国产精品_日韩亚洲一区二区
久久精品99无色码中文字幕| 在线综合欧美| 日韩午夜免费| 亚洲国产成人久久综合| 国内精品久久久久影院色| 国产精品亚洲综合久久| 欧美日韩一区二区三区在线视频 | 国产欧美一二三区| 欧美午夜大胆人体| 欧美日韩亚洲一区三区| 欧美日韩久久精品| 欧美日韩精品中文字幕| 欧美精品免费在线观看| 欧美aa在线视频| 欧美国产精品一区| 欧美日韩大片| 欧美日韩性生活视频| 欧美日精品一区视频| 欧美三区免费完整视频在线观看| 欧美日韩和欧美的一区二区| 欧美日韩mv| 欧美日韩中文字幕在线| 欧美体内she精视频在线观看| 国产精品porn| 国产精品一区二区久久久| 国产精品亚洲综合一区在线观看 | 亚洲女人小视频在线观看| 亚洲一二区在线| 午夜天堂精品久久久久 | 国产日韩欧美在线播放| 国产欧美日韩综合| 国产一区二区精品丝袜| 一区二区三区在线不卡| 亚洲电影在线观看| 亚洲精品小视频在线观看| 亚洲免费黄色| 亚洲综合成人婷婷小说| 欧美一区午夜精品| 亚洲人成亚洲人成在线观看| 日韩午夜在线电影| 亚洲欧美激情视频在线观看一区二区三区 | 久久精品女人| 女生裸体视频一区二区三区| 欧美精选在线| 国产精品自在线| 好吊一区二区三区| 亚洲人成网站色ww在线| 亚洲一区二区不卡免费| 久久精品国产一区二区三| 日韩写真在线| 久久www免费人成看片高清 | 欧美精品三级在线观看| 国产精品无码专区在线观看 | 夜夜狂射影院欧美极品| 午夜视频在线观看一区| 亚洲国产一区二区三区青草影视| 99xxxx成人网| 欧美在线影院| 欧美老女人xx| 国产欧美在线视频| 亚洲国产欧美在线人成| 亚洲影音先锋| 亚洲人成免费| 午夜精品三级视频福利| 美女脱光内衣内裤视频久久影院 | 欧美日韩dvd在线观看| 国产欧美日韩三级| 亚洲精品人人| 欧美一区二区三区精品电影| 亚洲乱码日产精品bd| 午夜综合激情| 欧美理论在线播放| 国产综合色产在线精品| 日韩午夜电影av| 欧美在线播放高清精品| 亚洲五月婷婷| 裸体一区二区| 国产精品日韩欧美一区| 狠狠色丁香久久综合频道| 一区二区国产日产| 亚洲欧洲免费视频| 久久精品国产第一区二区三区最新章节 | 午夜精品三级视频福利| 欧美黑人国产人伦爽爽爽| 国产视频一区二区在线观看| 日韩亚洲欧美在线观看| 亚洲国产成人一区| 欧美一区二区播放| 欧美视频一区二区| 亚洲欧洲日本在线| 亚洲国产精品久久| 久久高清国产| 国产精品剧情在线亚洲| 亚洲精品影院在线观看| 亚洲国产精品一区制服丝袜 | 久久久99久久精品女同性| 欧美新色视频| 亚洲精品欧美| 亚洲美女电影在线| 麻豆91精品91久久久的内涵| 国产亚洲精品美女| 午夜精品久久久久久久| 亚洲欧美日韩另类精品一区二区三区| 欧美电影免费观看网站| 黑人操亚洲美女惩罚| 亚洲欧美视频在线观看| 亚洲性av在线| 欧美日韩999| 亚洲精品国产精品国自产观看| 久久精品91| 久久综合狠狠综合久久综合88| 国产日韩欧美综合| 亚洲永久网站| 午夜精品久久久久久久99热浪潮| 欧美体内谢she精2性欧美 | 久久国产乱子精品免费女 | 国产一区自拍视频| 午夜精品国产精品大乳美女| 午夜精品偷拍| 国产精品入口66mio| 亚洲午夜伦理| 亚洲欧美日本另类| 国产精品成人免费视频 | 欧美gay视频| 亚洲国产精品高清久久久| 亚洲精品123区| 欧美aⅴ一区二区三区视频| 在线观看一区| 99精品国产热久久91蜜凸| 欧美日韩国产精品一卡| 99热在线精品观看| 亚洲欧美久久久久一区二区三区| 国产精品久久久久久av福利软件| 在线亚洲激情| 欧美一级免费视频| 国产在线视频欧美| 亚洲高清免费| 欧美国产精品劲爆| 日韩一级大片在线| 亚洲欧美精品| 国产日韩欧美中文| 亚洲精品123区| 欧美精品aa| 亚洲色无码播放| 欧美怡红院视频| 激情六月婷婷久久| 亚洲乱码视频| 国产精品国产三级国产普通话99 | 欧美激情一二区| 亚洲视频网在线直播| 午夜一区不卡| 国内偷自视频区视频综合| 亚洲精品三级| 欧美精品导航| 一区二区三区免费观看| 亚洲欧美视频一区二区三区| 国产亚洲精品aa午夜观看| 亚洲国产精品成人一区二区| 欧美福利视频网站| 一区二区三区久久| 久久久国产成人精品| 亚洲国产日韩欧美在线99| 亚洲图片欧美一区| 国产视频欧美视频| 日韩视频免费观看高清在线视频| 欧美天天综合网| 欧美一区二区视频在线| 欧美激情1区2区| 亚洲欧美日韩精品久久久久 | 欧美欧美在线| 亚洲一区二区三区三| 久久先锋资源| 99在线精品视频在线观看| 久久久国产精品亚洲一区 | 久久精品国产成人| 欧美日韩在线播放三区| 欧美亚洲免费在线| 欧美精品一区二区在线观看| 亚洲综合不卡| 欧美激情一区二区三区在线视频| 亚洲资源在线观看| 欧美精品午夜| 欧美一区二区高清在线观看| 欧美国产一区二区| 亚洲欧美激情精品一区二区| 欧美大片在线看| 午夜欧美大尺度福利影院在线看| 毛片一区二区| 午夜精品影院| 欧美三级午夜理伦三级中视频| 久久本道综合色狠狠五月| 欧美视频中文一区二区三区在线观看| 欧美亚洲综合在线| 欧美三日本三级少妇三99| 亚洲国产欧美国产综合一区| 国产精品高潮在线| 99国产欧美久久久精品| 一区国产精品| 欧美亚洲自偷自偷| 99国产精品国产精品久久|