當(dāng)前位置:首頁(yè) > 通信技術(shù) > 通信技術(shù)
[導(dǎo)讀]對(duì)構(gòu)建低速無(wú)線個(gè)域網(wǎng)的關(guān)鍵技術(shù)——ZigBee協(xié)議進(jìn)行深入研究,重點(diǎn)討論其網(wǎng)絡(luò)層所支持的拓?fù)浣Y(jié)構(gòu)及采用的路由算法。

摘要:對(duì)構(gòu)建低速無(wú)線個(gè)域網(wǎng)的關(guān)鍵技術(shù)——ZigBee協(xié)議進(jìn)行深入研究,重點(diǎn)討論其網(wǎng)絡(luò)層所支持的拓?fù)浣Y(jié)構(gòu)及采用的路由算法。ADOVjr是AODV的簡(jiǎn)化算法,ZigBee協(xié)議網(wǎng)絡(luò)層使用該路由算法架設(shè)Ad hoc網(wǎng)絡(luò),支持隨意的拓?fù)浼軜?gòu)。在深入研究AODVjr的基礎(chǔ)上,提出一種將因特網(wǎng)“捎帶確認(rèn)”技術(shù)應(yīng)用于ZigBee協(xié)議AODVjr路由算法的方案,并使用該方案架設(shè)無(wú)線傳感器網(wǎng)絡(luò)。實(shí)驗(yàn)證明該方案能降低算法實(shí)現(xiàn)的復(fù)雜度,減少通信量,節(jié)約電池能量,有效提高ZigBee網(wǎng)絡(luò)的總體性能,具有一定的實(shí)用價(jià)值。 DSP2812
關(guān)鍵字: ZigBee協(xié)議;捎帶;AODVjr

1 引言

IEEE 802.11、藍(lán)牙、UWB等協(xié)議推出以來(lái),在短距離的無(wú)線監(jiān)測(cè)、控制、數(shù)據(jù)傳輸領(lǐng)域得到廣泛應(yīng)用,但它們?nèi)匀淮嬖诠拇?、組網(wǎng)能力差等弱點(diǎn)。以組網(wǎng)能力強(qiáng)著稱的ZigBee協(xié)議能彌補(bǔ)上述協(xié)議的不足,特別適合于組建短距離低速無(wú)線個(gè)域網(wǎng)、無(wú)線傳感器網(wǎng)絡(luò)等。

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

2 ZigBee的AODVjr協(xié)議

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

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

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

 DSP2812

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

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

   

(a)路由請(qǐng)求包                      

DSP2812

 (b)路由應(yīng)答包                

(c)命令選項(xiàng)

圖2 ZigBee網(wǎng)絡(luò)層的命令包

3 捎帶技術(shù)在AODVjr的應(yīng)用

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

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

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

   

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

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

(c)改進(jìn)后的命令選項(xiàng)

圖3 采用捎帶技術(shù)的ZigBee網(wǎng)絡(luò)層命令包

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

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

4 算法的實(shí)現(xiàn)

4.1 協(xié)議棧

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

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

4.2 路由設(shè)計(jì)與實(shí)現(xiàn)

(a)目標(biāo)節(jié)點(diǎn)接收到RREQ包             

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

圖5 目標(biāo)節(jié)點(diǎn)和源節(jié)點(diǎn)處理RREQ和RREP流程

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

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

5 實(shí)驗(yàn)結(jié)果

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

實(shí)驗(yàn)中,采用Mesh拓?fù)洌?0個(gè)節(jié)點(diǎn)組成的ZigBee網(wǎng)絡(luò)隨意分布在三層樓中,采用對(duì)等連接方式,僅使用AODVjr路由算法。兩個(gè)節(jié)點(diǎn)通信的平均傳輸延遲及成功率,采用捎帶技術(shù)前后質(zhì)量對(duì)比如表1所示。從表1可知,傳輸延遲時(shí)間可以減少很多,且成功率有一定的提高。證明本文提出的網(wǎng)絡(luò)結(jié)構(gòu)及軟硬件設(shè)計(jì)的可行性。

表1 采用捎帶技術(shù)前后的通信質(zhì)量對(duì)比

節(jié)點(diǎn)間跳數(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 結(jié)論

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

 

參考文獻(xiàn)

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

[2] 張成武,譚斌.單片機(jī)Zigbee技術(shù)在遠(yuǎn)程抄表系統(tǒng)中的應(yīng)用[J].微計(jì)算機(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 Mobile&Multimedia Networks (ICWMMN) Proceedings[C].Beijing:The Institution of Engineering and Technology,London(IET),2006:424-427.

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉