基于ZigBee的無線網(wǎng)關解決方案
Zigbee 協(xié)議軟件的構成包括硬件抽象層( HAL), 應用庫( CUL)和系統(tǒng)主程序。HAL是簡單的建立和使用外部的單元(例如, 無線收發(fā), 計時器, AD 變換等)。CUL 提供了一個簡單的無線協(xié)議, 一個管理器管理DMA 通道和一個以軟件方式實現(xiàn)處理安排的多任務計時器。而系統(tǒng)的主程序提供了一個程序調(diào)用的接口和中斷。本軟件實現(xiàn)一個簡單的點對點數(shù)據(jù)傳輸, 因此只需要一個精簡的數(shù)據(jù)包協(xié)議( SPP)。
簡單的協(xié)議包提供了簡單的數(shù)據(jù)包結構如表1, 其中Leng th(長度), 接收信號強度( RSSI)和鏈路質(zhì)量LQ I區(qū)域由芯片設置, dest src address 和flags區(qū)域由SPP設置, Pay lOAd( length- 5bytes) 區(qū)域為有效的載荷由用戶設置(最大125字節(jié))。
表1 簡單的數(shù)據(jù)包結構
數(shù)據(jù)包的字節(jié)長度不包括長度字節(jié)本身, 目的地址和源地址每一個為一個字節(jié), 另外, 0x00是廣播地址, 這一地址的數(shù)據(jù)包被所有的節(jié)點接收, 標志包括ACK 位, 一個ACK 請求( DO _ACK )。通過重傳顯示、序列號位、序列號及重傳的位共同作用從而能夠區(qū)分新的數(shù)據(jù)包和當前接收的數(shù)據(jù)包, RSSI和LQ I顯示接收信號強度和鏈路的質(zhì)量, LQ I的第8位顯示是否CRC校驗成功或失敗。
Zigbee數(shù)據(jù)包發(fā)送的部分流程圖如圖2 所示,接收數(shù)據(jù)的部分流程圖如圖3所示。
圖2 發(fā)送數(shù)據(jù)的部分流程圖
圖3 接收數(shù)據(jù)的部分流程圖
2. 4. 1 網(wǎng)絡管理功能
( 1)網(wǎng)絡形成。無線網(wǎng)關上電后, 無線協(xié)議棧各層首先進行初始化, 然后通過網(wǎng)絡請求來啟動一個新的網(wǎng)絡(僅具有協(xié)調(diào)器能力且當前還沒有與網(wǎng)絡連接的網(wǎng)關設備才可以建立一個新的網(wǎng)絡)。
組網(wǎng)開始時, 網(wǎng)絡層首先向MAC層請求分配協(xié)議所規(guī)定的信道, 或者由PHY層進行有效信道掃描,網(wǎng)絡層管理實體等待信道掃描結果, 然后根據(jù)掃描結果選擇可允許能量水平的信道。找到合適的信道后,為這個新的網(wǎng)絡選擇一個域網(wǎng)標識符( PAN ID )。
PAN ID可由網(wǎng)絡形成請求時指定, 也可以隨機選擇一個PAN ID (除廣播PAN ID 固定為0xFFFF外) , PAN ID在所選信道中應該是唯一的。PAN ID一旦選定, 無線網(wǎng)關將選擇16位網(wǎng)絡地址0x0000作為自身短地址,同時進行相關設置。完成設置后, 通過MAC 層發(fā)出網(wǎng)絡啟動請求, 返回網(wǎng)絡形成狀態(tài)。
( 2)網(wǎng)絡維護。網(wǎng)絡維護主要包括設備加入網(wǎng)絡和離開網(wǎng)絡過程。當網(wǎng)絡形成后, 通過網(wǎng)絡管理實體設定MAC 層連接許可標志來判斷是否允許其他設備加入網(wǎng)絡。加入方式有聯(lián)合方式和直接方式, 在協(xié)議實現(xiàn)中采取直接加入網(wǎng)絡方式。這種方式下由待加入的設備發(fā)送請求加入信標幀, 網(wǎng)關接收到后, 網(wǎng)絡管理實體首先判斷這個設備是否已存在于網(wǎng)絡。若存在, 則使其加入網(wǎng)絡; 若不存在, 則向設備發(fā)送信標幀, 為這個設備分配一個網(wǎng)絡中唯一的16位短地址。這里的信標幀是由網(wǎng)關無線協(xié)議MAC層生成作為PHY 層載荷, 它包含PAN ID、加入時隙分配等信息。網(wǎng)內(nèi)設備也可以請求斷開網(wǎng)絡。當網(wǎng)關收到設備斷開連接請求后, MAC 層向網(wǎng)絡層發(fā)送報告, 開始執(zhí)行斷開流程, 從設備列表中刪除該設備相關信息。
評論