<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 模擬技術(shù) > 設計應用 > ZigBee協(xié)議網(wǎng)絡(luò )層的設計與實(shí)現

ZigBee協(xié)議網(wǎng)絡(luò )層的設計與實(shí)現

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

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

圖2 網(wǎng)絡(luò )發(fā)現狀態(tài)轉換圖

轉換圖中共有5個(gè)狀態(tài),各個(gè)狀態(tài)定義如表1所示:
表1網(wǎng)絡(luò )發(fā)現狀態(tài)定義


上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>