基于ZigBee的無(wú)線(xiàn)網(wǎng)關(guān)解決方案研究
1 引 言
隨著(zhù)無(wú)線(xiàn)通信技術(shù)逐漸進(jìn)入工業(yè)領(lǐng)域, 無(wú)線(xiàn)通信系統在工業(yè)通信網(wǎng)絡(luò )中的應用逐漸增加, 而目前工業(yè)通信網(wǎng)絡(luò )通信協(xié)議繁多, 多種通信標準并存, 因此不同傳輸介質(zhì)、不同速率、不同通信協(xié)議的網(wǎng)絡(luò )之間的互聯(lián)問(wèn)題也逐漸成為人們關(guān)注的重點(diǎn)。
ZigBee短程無(wú)線(xiàn)網(wǎng)通信技術(shù)以其數據傳輸安全可靠、組網(wǎng)簡(jiǎn)易靈活、設備成本低、電池壽命長(cháng)等優(yōu)勢, 成為近年來(lái)業(yè)界的研究熱點(diǎn)之一。ZigB ee技術(shù)是一個(gè)具有統一技術(shù)標準的短距離無(wú)線(xiàn)通信技術(shù),其物理層( PHY) 和媒體訪(fǎng)問(wèn)控制層(MAC )協(xié)議基于IEEE802. 15. 4協(xié)議標準, 網(wǎng)絡(luò )層(NWK )和應用層( APS) 由ZigBee 聯(lián)盟來(lái)制定。為了更方便地控制ZigBee無(wú)線(xiàn)傳感器網(wǎng)絡(luò ), 讓各無(wú)線(xiàn)節點(diǎn)間有序、高效地工作, 有必要將已經(jīng)非常成熟的基于TCP / IP技術(shù)的以太網(wǎng)與ZigBee無(wú)線(xiàn)傳感網(wǎng)絡(luò )相連通, 從而實(shí)現通過(guò)以太網(wǎng)來(lái)控制ZigB ee 無(wú)線(xiàn)傳感器網(wǎng)絡(luò )。
以前的網(wǎng)關(guān)很多是用單片機來(lái)實(shí)現, 現把嵌入式系統的高速處理器和操作系統加進(jìn)網(wǎng)關(guān)系統, 能夠更高效、快速地傳遞來(lái)自無(wú)線(xiàn)網(wǎng)絡(luò )的數據包和來(lái)自以太網(wǎng)的用戶(hù)控制命令, 同時(shí)還能夠實(shí)現Z igbee無(wú)線(xiàn)傳感器網(wǎng)絡(luò )新節點(diǎn)的動(dòng)態(tài)鏈接。
2 ZigBee無(wú)線(xiàn)網(wǎng)關(guān)解決方案
2. 1 系統結構
無(wú)線(xiàn)傳感器系統對網(wǎng)關(guān)的要求較高, 技術(shù)實(shí)現上比較復雜, 所以網(wǎng)關(guān)采用嵌入式系統技術(shù)?;趌inux 操作系統本身的易于移植、開(kāi)源、優(yōu)異的網(wǎng)絡(luò )支持等優(yōu)點(diǎn), 采用ARM9處理器加上linux操作系統來(lái)設計Z igBee與TCP / IP間通信的網(wǎng)關(guān)。嵌入式系統與ZigBee無(wú)線(xiàn)傳感器網(wǎng)絡(luò )相結合, 可以更好地控制網(wǎng)絡(luò )的信息傳遞。
一個(gè)連通ZigB ee 無(wú)線(xiàn)傳感器網(wǎng)絡(luò )和以太網(wǎng)的網(wǎng)關(guān)應該解決如下問(wèn)題:
( 1)能與ZigBee 無(wú)線(xiàn)傳感網(wǎng)絡(luò )各節點(diǎn)進(jìn)行通信, 同時(shí)控制、協(xié)調無(wú)線(xiàn)傳感器網(wǎng)絡(luò )間的通信。
( 2)能通過(guò)以太網(wǎng)接口與計算機實(shí)現有線(xiàn)通信。
( 3)為了實(shí)現ZigBee通信, 網(wǎng)絡(luò )需要相應的底層驅動(dòng)程序協(xié)議棧, 這就增加了系統內控制器對程序存儲器的需求等。
( 4)具備與無(wú)線(xiàn)傳感器網(wǎng)絡(luò )中的新節點(diǎn)建立動(dòng)態(tài)鏈接的能力。
每個(gè)ZigB ee 無(wú)線(xiàn)傳感器網(wǎng)絡(luò )節點(diǎn)需要發(fā)送的數據都要經(jīng)過(guò)網(wǎng)關(guān)與外部以太網(wǎng)連接。而且, 當節點(diǎn)越多, 網(wǎng)絡(luò )的復雜程度就越高, 對網(wǎng)關(guān)的處理速度會(huì )是個(gè)考驗。因而, 網(wǎng)關(guān)的設計比一般的無(wú)線(xiàn)傳感器網(wǎng)絡(luò )節點(diǎn)更復雜, 需要的資源也比一般的節點(diǎn)多。圖1( a)為ZigBee無(wú)線(xiàn)網(wǎng)關(guān)結構圖, 圖1( b)為無(wú)線(xiàn)傳感器網(wǎng)絡(luò )節點(diǎn)結構圖。
( b )無(wú)線(xiàn)傳感器網(wǎng)絡(luò )節點(diǎn)結構圖
圖1 ZigB ee 無(wú)線(xiàn)網(wǎng)關(guān)與無(wú)線(xiàn)傳感器網(wǎng)絡(luò )節點(diǎn)結構圖。
2. 2 通信模型設計
基于以上分析, 針對工業(yè)應用設計了一種用于接入工業(yè)以太網(wǎng)的無(wú)線(xiàn)網(wǎng)關(guān)。通信模型主要包括以下3個(gè)方面:
( 1)無(wú)線(xiàn)通信機制?,F場(chǎng)設備與無(wú)線(xiàn)網(wǎng)關(guān)之間的數據通信采用了ZigBee無(wú)線(xiàn)通信技術(shù)。ZigB ee無(wú)線(xiàn)通信技術(shù)采用CSMA CA接入方式, 有效避免了無(wú)線(xiàn)電載波之間的沖突, 保證了數據傳輸的可靠性。其MAC 層和PHY 層由IEEE802. 15. 4工作小組制定, NwK和APS則由Z igB ee聯(lián)盟來(lái)制定, 其他部分 ZDO ( Z igBee設備對象)和ZAO ( ZigBee應用對象), 由用戶(hù)根據不同應用來(lái)完成。
( 2)以太網(wǎng)協(xié)議轉換。無(wú)線(xiàn)網(wǎng)關(guān)的接入功能主要體現在協(xié)議轉換, 即將ZigBee無(wú)線(xiàn)通信協(xié)議轉換為以太網(wǎng)有線(xiàn)協(xié)議, 通過(guò)以太網(wǎng)接入控制網(wǎng)絡(luò )。
IEEE802. 3 PHY和IEEE802. 3MAC分別為標準的以太網(wǎng)物理層和介質(zhì)訪(fǎng)問(wèn)層; IEEE802. 3 LLC 提供以太網(wǎng)幀與IP層接口, 傳輸層為標準TCP /UDP協(xié)議。
( 3)上層服務(wù)接口( high layer serv ice in terface)。
針對工業(yè)應用, 無(wú)線(xiàn)網(wǎng)關(guān)要求提供上層服務(wù)及接口,使用戶(hù)可以通過(guò)無(wú)線(xiàn)網(wǎng)關(guān)對現場(chǎng)設備進(jìn)行組態(tài)、調校。上層服務(wù)接口位于ZigB ee APS層與TCP / IP層之間, 為系統實(shí)現各種服務(wù)提供通用接口。
2. 3 系統軟件實(shí)現
Zigbee 協(xié)議軟件的構成包括硬件抽象層( HAL), 應用庫( CUL)和系統主程序。HAL是簡(jiǎn)單的建立和使用外部的單元(例如, 無(wú)線(xiàn)收發(fā), 計時(shí)器, AD 變換等)。CUL 提供了一個(gè)簡(jiǎn)單的無(wú)線(xiàn)協(xié)議, 一個(gè)管理器管理DMA 通道和一個(gè)以軟件方式實(shí)現處理安排的多任務(wù)計時(shí)器。而系統的主程序提供了一個(gè)程序調用的接口和中斷。本軟件實(shí)現一個(gè)簡(jiǎn)單的點(diǎn)對點(diǎn)數據傳輸, 因此只需要一個(gè)精簡(jiǎn)的數據包協(xié)議( SPP)。
簡(jiǎn)單的協(xié)議包提供了簡(jiǎn)單的數據包結構如表1, 其中Leng th(長(cháng)度), 接收信號強度( RSSI)和鏈路質(zhì)量LQ I區域由芯片設置, dest src address 和flags區域由SPP設置, Pay lOAd( length- 5bytes) 區域為有效的載荷由用戶(hù)設置(最大125字節)。
表1 簡(jiǎn)單的數據包結構
數據包的字節長(cháng)度不包括長(cháng)度字節本身, 目的地址和源地址每一個(gè)為一個(gè)字節, 另外, 0x00是廣播地址, 這一地址的數據包被所有的節點(diǎn)接收, 標志包括ACK 位, 一個(gè)ACK 請求( DO _ACK )。通過(guò)重傳顯示、序列號位、序列號及重傳的位共同作用從而能夠區分新的數據包和當前接收的數據包, RSSI和LQ I顯示接收信號強度和鏈路的質(zhì)量, LQ I的第8位顯示是否CRC校驗成功或失敗。
Zigbee數據包發(fā)送的部分流程圖如圖2 所示,接收數據的部分流程圖如圖3所示。
圖2 發(fā)送數據的部分流程圖
圖3 接收數據的部分流程圖
2. 4 Z igBee無(wú)線(xiàn)網(wǎng)關(guān)關(guān)鍵技術(shù)研究
2. 4. 1 網(wǎng)絡(luò )管理功能
( 1)網(wǎng)絡(luò )形成。無(wú)線(xiàn)網(wǎng)關(guān)上電后, 無(wú)線(xiàn)協(xié)議棧各層首先進(jìn)行初始化, 然后通過(guò)網(wǎng)絡(luò )請求來(lái)啟動(dòng)一個(gè)新的網(wǎng)絡(luò )(僅具有協(xié)調器能力且當前還沒(méi)有與網(wǎng)絡(luò )連接的網(wǎng)關(guān)設備才可以建立一個(gè)新的網(wǎng)絡(luò ))。
組網(wǎng)開(kāi)始時(shí), 網(wǎng)絡(luò )層首先向MAC層請求分配協(xié)議所規定的信道, 或者由PHY層進(jìn)行有效信道掃描,網(wǎng)絡(luò )層管理實(shí)體等待信道掃描結果, 然后根據掃描結果選擇可允許能量水平的信道。找到合適的信道后,為這個(gè)新的網(wǎng)絡(luò )選擇一個(gè)域網(wǎng)標識符( PAN ID )。
PAN ID可由網(wǎng)絡(luò )形成請求時(shí)指定, 也可以隨機選擇一個(gè)PAN ID (除廣播PAN ID 固定為0xFFFF外) , PAN ID在所選信道中應該是唯一的。PAN ID一旦選定, 無(wú)線(xiàn)網(wǎng)關(guān)將選擇16位網(wǎng)絡(luò )地址0x0000作為自身短地址,同時(shí)進(jìn)行相關(guān)設置。完成設置后, 通過(guò)MAC 層發(fā)出網(wǎng)絡(luò )啟動(dòng)請求, 返回網(wǎng)絡(luò )形成狀態(tài)。
( 2)網(wǎng)絡(luò )維護。網(wǎng)絡(luò )維護主要包括設備加入網(wǎng)絡(luò )和離開(kāi)網(wǎng)絡(luò )過(guò)程。當網(wǎng)絡(luò )形成后, 通過(guò)網(wǎng)絡(luò )管理實(shí)體設定MAC 層連接許可標志來(lái)判斷是否允許其他設備加入網(wǎng)絡(luò )。加入方式有聯(lián)合方式和直接方式, 在協(xié)議實(shí)現中采取直接加入網(wǎng)絡(luò )方式。這種方式下由待加入的設備發(fā)送請求加入信標幀, 網(wǎng)關(guān)接收到后, 網(wǎng)絡(luò )管理實(shí)體首先判斷這個(gè)設備是否已存在于網(wǎng)絡(luò )。若存在, 則使其加入網(wǎng)絡(luò ); 若不存在, 則向設備發(fā)送信標幀, 為這個(gè)設備分配一個(gè)網(wǎng)絡(luò )中唯一的16位短地址。這里的信標幀是由網(wǎng)關(guān)無(wú)線(xiàn)協(xié)議MAC層生成作為PHY 層載荷, 它包含PAN ID、加入時(shí)隙分配等信息。網(wǎng)內設備也可以請求斷開(kāi)網(wǎng)絡(luò )。當網(wǎng)關(guān)收到設備斷開(kāi)連接請求后, MAC 層向網(wǎng)絡(luò )層發(fā)送報告, 開(kāi)始執行斷開(kāi)流程, 從設備列表中刪除該設備相關(guān)信息。
2. 4. 2 Z igBee /以太網(wǎng)協(xié)議轉換
ZigBee無(wú)線(xiàn)網(wǎng)關(guān)協(xié)議轉換主要是實(shí)現ZigB ee數據報文與以太網(wǎng)報文的雙向轉換。圖4所示為兩種協(xié)議報文格式轉換圖。
圖4 協(xié)議轉換圖
圖中給出了協(xié)議開(kāi)發(fā)中定義每一層的字節數, 其中PAYLOAD字節數可變, 最大不超過(guò)127B。當無(wú)線(xiàn)網(wǎng)關(guān)射頻部分( PHY 層)接收到數據報文, 根據ZigB ee通信協(xié)議從PHY 到APS解出其中有效載荷, 然后將有效載荷加載TCP(UDP) / IP( 42B)的報文格式,交由滿(mǎn)足IEEE802. 3以太網(wǎng)通信協(xié)議的網(wǎng)卡處理, 從而實(shí)現將無(wú)線(xiàn)接收到的信息傳輸到外部控制網(wǎng)絡(luò )中。
3 應用分析
3. 1 應用前景
基于Z igBee網(wǎng)絡(luò )的低成本、易控制、低功耗、組網(wǎng)方便、網(wǎng)絡(luò )健壯等特點(diǎn), 特別適用于智能家居控制, 同時(shí)它也廣泛用于工業(yè)、汽車(chē)自動(dòng)化、農業(yè)自動(dòng)化、醫療控制設備等。將來(lái)還可通過(guò)遠程控制(甚至可以是手機) 來(lái)實(shí)現對樓宇自動(dòng)化設備的管理。
有理由相信在不遠的將來(lái), 將有越來(lái)越多的內置式ZigBee功能的設備進(jìn)入大家的生活。
3. 2 智能家居網(wǎng)絡(luò )
Z igBee技術(shù)的短距離、安全可靠、低成本等技術(shù)特點(diǎn)完全符合家庭網(wǎng)絡(luò )通訊的需要, 因此選擇ZigBee技術(shù)構建智能家居無(wú)線(xiàn)網(wǎng)絡(luò )系統, 智能家居控制中心與各模塊之間都是通過(guò)ZigBee通信。
智能家居網(wǎng)絡(luò )包括環(huán)境照明系統, 家庭影院影音系統, 安防監控系統, 公共廣播/背景音樂(lè )系統, 空調系統, 電動(dòng)窗簾等一系列家居控制系統的智能集中控制。如, 回到家中, 只需要手指輕點(diǎn)觸摸屏的一個(gè)按鈕, 即可實(shí)現燈光打開(kāi)、空調調至合適溫度、音響播放悅耳的樂(lè )曲; 睡覺(jué)前用無(wú)線(xiàn)觸摸屏的面板輕觸?睡眠模式#, 便可讓窗簾關(guān)閉、燈光調至合適的亮度、電視機自動(dòng)關(guān)閉等用戶(hù)所需要的設置。而Z igBee無(wú)線(xiàn)網(wǎng)關(guān)則作為各無(wú)線(xiàn)模塊的協(xié)調器, 通過(guò)以太網(wǎng)來(lái)管理無(wú)線(xiàn)網(wǎng)絡(luò )。
4 結束語(yǔ)
無(wú)線(xiàn)通信系統在工業(yè)通信網(wǎng)絡(luò )中的應用逐漸增加, 而目前工業(yè)通信網(wǎng)絡(luò )的通信協(xié)議繁多, 多種通信標準并存, 因此不同傳輸介質(zhì)、不同速率、不同通信協(xié)議的網(wǎng)絡(luò )之間的互聯(lián)問(wèn)題也逐漸成為人們關(guān)注的重點(diǎn)。ZigBee無(wú)線(xiàn)通信技術(shù)的無(wú)線(xiàn)網(wǎng)關(guān)在實(shí)現無(wú)線(xiàn)測控系統與以太網(wǎng)互聯(lián)的同時(shí)也可以完成對無(wú)線(xiàn)網(wǎng)絡(luò )的管理, 優(yōu)化了整個(gè)工業(yè)通信網(wǎng)絡(luò ), 為工業(yè)控制領(lǐng)域從有線(xiàn)向無(wú)線(xiàn)延伸提供了一種有效的解決途徑。
評論