<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 手機與無線通信 > 設計應用 > 利用捎帶技術提高ZigBee網絡性能的方法

          利用捎帶技術提高ZigBee網絡性能的方法

          作者: 時間:2008-06-10 來源:網絡 收藏
          摘要:對構建低速無線個域網的關鍵――協(xié)議進行深入研究,重點討論其層所支持的拓撲結構及采用的路由算法。ADOVjr是AODV的簡化算法,協(xié)議層使用該路由算法架設Adhoc,支持隨意的拓撲架構。在深入研究AODVjr的基礎上,提出一種將因特網“確認”應用于協(xié)議AODVjr路由算法的方案,并使用該方案架設無線傳感器網絡。實驗證明該方案能降低算法實現(xiàn)的復雜度,減少通信量,節(jié)約電池能量,有效ZigBee網絡的總體,具有一定的實用價值。 DSP2812
          關鍵字:ZigBee協(xié)議;;AODVjr

          1 引言

          IEEE 802.11、藍牙、UWB等協(xié)議推出以來,在短距離的無線監(jiān)測、控制、數(shù)據(jù)傳輸領域得到廣泛應用,但它們仍然存在功耗大、組網能力差等弱點。以組網能力強著稱的ZigBee協(xié)議能彌補上述協(xié)議的不足,特別適合于組建短距離低速無線個域網、無線傳感器網絡等。

          ZigBee協(xié)議由ZigBee聯(lián)盟于2004年12月中旬正是推出,其介質訪問控制子層(MAC)基于IEEE 802.15.4標準,網絡層采用Cluster-Tree+AODVjr路由算法,支持星形(Star)、樹狀(Cluster-Tree)、網格(Mesh)等多種拓撲結構[1],算法可在簡單的單片機平臺上實現(xiàn)[2]。其中,單獨采用AODVjr(AODV Junior,簡化的AODV)路由算法的Mesh網絡最為簡單,應用較廣泛。AODVjr算法是AODV(Ad hoc On Demand Distance Vector, Ad hoc按需距離矢量路由協(xié)議)算法的簡化,它跟AODV一樣,與目標節(jié)點通信時,采用先問路由,再發(fā)送數(shù)據(jù)或命令的辦法[3,4]。本文提出采用的AODVjr算法,將要發(fā)送的數(shù)據(jù)捎帶在AODVjr的路由請求和路由應答包中,大大ZigBee網絡的通信效率。DSP2812

          2 ZigBee的AODVjr協(xié)議

          ZigBee協(xié)議網絡層AODVjr算法是需求驅動型的,由源節(jié)點選擇路由,它是針對AODV算法的簡化改進??紤]到節(jié)能、成本、應用方便性等因素,AODVjr簡化AODV的一些特點,但是仍然保持AODV的主要功能。

          首先,在AODVjr路由算法中,沒有目標節(jié)點序列號,只有目標節(jié)點才能發(fā)送路由應答(Route Reply,RREP)包,這樣可以避免循環(huán)問題和無效RREP包出現(xiàn),通信效率。其次,AODVjr刪除路由錯誤(Route Error,RERR)包及前驅列表(Precursor List)。另外,為了避免廣播風暴,AODV中周期性發(fā)送的Hello包也被刪除。在ZigBee的集成路由算法中,AODVjr中的許多優(yōu)點使得路由協(xié)議簡單化且實現(xiàn)AODV的基本路由功能[5,6]。

          圖1(a)和(b)是AODVjr算法尋找路由的方式。當節(jié)點A要發(fā)送信息給節(jié)點D時,如果發(fā)現(xiàn)自己沒有到節(jié)點D的路由,便通過組播(Multi-Broadcast)路由請求(Route Request,RREQ)包,請求其鄰居幫忙查找到節(jié)點D的路徑。每個接收到RREQ包的節(jié)點,都維護一條到節(jié)點A的路由信息,同時幫助節(jié)點A廣播查找節(jié)點D。通過這種洪泛(Flooding)方式,RREQ包會被廣播轉發(fā)至節(jié)點D。節(jié)點D接收到RREQ包后,根據(jù)RREQ包的路由代價(Cost)決定是否更新自己的路由表,同時通過路由代價最小的路徑給節(jié)點A回復RREP包。節(jié)點A查找目標節(jié)點通常是通過組播進行的,而節(jié)點D給節(jié)點A回復RREP包則通過單播(Unit-Broadcast)進行的。節(jié)點A接收到節(jié)點D的RREP包后,根據(jù)Cost最小原則決定與節(jié)點D通信所走的最佳路徑。圖1中,節(jié)點A查找到節(jié)點D的最短路徑:A->B->C->D,然后把數(shù)據(jù)發(fā)送給節(jié)點D,節(jié)點D再通過D->C->B->A給節(jié)點A確認信息。

          DSP2812

          圖1 AODVjr算法查找路由及通信方式

          在ZigBee協(xié)議里,AODVjr的RREQ包和RREP包作為網絡層命令傳送,成為單獨的網絡負荷,如圖2所示。其中命令標識值等于0x01時是RREQ包,等于0x02時是RREP包;單字節(jié)的命令選項只使用一個比特,用于區(qū)分該路由包是單獨進行路由查找還是進行路由修復(Route Repair)[1]。

          (a)路由請求包

          DSP2812

          (b)路由應答包

          (c)命令選項

          圖2 ZigBee網絡層的命令包

          3 捎帶技術在AODVjr的應用

          ZigBee網絡里的AODVjr屬于后應式的按需Ad hoc網絡,不周期性地更新自己的路由信息,只有在需要通信時,才發(fā)起路由查找過程。在ZigBee網絡里,節(jié)點會移動或者休眠,通信時幾乎每次都要重新查找路由,而每次傳輸?shù)臄?shù)據(jù)量又比較少,絕大多數(shù)情況下只要傳送一次即可完成,如獲取傳感器的值。為了達到節(jié)能且降低通信復雜度的目的,可將互聯(lián)網中常用的“捎帶確認”技術應用于ZigBee網絡。

          所謂“捎帶確認”,是指為了提高網絡的通信效率,目標節(jié)點接收到源節(jié)點的數(shù)據(jù)后,將確認(ACK)信息附加在目標節(jié)點發(fā)送給源節(jié)點的數(shù)據(jù)包中,由這些數(shù)據(jù)包捎帶給源節(jié)點。DSP2812

          采用捎帶技術后,如圖3(a)所示,源節(jié)點可以把要發(fā)送給目標節(jié)點的數(shù)據(jù)或命令放置在RREQ包后面,成為網絡負荷的一部分,由RREQ包傳送給目標節(jié)點。目標節(jié)點接收到RREQ包后,在給源節(jié)點回應RREP包之前,處理源節(jié)點發(fā)送的數(shù)據(jù)或者命令,將要發(fā)送的ACK或者數(shù)據(jù)由RREP包捎帶給源節(jié)點,如圖3(b)所示。

          (a)捎帶數(shù)據(jù)或命令的路由請求包

          (b)捎帶ACK或數(shù)據(jù)的路由應答包

          (c)改進后的命令選項

          圖3 采用捎帶技術的ZigBee網絡層命令包

          如圖3(c)所示:引進捎帶功能后,要修改AODVjr里的命令選項,將保留的7個比特用于表示捎帶數(shù)據(jù)的長度,為0時表示此路由包沒有捎帶任何數(shù)據(jù),是普通的AODVjr路由包。

          沒有采用捎帶技術時,如圖1所示,源節(jié)點和目標節(jié)點之間傳輸數(shù)據(jù)需要2個來回;改進后只需要圖1(a)、(b)所示的一個來回。由此可見,將數(shù)據(jù)捎帶在路由包中,對于只需通信一次數(shù)據(jù)就可以傳輸完畢的情況,能夠節(jié)省一個來回的時間。這樣,網絡在通信延遲、節(jié)能、效率上都有優(yōu)化,同時降低通信復雜度。

          4 算法的實現(xiàn)

          4.1 協(xié)議棧

          采用捎帶技術的ZigBee協(xié)議棧有3層,其體系結構如圖4所示。協(xié)議棧參考ZigBee網絡的結構,物理層和介質訪問控制層采用IEEE 802.15.4協(xié)議,網絡層僅使用捎帶技術的AODVjr路由算法,通過應用支持子層與應用層建立聯(lián)系。該協(xié)議棧簡單、實用、高效。

          圖4 采用捎帶技術的ZigBee協(xié)議棧

          4.2 路由設計與實現(xiàn)

          (a)目標節(jié)點接收到RREQ包

          (b)源節(jié)點接收到RREP包

          圖5 目標節(jié)點和源節(jié)點處理RREQ和RREP流程

          采用捎帶技術后,對算法復雜度的影響不大。只要稍微改動源節(jié)點和目標節(jié)點發(fā)送以及接收RREQ包和RREP包的程序即可,中間節(jié)點仍按普通的AODVjr包處理數(shù)據(jù)。

          圖5是目標節(jié)點和源節(jié)點處理RREQ包和RREP包的程序流程,從中可以看出,捎帶技術并沒有增加算法實現(xiàn)的復雜度。作者在美國赫立訊公司的IP-Link122x系列模塊中使用Keil C編程,實現(xiàn)使用捎帶技術的ZigBee網絡。該模塊通過美國FCC認證,經過ZigBee聯(lián)盟指定的德國萊茵TUV ZigBee實驗室一致性測試,是符合IEEE 802.15.4標準和ZigBee協(xié)議的模塊。本文算法運行在模塊自帶的嵌入式芯片――Silicon Laboratories公司的8051內核MCU上,采用Chipcon AS公司的射頻芯片CC2420收發(fā)數(shù)據(jù)。

          5 實驗結果

          研發(fā)過程中,可以使用Chipcon AS公司的IEEE 802.15.4包監(jiān)聽器(Packet Sniffer)分析空氣中傳送的數(shù)據(jù)包,對不同節(jié)點數(shù)目的Ad hoc進行測試,可取得良好的結果。

          實驗中,采用Mesh拓撲,50個節(jié)點組成的ZigBee網絡隨意分布在三層樓中,采用對等連接方式,僅使用AODVjr路由算法。兩個節(jié)點通信的平均傳輸延遲及成功率,采用捎帶技術前后質量對比如表1所示。從表1可知,傳輸延遲時間可以減少很多,且成功率有一定的提高。證明本文提出的網絡結構及軟硬件設計的可行性。

          表1 采用捎帶技術前后的通信質量對比

          節(jié)點間跳數(shù)

          延遲/ms

          (使用前)

          延遲/ms

          (使用后)

          成功率/%

          (使用前)

          成功率/%

          (使用后)

          2

          132

          82

          99.9

          99.9

          4

          221

          155

          99.2

          99.8

          6

          490

          300

          98.7

          99.3

          8

          623

          389

          96.3

          99.0

          10

          870

          533

          95.9

          98.2

          12

          1108

          612

          95.2

          98.0

          14

          1302

          703

          94.7

          97.7

          16

          1536

          834

          94.3

          97.3

          18

          1787

          965

          93.3

          96.6

          20

          2110

          1164

          92.8

          96.1

          6 結論

          本文提出采用捎帶技術的AODVjr算法,同時給出簡化的ZigBee協(xié)議體系結構,并在硬件平臺上實現(xiàn)該方案。實踐證明,采用捎帶技術能降低算法實現(xiàn)的復雜度,減少通信量,節(jié)約電池能量,有效提高ZigBee網絡的總體。本還可以在其他使用AODV算法的網絡中推廣,具有一定的實用價值。DSP2812開發(fā)板

          參考文獻

          [1] Zigbee Alliance. ZigBee Specification (Version 1.1)[S]. 2006.

          [2] 張成武,譚斌.單片機Zigbee技術在遠程抄表系統(tǒng)中的應用[J].微計算機信息,DSP2812開發(fā)板2006:22(32):96-98.

          [3] RFC 3561:Ad hoc On-Demand Distance Vector (AODV) Routing[S].2003.http://www.51kaifa.com/shop/read.php?ID=4732

          [4]Mobility Management and Networking (MOMENT) Laboratory. Ad hoc On-Demand Distance Vector Routing[EB/OL].http://moment.cs.ucsb.edu/AODV/aodv.html, 2007-4-2.

          [5]Ian D. Chakeres, Luke Klein-Verndt. AODVjr,AODV Simplified[J]. Mobile Computing and Communication Review,2002,6(3):100-101.http://www.51kaifa.com/shop/read.php?ID=4732

          [6]Qiu F., Wang J-M., Leng J. "Design and Implementation of a Wireless Personal Area Network Based on AODVjr Routing" in Wireless MobileMultimedia Networks (ICWMMN) Proceedings[C].Beijing:The Institution of Engineering and Technology,London(IET),2006:424-427.



          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();