基于結構化方法的無(wú)線(xiàn)傳感器網(wǎng)絡(luò )設計
無(wú)線(xiàn)傳感器網(wǎng)絡(luò )(WSN)由一些獨立、完全嵌入式操作的小體積低功耗節點(diǎn)組成,這些節點(diǎn)能夠檢測來(lái)自目標環(huán)境的數據或控制目標環(huán)境,并且相互間通過(guò)無(wú)線(xiàn)方式通信。檢測和控制是通過(guò)互連著(zhù)的傳感器和激勵器完成的,而這些傳感器和激勵器或通過(guò)遠程、或通過(guò)嵌入式應用程序進(jìn)行管理。這些節點(diǎn)的數量從十幾個(gè)到數千個(gè)不等,一個(gè)典型系統由數百個(gè)分布于整座大樓或室外空間的節點(diǎn)組成。
許多無(wú)線(xiàn)傳感器網(wǎng)絡(luò )采用私有標準實(shí)現無(wú)線(xiàn)組網(wǎng),但最近的趨勢是逐漸向標準化的低功耗無(wú)線(xiàn)通信發(fā)展。基于著(zhù)名的802.15.4規范的ZigBee就是一種用于無(wú)線(xiàn)檢測和控制的標準。雖然802.15.4文檔僅描述了協(xié)議的PHY和MAC層,但基于802.15.4構建的ZigBee還提供網(wǎng)絡(luò )和應用層規范。
ZigBee具有許多優(yōu)點(diǎn),包括可以實(shí)現多跳路由和數據發(fā)送的網(wǎng)格協(xié)議、安全規范和針對應用層互操作性的整套參數設置??傊?,ZigBee向嵌入式應用開(kāi)發(fā)人員提供了管理網(wǎng)絡(luò )以及連接其它節點(diǎn)的更高抽象層次。
雖然本文主要討論的是ZigBee,但其中許多觀(guān)點(diǎn)和結論同樣也適用于采用802.15.4 MAC和PHY的其它標準。為了避免出現混亂,后文假設我們的目標設計涉及的是使用網(wǎng)格路由協(xié)議、802.15.4兼容調制方案和介質(zhì)訪(fǎng)問(wèn)協(xié)議的多跳網(wǎng)絡(luò )。本文還假設讀者對ZigBee和802.15.4規范已有基本了解。
網(wǎng)絡(luò )組織和規模
網(wǎng)絡(luò )組織和規模也許是最重要的設計選項,它往往對接下來(lái)的設計過(guò)程起著(zhù)告知和指導作用。它還有約束作用,因為大型網(wǎng)絡(luò )通常更難設計和維護。幸運的是,如今已經(jīng)有方法能輕松實(shí)現和維護非常大的網(wǎng)絡(luò )。
目前最先進(jìn)的ZigBee網(wǎng)絡(luò )規模在300到500個(gè)節點(diǎn)之間。這個(gè)規??雌饋?lái)不大,但試想一下,所有這些節點(diǎn)工作在同一物理信道上,彼此在同一時(shí)間發(fā)送數據,根據每個(gè)節點(diǎn)的行為路由數據,并在同一時(shí)間試圖保持整個(gè)網(wǎng)絡(luò )的完整性(通過(guò)發(fā)送周期性控制消息),這該是個(gè)很吵很擁擠的網(wǎng)絡(luò )。另外還要注意,ZigBee標準所依據的802.15.4規范使用了CSMA/CA(載波偵聽(tīng)多址訪(fǎng)問(wèn)/碰撞避免)協(xié)議,也就是說(shuō),在各自“聽(tīng)力”范圍內沒(méi)有兩個(gè)節點(diǎn)能同時(shí)“說(shuō)話(huà)”。如果同時(shí)“說(shuō)話(huà)”,都會(huì )遭遇通信失敗,必須延遲一段時(shí)間后重試。如果網(wǎng)絡(luò )已經(jīng)擁塞,那么這些重試將產(chǎn)生級聯(lián)傳輸故障,試圖發(fā)起空中訪(fǎng)問(wèn)的節點(diǎn)將越來(lái)越多,從而加劇信道的擁擠。
事實(shí)上,在設計數百個(gè)節點(diǎn)以上的網(wǎng)絡(luò )時(shí)面臨的主要挑戰之一是如何有效地管理網(wǎng)絡(luò )擁塞(另外一個(gè)挑戰是在運行時(shí)優(yōu)化用于存儲內部堆棧狀態(tài)的系統資源)。下面的小節將簡(jiǎn)要介紹用于解決擁塞問(wèn)題的三種不同策略。
圖1:基于802.15.4的ZigBee提供網(wǎng)絡(luò )層和應用層規范。
網(wǎng)絡(luò )密度
顯然,“300個(gè)節點(diǎn)的網(wǎng)絡(luò )”給我們提供的有關(guān)網(wǎng)絡(luò )組織的信息是很少的。由于存在上述沖突碰撞問(wèn)題,網(wǎng)絡(luò )密度也是影響網(wǎng)絡(luò )健康的一個(gè)重要因素,也就是說(shuō)在每個(gè)節點(diǎn)聽(tīng)力范圍內存在多少個(gè)節點(diǎn),或者換句話(huà)說(shuō),一個(gè)普通節點(diǎn)可以聽(tīng)到多少個(gè)其它節點(diǎn)?專(zhuān)家建議是小于5個(gè),因為這個(gè)數量支持冗余設計和相對無(wú)阻塞的通信介質(zhì)。7個(gè)節點(diǎn)以上的網(wǎng)絡(luò )很可能出現嚴重擁塞的網(wǎng)段而加重網(wǎng)絡(luò )負擔。
一個(gè)相關(guān)的問(wèn)題隨之而來(lái),系統設計師該如何判斷有多少個(gè)節點(diǎn)能被聽(tīng)到?一個(gè)顯而易見(jiàn)的策略是定制嵌入式應用程序。有關(guān)相鄰節點(diǎn)的信息實(shí)際上是ZigBee網(wǎng)絡(luò )中協(xié)議操作的一個(gè)重要部分。事實(shí)上,節點(diǎn)會(huì )主動(dòng)廣播他們自己的信息,并且這些信息會(huì )被有效范圍內的每個(gè)其它節點(diǎn)接收到。相鄰表格可以被駐留程序查詢(xún),并計算唯一性條目的數量。然后駐留程序再將這個(gè)診斷結果發(fā)送給指定節點(diǎn)。很明顯,這樣做只有在網(wǎng)絡(luò )密度仍能改變的網(wǎng)絡(luò )安裝過(guò)程中才有意義。一旦網(wǎng)絡(luò )安裝完畢并開(kāi)始運行,密度信息將在故障排除過(guò)程中發(fā)揮顧問(wèn)的作用。
請注意,如果相鄰表格的大小小于周?chē)濣c(diǎn)的數量,ZigBee堆棧將強制周期性地撤消表格條目。這種撤消也可能負面影響總體網(wǎng)絡(luò )性能,因為即使路徑中沒(méi)有節點(diǎn)離線(xiàn),也會(huì )強制路由被重新發(fā)現。因此,除了限制網(wǎng)絡(luò )密度以避免擁塞外,還必須根據系統資源(如相鄰表格的大小)確定網(wǎng)絡(luò )密度。
在節點(diǎn)的物理位置由于應用要求而被固定的情況下,網(wǎng)絡(luò )密度可以方便地通過(guò)降低擁塞區域中收發(fā)器的輸出功率來(lái)得到控制。從理論上講,降低輸出功率與增加節點(diǎn)間距離、使它們彼此聽(tīng)到的可能性變小具有相同的效果。制造商傾向于將輸出功率設為最大值,以確保最大工作范圍和最佳鏈路質(zhì)量。根據我們的經(jīng)驗,在距離性能不很重要的室內應用場(chǎng)合,輸出功率可以很容易降低。根據經(jīng)驗,輸出功率降低3dBm,有效距離范圍可以縮短1.5倍。
評論