a一级爱做片免费观看欧美,久久国产一区二区,日本一二三区免费,久草视频手机在线观看

新聞中心

EEPW首頁 > 模擬技術 > 設計應用 > ZigBee協議網絡層的設計與實現

ZigBee協議網絡層的設計與實現

作者: 時間:2009-07-08 來源:網絡 收藏
1 引言
Zigbee是一種新興的短距離、低速率無線網絡技術,主要用于近距離的無線通信,由于具有低功耗、低成本、可擴展以及良好的互操作能力等特性,在工業自動化、建筑自動化以及工業無線領域占有重要地位[1][2][3]。
聯盟[4]成立于2001年8月,2002年下半年,英國Invensys公司、日本三菱電氣公司、美國摩托羅拉公司以及荷蘭飛利浦半導體公司等四大公司加盟聯盟,這一事件成為技術的里程碑。到目前為止,加盟ZigBee聯盟已經涵蓋IT領域以及其它行業的200多家企業,其中還包括來自我國的華為技術有限公司和中國科學院沈陽自動化研究所。
2 棧架構
Zigbee棧軟件采用C語言編寫,開發環境采用AVR Studio4.12,硬件平臺采用的單片機為Atmega128,射頻模塊采用CC2420。采用的標準是ZigBee 1.0規范[5], 整個棧軟件采用單線程,考慮到Atmega128內部RAM只有4K的空間,因此,各模塊之間采用共享緩沖區進行通信。Zigbee協議棧軟件的架構如圖1所示。
每個模塊具有一個執行函數,用于接收來自底層模塊的數據。在數據接收階段,底層模塊將接收到的數據幀在本層解析后,將需要向上層模塊發送的數據存放在共享的接收緩沖區,同時通過全局變量的形式向上層模塊提供指示原語;在上層模塊的執行函數中,首先通過判斷來自底層模塊的指示原語確定是否存在來自其它節點的數據,如果存在則解析并處理,同時將需要傳遞給更高模塊的數據放入接收緩沖區,同樣通過指示原語通知更高層模塊。

圖1 Zigbee協議棧軟件架構
3 的設計與實現
通過兩個服務實體分別提供兩類服務,它們分別是數據服務和網絡層管理服務。1)數據服務實體:提供數據服務,主要負責數據的發送和接收;2)管理服務實體:提供管理服務,主要負責網絡層的管理和維護,包括網絡的發現和創建,設備的加入和離開以及路由的創建與維護。
3.1 數據發送和接收
網絡層的數據服務實體負責數據的接收和發送,接收處理模塊負責接收數據,發送處理模塊負責發送數據。
數據接收和發送處理模塊的功能和工作流程如下:
1)數據接收處理模塊
接收處理模塊負責從下層接收數據,解析報文的網絡層頭部,分情況做相應的處理:如果是重復報文,則丟棄;如果是發給本節點的數據報文或者廣播報文,則交給上層處理;如果是需要本節點轉發的報文,則將報文交給發送處理模塊處理。
2)數據發送處理模塊
發送處理模塊負責從上層或者接收處理模塊中接收數據,根據不同的情況做相應的處理:如果報文的剩余跳數不大于0,則視為“死報文”,丟棄之; 否則需要進行報文發送。首先查找路由表,如果找到了到目的節點的有效路由表項,則根據路由信息將報文發送出去;如果沒有,則根據報文的路由發現選項決定是否進行路由發現,以及是通過樹型路由發送報文還是等待路由回復消息到達后再發送報文,具體的我們將在3.3節的路由發現和維護中進行詳細說明。
3.2 網絡設備管理
ZigBee的網絡中包括協調器設備、路由設備和終端節點設備,其中,協調器設備負責創建網絡,路由設備可以參與網絡路由和數據轉發但是終端節點設備只能作為葉子節點而不能參與路由。設備管理主要包括網絡的發現和創建以及節點的加入和離開。
節點進行網絡通信的第一步是由協調器設備負責創建網絡。協調器節點首先進行信道掃描來進行網絡發現,根據掃描結果,選擇一個最佳的空閑信道并在該信道上創建網絡。在協調器節點創建網絡后,非協調器節點就可以加入網絡了。具體的步驟如下:1)進行網絡發現。如果指定了PANID(Personal Area Network ID,個域網ID),則發現相應ID的個域網才進行加入,否則,加入到最先掃描到的網絡。2)選擇合適的父節點,發送加入網絡請求。從鄰居節點中選擇合適的節點作為自己的父節點,并向其發出加入網絡的請求。3)加入網絡。通過父節點加入網絡,并獲得一個16位的網絡層地址。
協調器節點創建網絡或者非協調器節點加入網絡,其實現的難點和關鍵在于進行網絡發現。我們通過設計有限狀態機的方法來進行網絡發現,其狀態轉換如圖2所示。

圖2 網絡發現狀態轉換圖

轉換圖中共有5個狀態,各個狀態定義如表1所示:
表1網絡發現狀態定義


上一頁 1 2 下一頁

關鍵詞: ZigBee 協議 網絡層

評論


相關推薦

技術專區

關閉