引言 Zigbee技術的目標就是針對工業(yè),家庭自動化,遙測遙控,汽車自動化、農業(yè)自動化和醫(yī)療護理等應用。具體應用如燈光自動化控制,傳感器的無線數據采集和監(jiān)控,油田,電力,礦山和物流管理等應用領域。目前比較成熟的應用有家庭燈光控制系統。但是有一些特殊的應用場景,比如城市路燈監(jiān)控應用場景,有其特殊的Zigbee組網需求。本文針對該類特殊應用場景,對Zigbee網絡的潛力進行挖掘,使其在特殊應用場合可以正常工作。 1 特殊應用場景分析 在城市路燈監(jiān)控這類特殊應用場景中,路燈有規(guī)律地排列在馬路兩旁,每相鄰兩根電燈桿之間標準距離是四十米。為了達到能夠采集到每一盞路燈狀態(tài)信息并能夠控制每一盞路燈功率和開關狀態(tài),我們需要在每一盞路燈上安裝一個Zigbee監(jiān)控節(jié)點以便通過Zigbee無線局域網來監(jiān)控每一盞路燈。與成熟的Zigbee應用場景,如家庭自動化相比,這類場景對網絡規(guī)模,網絡通訊能力,網絡擴展能力的要求很特別,整個Zigbee無線局域網節(jié)點部署幾乎在一條直線上。而家庭自動化場景則在一個較小的圓形范圍內,匯節(jié)點可以與每個傳感器節(jié)點直接無線連接,中間用到路由節(jié)點也很少。在路燈監(jiān)控這類應用場景中,中繼路由節(jié)點需求量將非常大,而且中繼路由節(jié)點主要為了適應這種直線節(jié)點網絡。顯然網絡深度和每兩個相鄰zigbee節(jié)點無線通訊距離是這類場景應用中要著重考慮的問題。 2 Zigbee技術簡介 2.1 Zig,bee協議棧簡介 Zigbee協議棧是基于標準的OSI七層模型,但只是在相關范圍內定義一些相應層以完成特定任務。Zigbee協議由應用層、應用接口層、安全層,網絡層、數據鏈路層和物理層組成。網絡層以上協議由Zigbee聯盟制定,IEEE802.15.4負責物理層和鏈路層標準。物理層提供了介質訪問層與無線物理通道之間的接口。IEEE802.15.4有兩個物理層,提供兩個獨立的頻率段:868/915MHz和2.4GHz,2.4GHz頻段使用在全世界范圍內。這兩個物理層都基于直接序列擴頻(Direct Sequence Spread Spectrum,DSSS),使用相同的物理層數據包格式。MAC層沿用了WLAN中802.11系列標準的CSMA/CA方式,以提高系統相容性。網絡層支持3種網絡拓撲,分別為星型,樹型和網型。Zigbee應用層由應用子層(APS sub-layer),設備對象(ZDO)以及制造商定義的應用設備對象組成。Zigbee安全層并非獨立的協議,Zigbee為其提供了一套基于128位AES算法的安全類和軟件,并集成了IEEE802.15.4標準的安全元素,用來保證MAC層幀的機密性、一致性和真實性。 2.2 Zigbee節(jié)點類型和拓撲形式 Zigbee標準規(guī)定可以在一個單一網絡中容納65535個節(jié)點,所有Zigbee網絡節(jié)點都屬于以下三種類型:網絡協調器節(jié)點.路由節(jié)點和終端節(jié)點。這三種節(jié)點類型都是網絡層概念,他們的部署決定了網絡拓撲形式。不論Zigbee網絡采用何種拓撲方式,網絡中都需要有一個并且只能有一個網絡協調器節(jié)點。在網絡層上,網絡協調器節(jié)點通常只在系統初始化時起重要作用。其在網絡層主要功能為選擇網絡所使用的頻率通道,開啟網絡,將其他節(jié)點加入網絡,通常還會提供信息路由,安全管理和其他服務。路由節(jié)點用以轉發(fā)數據,延伸Zigbee網絡規(guī)模,主要用于樹型和網型拓撲結構中,路由節(jié)點不能夠休眠。終端節(jié)點主要任務是發(fā)送和接收信息。節(jié)點類型定義和節(jié)點在應用中所起到的功能并不相關。 Zigbee網絡可以實現下面三種網絡拓撲形式:星型,樹型,網型。如圖1所示。 ![]() 圖1網絡拓撲結構圖 星型拓撲是最簡單的一種拓撲形式。星型拓撲包含一個網絡協調器節(jié)點和一系列終端節(jié)點。每一個終端節(jié)點只能和網絡協調器節(jié)點進行通訊。這種拓撲形式缺點在于節(jié)點之間數據路由只有一條唯一路徑。網絡協調器節(jié)點有可能成為整個網絡瓶頸。樹型拓撲包括一個網絡協調器節(jié)點以及一系列路由節(jié)點和終端節(jié)點。網絡協調器節(jié)點連接一系列路由節(jié)點和終端節(jié)點.其子節(jié)點的路由節(jié)點也可以連接一系列路由節(jié)點和終端節(jié)點。這樣可以重復多個層級。樹型拓撲中,網絡協調器節(jié)點和路由節(jié)點可以包含自己的子節(jié)點;終端節(jié)點不能有自己的子節(jié)。網狀拓撲包含一個網絡協調器節(jié)點和一系列路由節(jié)點和終端節(jié)點。這種網絡拓撲形式和樹型拓撲相同。但是,網狀網絡拓撲具有更加靈活的信息路由規(guī)則,在可能的情況下,路由節(jié)點之間可以直接通訊。這種路由機制使得信息通訊變得更有效率,一旦一個路由路徑出現問題,信息可以自動地沿著其他路由路徑進行傳輸。 3 Zigbee組網技術分析 3.1地址分配技術 Zigbee底層地址分配算法基于樹型拓撲。在網絡層看來,有三種節(jié)點類型,分別是網絡協調器節(jié)點,路由節(jié)點和終端節(jié)點。當一個節(jié)點設備加入網絡時,它會被分配16比特的網絡地址。終端節(jié)點設備將收到一個單獨地址。路由節(jié)點將收到一個地址范圍。該地址范圍將包括該路由節(jié)點所有可能的后代節(jié)點。這個用于地址分配的算法叫做Cskip。 cskip是計算網絡任一分支下所有可能節(jié)點總數目的方法。它有四個參數: Cm - 任一父節(jié)點擁有的孩子節(jié)點總數; Rm - 任一父節(jié)點擁有的路由孩子節(jié)點總數; Lm - 網絡最大深度; d - 被考慮設備實際深度; 最大終端設備節(jié)點數=最大孩子節(jié)點數一最大路由節(jié)數=Cm-Rm; cskiD的定義式如下: Cskip(d)=l+Cm.(Lm-d-1),當Rm為1時, Cskip(d)=(1+Cm-Rm-Cm.Rm lm-d-1)/(1-Rm),當Rm不為1時; —個深度為d的父節(jié)點的第N個路由孩子的地址計算公式如下: ARouter=A.Parent+Cskip(d).n+l 一個深度為d的父節(jié)點的第N個終端孩子的地址計算公式如下: AEndDevice=Aparent+Cskip(d).Rm+n 在一棵樹里,潛在節(jié)點總數計算公式如下: Nodes total=Cskip(O).Rm+(Cm-Rm)+l; 允許的所有節(jié)點最大數目是65535(即2 16-1),因為網絡短地址是由16比特的數字組成,OXFFFF作為廣播地址系統保留超出使用。對于網絡來說.用完了所有分配的地址,但并非所有地址都被實際設備所使用的情況可能發(fā)生。這是岡為一個新設備要求的網絡地址超出了其父節(jié)點可用的網絡地址范圍,但是要求的地址在其他父節(jié)點地址范圍內。不合理設置Rm,Cm,Lm的值會導致網絡內節(jié)點數目超過65536節(jié)點數目限制。 3.2 網絡參數設定 首先介紹Cm,Rm,Lm參數變化對節(jié)點總數的影響。在表1中,我們假設Cm=20,Rm=6和Lm=5,分別將Cm,Rm,Lm的值增加1。 表1 Cskip參數計算表 ![]() 從上表可以得出結論:將CM或Rm增加1,是允許的;但Lm增加1是不允許的。因為它明顯導致節(jié)點總數超過65535這個極限值。將Rm增加2也會導致節(jié)點總數超過65535極限值。也是不允許的。在本論文實現平臺Jennie Zigbee棧中Cm,Rm,Lm單值最大值是20,20,8,顯然對于Cm,Rm,Lm三個值的組合是不能用三個最大值的。在本文應用中,Cm,Rm。Lm的組合值為20,2,8。這個值可以根據自己的應用來改變,但要符合兩點:一,不能超過Cm,Rm,Lm單值最大值是20,20,8;二,其組合值按上述公式計算不能超過節(jié)點總數65535極限值。 3.3節(jié)點部署 前面分析了Zi曲ee無線網絡,下面詳細闡述路燈控制實際應用場景,路燈控制應用要求和zi曲ee組網能力。首先路燈按路控制,有一個控制箱控制一條支路上若干盞路燈,路燈基本上在一條直線上,一根燈桿上一般有兩盞燈;其次,標準路燈桿之間距離是40米;再次,根據Zigbee規(guī)格4.0標準,Zigbee網絡層最多有15跳,即網絡深度最大為15,但在實際應用中希望盡可能多地控制路燈桿數;再次,節(jié)點位置一旦安裝好以后位置不變,兩個節(jié)點之間無線通訊距離可以計算。 節(jié)點之間距離是由發(fā)射功率和接受靈敏度決定的。本論文選用的JN5121Module有三種可供選擇,其間通訊距離隨模塊選取不同而不同,MOO/M01/M03外接天線可達400米,M02/M04接天線可達4000米覆蓋范圍。 其計算公式如下: ![]() R表示覆蓋范圍,單位是米: 入表示在空氣介質中的波長,單位是米; Ptx表示發(fā)射功率,單位是Watts; Prx表示接受靈敏度,單位是Watts; 綜上所述,本論文節(jié)點部署以某一路燈支路一百根電線桿為例,該一百根電線桿排列在一條直線上,從左到右分別為燈0,燈l,燈2,一直到燈100。 從覆蓋范圍角度,最小Zigbee網絡覆蓋范圍理論計算值,網絡協調器和路由節(jié)點通訊半徑兩倍。根據上面公式可以調整發(fā)射功率。燈50放置網絡協調器節(jié)點,除了控制所在的燈以外,還將起列網絡協調器功能;路由節(jié)點分別放在燈0,燈10,燈20.燈30,燈40,燈60,燈70,燈80.燈90,燈100,它們除了控制所在的燈以外,還將起到路由功能;其余非lO倍數的燈桿放置終端節(jié)點。他們用于控制燈桿處的燈以外,還與離它最近的路由節(jié)點通訊。兩個路由節(jié)點之間距離可以計算出來。路由節(jié)點之間距離等于每相鄰兩桿的距離乘以桿數。得到結果為400米,所以本文選用Jennic zigbee 模塊JN5121一M03,其天線通訊范圍可達500米,滿足路由節(jié)點之間通訊需求。再計算終端節(jié)點通訊半徑,只要大于兩個相鄰路由節(jié)點之間距離的一半即可,既其通訊半徑達到200米以上即可,我選用Jennie Zi出ee模塊JN5121一M01模塊和天線,可以滿足要求。比如從第11號到19號之問的燈,11,12,13,14號終端節(jié)點明確以第10號上的路由節(jié)點為其父節(jié)點,16,17,18,19號終端節(jié)點明確以第20號上的路由節(jié)點為其父節(jié)點,15號終端節(jié)點可任意選擇第10號上的路由節(jié)點為其父節(jié)點或者第20號上的路由節(jié)點為其父節(jié)點。在路燈控制的特殊應用場景中,Zigbee可以發(fā)揮其巨大功能。 從應用層看,每個節(jié)點都會控制一個燈桿?捎镁W絡深度為5的Zigbee網絡來控制一條直線上排列的100盞燈,而不需要網絡深度為100,這遠遠超過了Zigbee協議棧的能力,Zigbee規(guī)格04網絡深度最大值為15。 4 結論與展望 本文作者創(chuàng)新點:本文以城市路燈控制為應用背景,解決了該類大數量節(jié)點排列在一條直線上應用場景的Zigbee網絡層參數設置問題和網絡節(jié)點部署問題,使Zigbee無線局域網技術在該類型大數量節(jié)點應用場景中有其用武之地,充分挖掘了Zigbee組網技術的能力極限和突破實現平臺的客觀限制。但是還有可以改進的地方,對該類特殊網絡拓撲需求的應用場景,可以直接利用802.15.4協議層,這樣可以開發(fā)出符合特殊應用要求的網絡層,而有效避免了應用Zigbee網絡層帶來的限制。 作者:姚春 來源:《微計算機信息》(嵌入式與SOC)2009年第25卷第1-2期 |