根據(jù)信道進行網(wǎng)絡劃分
在不能刪除節(jié)點或降低輸出功率的情況下,系統(tǒng)設計師可以選擇將工作在單個信道上的單一網(wǎng)絡劃分為工作在不同信道上的多個網(wǎng)絡來解決網(wǎng)絡擁塞問題。802.15.4在2.4GHz頻率范圍內(nèi)規(guī)定了16個信道,在900MHz頻率范圍內(nèi)另外還增加了10個信道。將網(wǎng)絡置于不同的信道上能夠完全隔離不同網(wǎng)絡間的相互影響,但根據(jù)需要,每個網(wǎng)絡可能需要使用協(xié)調(diào)器(coordinator),并需連接這些協(xié)調(diào)器,從而帶來額外的復雜性。
如果待分割的網(wǎng)絡邏輯上已經(jīng)是分開的,那么根據(jù)信道進行網(wǎng)絡劃分的方法最有效果。例如,在大樓自動化應用中,讓每一樓層的網(wǎng)絡工作在各自的信道上通常是比較理想的。但如果每個樓層都有一個網(wǎng)絡協(xié)調(diào)器,那么不同樓層之間的節(jié)點相互通信就很麻煩,特別是這樣做可能會影響網(wǎng)絡性能(高密度網(wǎng)絡就是這種情況)。
同樣,還可以根據(jù)房間或辦公面積進行劃分。最重要的是,應該根據(jù)具體應用要求和可用信道數(shù)量來做出根據(jù)物理信道劃分網(wǎng)絡的決定。當多個子網(wǎng)絡中的節(jié)點需要相互通信時,這種劃分還會使總體設計變得更加復雜。
信道掩碼(就象收發(fā)器輸出功率一樣)是一個可設置的網(wǎng)絡參數(shù)。應用工程師可以給網(wǎng)絡協(xié)調(diào)器以及必須與該協(xié)調(diào)器建立連接的網(wǎng)絡設備分配一個合適的信道掩碼。作為一個標準步驟,協(xié)調(diào)器將執(zhí)行能量檢測掃描,以便從信道掩碼中挑選出“活躍性最差”的信道。
值得注意的是,除了給掩碼分配單個信道外,沒有其它方法能強制協(xié)調(diào)器工作在特定信道上。不過強烈建議在信道掩碼中至少要保持兩個信道,因為來自WiFi網(wǎng)絡、藍牙耳機和其它電子設備的帶內(nèi)干擾會臨時占用本來是空閑的特定信道,致使整個網(wǎng)絡癱瘓。在信道掩碼中留有多個信道不僅給協(xié)調(diào)器提供了信道選擇余地,今后還能讓它靈活地切換到擁塞程度較低的信道。
圖2:ZigBee網(wǎng)狀網(wǎng)拓撲。
根據(jù)PANID進行網(wǎng)絡劃分
最后一種策略是根據(jù)PANID劃分網(wǎng)絡,這種方法的效率公認要比根據(jù)物理信道劃分網(wǎng)絡的方法低。PANID是一個給定網(wǎng)絡中所有設備都知道的唯一標識符。使用不同PANID的設備之間是無法通信的,從而允許多個網(wǎng)絡共存于同一區(qū)域,而且其中一個網(wǎng)絡的數(shù)據(jù)不會在另外一個網(wǎng)絡中出現(xiàn)。事實上,具有不同PANID的多個網(wǎng)絡都可以使用相同的物理信道實現(xiàn)相互間的通信。
雖然根據(jù)PANID分割網(wǎng)絡不會影響空中擁塞程度,但可以通過在堆棧的較低層濾除來自相鄰網(wǎng)絡設備(具有另外一個PANID)的業(yè)務而減少每個節(jié)點處的處理開銷量。在大多數(shù)情況下,濾除工作可以由PHY層硬件自動完成,從而釋放更多的應用資源和時間。對于應用處理和路由開銷占主導的應用而言,根據(jù)PANID進行劃分的方法能夠非常有效地在給定區(qū)域內(nèi)容納更多的節(jié)點。
基于PANID分段的一個好處是具有相對較多的可能唯一分段,準確地講可達216個。雖然只有26個物理信道,但PANID為實現(xiàn)分段提供了更靈活的方法,盡管效率較低。大多數(shù)無線系統(tǒng)將同時使用PANID分段和信道數(shù)量分段的組合策略。總之,在解決網(wǎng)絡擁塞問題時這種組合策略可以提供最佳的靈活性和效率折衷方案。
吞吐量
另外一個需要仔細考慮的設計因素是吞吐量。簡單地說,吞吐量指的是一個設備在單位時間內(nèi)希望傳送的有用數(shù)據(jù)總量。許多系統(tǒng)工程師錯誤地認為系統(tǒng)具有比實際可用帶寬大得多的帶寬(有時甚至超出一個數(shù)量級),從而導致性能差或無法運行的設備和失敗的設計。
導致這個常見問題的原因是802.15.4網(wǎng)絡鏈路宣稱有250kbps的介質(zhì)容量。實際上,這個數(shù)字指的是理論上的物理極限,也就是PHY層的有效帶寬。它忽略了物理層上其它堆棧層引起的協(xié)議延時、處理和解析每個數(shù)據(jù)包的開銷、介質(zhì)訪問時間、數(shù)據(jù)確認機制和誤碼率。根據(jù)我們的經(jīng)驗,在相隔一跳的兩個ZigBee節(jié)點之間建立的點到點鏈路的傳輸速率不超過110到120kbps。在引入確認機制后,這個速率還要下降近一半。在任一給定時間點有3到5個節(jié)點試圖訪問共享介質(zhì)的典型網(wǎng)絡環(huán)境中,這個傳輸速率還將進一步降低到數(shù)十kbps。
顯然,20~40kbps與標準宣稱的最大250kbps有很大差異,而一個缺乏經(jīng)驗的系統(tǒng)工程師往往不知道這種差異,直到悔之晚矣。關(guān)鍵是無線傳感器網(wǎng)絡從來沒有打算要支持高帶寬的應用。相反,其目標市場是具有低帶寬要求的相對大型網(wǎng)絡。如果有個傳感器是產(chǎn)生100kbps數(shù)據(jù)流的視頻攝像機,那么無線傳感器網(wǎng)絡和ZigBee肯定不是最好的選擇,市場上有其它無線技術(shù)能更好地完成這個工作。
盡管吞吐量期望值和某種技術(shù)能夠支持的指標不匹配很常見,但仍可以合理使用這種技術(shù),并通過帶寬優(yōu)化在目標環(huán)境中高效地運行。例如考慮每秒采樣100次的溫度傳感器。每次用一個數(shù)據(jù)包發(fā)送一個樣值將是一個較差的設計選擇。事實上,由于前面提到的網(wǎng)絡擁塞和級聯(lián)重傳故障問題,這樣做將給網(wǎng)絡健康帶來不良后果。一個更好的策略是,將多個樣值匯聚到一個數(shù)據(jù)包中,因為在大多數(shù)情況下,最大的數(shù)據(jù)包比較小的數(shù)據(jù)包更優(yōu)。
當匯聚無法實現(xiàn)時,可以用本地處理來降低帶寬要求。讓我們考慮具有低門限和高門限的典型自動調(diào)溫器應用。只要這些溫度讀數(shù)落在可接受的溫度范圍內(nèi),那么絕對不需要發(fā)送瞬時溫度讀數(shù)。節(jié)點可以使用本地處理功能來判斷何時讀數(shù)超出規(guī)定范圍,并在需要時才發(fā)送數(shù)據(jù)以警示另一個遠程設備。減少待發(fā)送數(shù)據(jù)量的另一個策略是采用某種形式的數(shù)據(jù)求和或平均算法。
然而需要注意的是,當多個物理事件同時發(fā)生時,即使是高度優(yōu)化的設備也會遭遇擁塞。如果整個樓層的溫度上升,可能會出現(xiàn)許多自動調(diào)溫器希望立即發(fā)送溫度讀數(shù)。對付這樣的帶寬峰值的一個實用方法是隨機化傳送延時。顯然,MAC層的重傳就是一種隨機化處理,但它無助于防止碰撞,它只在發(fā)生碰撞后起作用。應用層的延時如果做得好可以有效減少碰撞于發(fā)生之前。當每小時有數(shù)百個節(jié)點需要發(fā)送數(shù)據(jù)包,最佳設計會把傳送均勻分配在整個時段內(nèi),以盡量減少碰撞的機會。在有大量傳送的場合,強烈建議系統(tǒng)工程師采用這種策略。
評論