基于ZigBee的工業(yè)無線網(wǎng)關(guān)研究
摘要 為實現(xiàn)無線網(wǎng)絡(luò)與外部有線控制網(wǎng)絡(luò)的互聯(lián),開發(fā)了一種用于接入工業(yè)以太網(wǎng)的無線網(wǎng)關(guān)。通過對無線網(wǎng)關(guān)應用需求進行分析,設(shè)計了基于ZigBee無線通信技術(shù)的網(wǎng)關(guān)通信模型,重點研究了無線網(wǎng)關(guān)實現(xiàn)中的相關(guān)關(guān)鍵技術(shù),如網(wǎng)絡(luò)管理、系統(tǒng)管理以及協(xié)議轉(zhuǎn)換等。最后,介紹了測試ZigBee無線網(wǎng)關(guān)的方法并給出了相應測試界面。測試結(jié)果表明,ZigBee無線網(wǎng)關(guān)能較好地實現(xiàn)模型設(shè)計中提出的各項功能,為工業(yè)無線網(wǎng)絡(luò)與有線網(wǎng)絡(luò)的互操作性提供了一種有效解決途徑。
關(guān)鍵詞 ZigBee無線通信 工業(yè)無線網(wǎng)關(guān) 無線測控系統(tǒng) 網(wǎng)絡(luò)管理 協(xié)議轉(zhuǎn)換
引 言
基于對監(jiān)控數(shù)據(jù)傳輸?shù)膶崟r性、數(shù)據(jù)接口的開放性以及數(shù)據(jù)鏈接的安全性的要求,國內(nèi)外許多公司和研究機構(gòu)開始研究并組建工業(yè)無線測控系統(tǒng)。ZigBee短程無線網(wǎng)通信技術(shù)以其數(shù)據(jù)傳輸安全可靠、組網(wǎng)簡易靈活、設(shè)備成本低、電池壽命長等優(yōu)勢,成為近年來業(yè)界的研究熱點之一。美國儀表系統(tǒng)和自動化學會已成立工業(yè)無線標準委員會(ISA1OO)。該委員會專門致力于工業(yè)無線技術(shù)的標準化進程,預計2008年底出臺正式標準。ISA100標準的制定目的是讓工業(yè)無線設(shè)備以低復雜度、合理的成本和低功耗、適當?shù)臄?shù)據(jù)通信速率去支持工業(yè)現(xiàn)場應用。標準主要內(nèi)容包括工業(yè)無線的網(wǎng)絡(luò)構(gòu)架、共存性、健壯性、與有線現(xiàn)場網(wǎng)絡(luò)的互操作性等。本設(shè)計項目為一種工業(yè)無線網(wǎng)關(guān),主要用于解決工業(yè)無線網(wǎng)絡(luò)與有線網(wǎng)絡(luò)的互操作性問題。
1 ZigBee無線通信技術(shù)簡介
ZigBee技術(shù)是一個具有統(tǒng)一技術(shù)標準的短距離無線通信技術(shù),該標準把低功耗、低速率傳輸、低成本、低復雜度作為重要目標。其物理層(PHY)和媒體訪問控制層(MAC)協(xié)議基于IEEE802.15.4協(xié)議標準,網(wǎng)絡(luò)層(NWK)和應用層(APS)由ZigBee聯(lián)盟來制定。ZigBee技術(shù)定義其工作在*基金項目:國家863計劃項目,基于802.15.4的智能儀表(編號2006AA040302-2)。2.4 GHz的ISM頻段上,傳輸速率為20 kb/s~250 kb/s?;赯igBee技術(shù)的通信設(shè)備有幾十米的覆蓋范圍,也可以增加路由節(jié)點擴展覆蓋范圍,因此比較適用于工業(yè)控制,遠程控制等相關(guān)領(lǐng)域。ZigBee通信設(shè)備可自由靈活地加入和離開網(wǎng)絡(luò),自身的低功耗和低成本延長了設(shè)備的工作時間,降低了系統(tǒng)整體成本。
2 工業(yè)無線網(wǎng)關(guān)模型設(shè)計
2.1 需求分析
目前工業(yè)中使用的無線網(wǎng)關(guān)主要采用802.11b、GPRS、藍牙等通信技術(shù),成本高、功耗高、移動性差以及安全性差等限制了這類傳統(tǒng)網(wǎng)關(guān)的應用,采用ZigBee無線通信技術(shù)可以較大程度上改進這些性能。ZigBee無線網(wǎng)關(guān)因其技術(shù)優(yōu)勢在工業(yè)應用中可逐漸取代傳統(tǒng)網(wǎng)關(guān),目前已開始在小范圍搭建工業(yè)測控系統(tǒng)進行測試應用。在功能上,傳統(tǒng)網(wǎng)關(guān)主要完成協(xié)議轉(zhuǎn)換及部分系統(tǒng)管理功能,而ZigBee無線網(wǎng)關(guān)作為無線網(wǎng)絡(luò)接入有線網(wǎng)絡(luò)的接入部件,除了具備傳統(tǒng)網(wǎng)關(guān)的功能外,還應具備一些特有的功能:具備對無線網(wǎng)絡(luò)的管理功能,包括無線網(wǎng)絡(luò)形成、無線設(shè)備加入和斷開等管理功能;在協(xié)議轉(zhuǎn)換方面,必須同時開發(fā)無線、有線協(xié)議,數(shù)據(jù)包在無線和有線間轉(zhuǎn)換;為實現(xiàn)對無線網(wǎng)絡(luò)的監(jiān)測和控制,在無線和有線協(xié)議開發(fā)中必須考慮為上層提供相應服務(wù)及服務(wù)接口。
2.2 通信模型設(shè)計
基于以上分析,針對工業(yè)應用設(shè)計了一種用于接人工業(yè)以太網(wǎng)的無線網(wǎng)關(guān)。無線網(wǎng)關(guān)的通信模型如圖1所示。
通信模型主要包括以下3個方面:
①無線通信機制?,F(xiàn)場設(shè)備與無線網(wǎng)關(guān)之間數(shù)據(jù)通信采用了ZigBee無線通信技術(shù)。ZigBee無線通信技術(shù)采用CSMA—CA接入方式,有效避免了無線電載波之間的沖突,保證了數(shù)據(jù)傳輸?shù)目煽啃?。其MAC層和PHY層由IEEE802.15.4工作小組制定,NwK和APS則由ZigBee聯(lián)盟來制定,其他部分——ZDO(ZigBee設(shè)備對象)和ZAO(ZigBee應用對象),由用戶根據(jù)不同應用來完成。
②以太網(wǎng)協(xié)議轉(zhuǎn)換。無線網(wǎng)關(guān)的接入功能主要體現(xiàn)在協(xié)議轉(zhuǎn)換,即將ZigBee無線通信協(xié)議轉(zhuǎn)換為以太網(wǎng)有線協(xié)議,通過以太網(wǎng)接入控制網(wǎng)絡(luò)。IEEE802.3 PHY和IEEE802.3 MAC為標準的以太網(wǎng)物理層和介質(zhì)訪問層,IEEE802.2 LLC提供以太網(wǎng)幀與IP層接口,傳輸層為標準TCP./UDP協(xié)議。
③上層服務(wù)接口(high layer service interface)。針對工業(yè)應用,無線網(wǎng)關(guān)要求提供上層服務(wù)及接口,使用戶可以通過無線網(wǎng)關(guān)對現(xiàn)場設(shè)備進行組態(tài)、調(diào)校。上層服務(wù)接口位于ZigBee APS層與TCP/IP層之間,為系統(tǒng)實現(xiàn)各種服務(wù)提供通用接口。
3 工業(yè)無線網(wǎng)關(guān)關(guān)鍵技術(shù)研究
3.1 網(wǎng)絡(luò)管理功能
(1)網(wǎng)絡(luò)形成
無線網(wǎng)關(guān)上電后,無線協(xié)議棧各層首先進行初始化,然后通過網(wǎng)絡(luò)請求原語來啟動一個新的網(wǎng)絡(luò),僅當具有協(xié)調(diào)器能力且當前還沒有與網(wǎng)絡(luò)連接的網(wǎng)關(guān)設(shè)備才可以建立一個新的網(wǎng)絡(luò)。圖2所示為網(wǎng)絡(luò)形成流程。組網(wǎng)開始時,網(wǎng)絡(luò)層首先向MAC層請求分配協(xié)議所規(guī)定的信道,或者由PHY層進行有效信道掃描,網(wǎng)絡(luò)層管理實體等待信道掃描結(jié)果,然后根據(jù)掃描結(jié)果選擇可允許能量水平的信道。找到合適的信道后,為這個新的網(wǎng)絡(luò)選擇一個個域網(wǎng)標識符(PANID)。PANID可由網(wǎng)絡(luò)形成請求時指定,也可以隨機選擇一個PANID(除廣播PANID固定為0xFFFF外),PANID在所選信道中應該是唯一的。PANID一旦選定,無線網(wǎng)關(guān)將選擇16位網(wǎng)絡(luò)地址0x0000作為自身短地址,同時進行相關(guān)設(shè)置。完成設(shè)置后,通過MAC層發(fā)出網(wǎng)絡(luò)啟動請求,返回網(wǎng)絡(luò)形成狀態(tài)。
(2)網(wǎng)絡(luò)維護網(wǎng)絡(luò)維護主要包括設(shè)備加入網(wǎng)絡(luò)和離開網(wǎng)絡(luò)過程。當網(wǎng)絡(luò)形成后,通過網(wǎng)絡(luò)管理實體設(shè)定MAC層連接許可標志來判斷是否允許其他設(shè)備加設(shè)備初始化為協(xié)調(diào)器入網(wǎng)絡(luò)。加入方式有聯(lián)合方式和直接方式,在協(xié)議實現(xiàn)中采取直接加入網(wǎng)絡(luò)方式。這種方式下由待加入的設(shè)備發(fā)送請求加入信標幀,網(wǎng)關(guān)接收到后,網(wǎng)絡(luò)管理實體首先判斷這個設(shè)備是否已存在于網(wǎng)絡(luò)。存在,則使其加入網(wǎng)絡(luò);若不存在,則向設(shè)備發(fā)送信標幀,為這個設(shè)備分配一個網(wǎng)絡(luò)中唯一的16位的短地址。這里的信標幀是由網(wǎng)關(guān)無線協(xié)議MAC層生成作為PHY層載荷,它包含PANID、加入時隙分配等信息。網(wǎng)內(nèi)設(shè)備也可以請求斷開網(wǎng)絡(luò)。當網(wǎng)關(guān)收到設(shè)備斷開連接請求后,MAC層向網(wǎng)絡(luò)層發(fā)送報告,開始執(zhí)行斷開流程,從設(shè)備列表中刪除該設(shè)備相關(guān)信息。
3.2 系統(tǒng)管理
(1)地址映射
在無線傳輸中,網(wǎng)關(guān)主要根據(jù)地址信息來進行數(shù)據(jù)的發(fā)送和轉(zhuǎn)發(fā)。ZigBee通信協(xié)議中規(guī)定了兩種地址:64位的IEEE長地址和16位的短地址(SADDR)。IEEE長地址作為全局地址,可在大范圍內(nèi)調(diào)用;短地址作為個域網(wǎng)地址,僅限于小范圍局域網(wǎng)內(nèi)通信使用。為了方便設(shè)備間的信息傳送,在協(xié)議轉(zhuǎn)換過程中進行了地址映射。通過建立地址表存儲現(xiàn)場設(shè)備的短地址(網(wǎng)關(guān)通信短地址固定為0000H),表中每個短地址對應一個設(shè)備對象標識符(Ob-jectID),控制網(wǎng)絡(luò)協(xié)議根據(jù)ObjectID來對不同設(shè)備進行操作。如需實現(xiàn)組播功能,只須定義一組ObjectID作為網(wǎng)關(guān)目的地址,地址映射示例如表1所列。
128.128.2.202為網(wǎng)關(guān)在工業(yè)以太網(wǎng)內(nèi)分配的IP地址,用于有線網(wǎng)絡(luò)設(shè)備信息交換;0x000000220001、0x000000220002等為無線網(wǎng)絡(luò)IEEE64位長地址,0x1347為16位的個域網(wǎng)標識符(PANI)ID),0xl699、0x169A為16位設(shè)備短地址(SADDR)。無線設(shè)備間通信可采用兩種方式:長地址或PANID+SADDR。兩種方式均對應于一個ObjeetID,地址映射減少了通信傳輸?shù)淖止?jié)數(shù),從而提高了通信效率。
(2) 進程通信機制
為了提高系統(tǒng)的實時性,進程間通信采用消息觸發(fā)的方式,在有線協(xié)議(以太網(wǎng))的開發(fā)中移植了嵌入式實時操作系統(tǒng)μc/OS-II。進程間通信主要通過調(diào)用μC/0S—II的消息函數(shù)——消息請求0SQrequest()和消息觸發(fā)OSQpost()來實現(xiàn)。在協(xié)議開發(fā)中,根據(jù)不同協(xié)議堆棧中不同層完成的功能進行進程任務(wù)劃分,根據(jù)任務(wù)優(yōu)先級來確定任務(wù)調(diào)用次序,未被觸發(fā)的任務(wù)始終處于消息請求狀態(tài)。如果同一時刻兩個任務(wù)被觸發(fā),則根據(jù)優(yōu)先級觸發(fā)優(yōu)先級高的任務(wù),而優(yōu)先級低的任務(wù)處于等待狀態(tài)。
3.3 無線/以太網(wǎng)協(xié)議轉(zhuǎn)換
ZigBee無線網(wǎng)關(guān)協(xié)議轉(zhuǎn)換主要是實現(xiàn)ZigBee數(shù)據(jù)報文與以太網(wǎng)報文雙向轉(zhuǎn)換。圖3所示為兩種協(xié)議報文格式轉(zhuǎn)換圖。圖中給出了協(xié)議開發(fā)中定義每一層的字節(jié)數(shù),其中PAYLOAD字節(jié)數(shù)可變,最大不超過127 B。當無線網(wǎng)關(guān)射頻部分(PHY層)接收到數(shù)據(jù)報文,根據(jù)ZigBee通信協(xié)議從PHY到APS解出其中有效載荷,然后將有效載荷加載TCP(UDP)/IP(42 B)的報文格式,交由滿足IEEE802.3以太網(wǎng)通信協(xié)議的網(wǎng)卡處理,從而實現(xiàn)將無線接收到的信息傳輸?shù)酵獠靠刂凭W(wǎng)絡(luò)中。
3.4 服務(wù)定義及實現(xiàn)
為實現(xiàn)有線網(wǎng)絡(luò)與無線網(wǎng)絡(luò)的信息交互及控制功能,無線網(wǎng)關(guān)須完成相應的服務(wù)功能。無線網(wǎng)關(guān)提供的基本服務(wù)主要有:讀/寫服務(wù)、信息分發(fā)服務(wù)、設(shè)備上線服務(wù)。服務(wù)功能在網(wǎng)絡(luò)連接成功后開始實現(xiàn),不同服務(wù)對應不同的服務(wù)號。讀寫服務(wù)主要是針對設(shè)備參數(shù)的讀取和設(shè)置;信息分發(fā)服務(wù)是將無線通信設(shè)備采集到的數(shù)據(jù)周期性地分發(fā)到網(wǎng)關(guān),網(wǎng)關(guān)再轉(zhuǎn)發(fā)到控制網(wǎng)絡(luò);設(shè)備上線服務(wù)是標示設(shè)備當前狀態(tài),即上線、掉線,該服務(wù)的服務(wù)類型為周期性,其他服務(wù)必須在此服務(wù)之后才能執(zhí)行。各種服務(wù)雖然完成不同的功能,但都通過同一服務(wù)接口,因此在實現(xiàn)中設(shè)計了一套相同的服務(wù)報文格式:
服務(wù)報文主要包含以下幾個關(guān)鍵部分:短地址、服務(wù)號、參數(shù)索引。CRC為安全校驗,LQI為鏈接質(zhì)量,PHYheader、MAC header、NwK header和APS header分別為物理層、媒體訪問控制層、網(wǎng)絡(luò)層和應用層頭字節(jié),字節(jié)數(shù)與圖3中的規(guī)定相同。
4 功能測試
無線網(wǎng)關(guān)硬件設(shè)計采用雙CPU模式,即AT91R40008+CC2430模式。AT91R40008是一款基于ARM7內(nèi)核的處理器,在網(wǎng)關(guān)開發(fā)中用于承載以太網(wǎng)協(xié)議;CC2430是一款基于IEEE802.15.4協(xié)議的無線通信芯片,它包括1個2.4 GHz的射頻收發(fā)器和1顆工業(yè)級小巧高效的8051控制器,用于承載無線通信協(xié)議。這種解決方案能夠提高系統(tǒng)性能并滿足以ZigBee為基礎(chǔ)的2.4GHz的ISM波段應用需求。
4.1 測試方法
對無線網(wǎng)關(guān)的測試主要采用兩款工具軟件——TI公司的Packet Sniffer forCC2430和免費開源的Ethereal,主要測試無線網(wǎng)關(guān)數(shù)據(jù)的收發(fā)功能、協(xié)議轉(zhuǎn)換正確性以及無線網(wǎng)絡(luò)管理功能等。Packet Sniffel for CC2430為無線通信協(xié)議分析軟件,配合C51RF一3無線網(wǎng)絡(luò)協(xié)議分析儀可以捕獲空中ZigBee無線數(shù)據(jù)報文;Ethereal為專用于通過網(wǎng)口捕獲以太網(wǎng)報文的以太網(wǎng)協(xié)議分析軟件。測試時,可通過兩款協(xié)議分析軟件分別捕獲無線和以太網(wǎng)數(shù)據(jù)報文,對這兩種報文進行分析比較,從而完成對無線網(wǎng)關(guān)相關(guān)功能的驗證;同時也可通過無線網(wǎng)關(guān)建立無線測控系統(tǒng),通過專用無線組態(tài)軟件對系統(tǒng)進行相關(guān)功能測試,從而驗證無線網(wǎng)關(guān)功能。
4.2 測試界面及分析
(1)數(shù)據(jù)收發(fā)及協(xié)議轉(zhuǎn)換功能驗證
圖4所示為Packet Sniffer for CC2430捕獲空中的無線數(shù)據(jù)報文。無線數(shù)據(jù)報文包括接收時問(Time)、幀長度(Length)、幀控制域(Frame controlfield)、序列號(Sequence number)、個域網(wǎng)標識符(PANID)、目的地/源地址(Dest/Source Address)等信息。畫線部分(16 99 1401 00 04 01 OO 01 09 08 02 00)為無線報文中的實時數(shù)據(jù)。此數(shù)據(jù)為無線設(shè)備發(fā)送出的無線報文有效載荷,由無線網(wǎng)關(guān)CC2430射頻部分接收。
圖5為上位機通過Ethereal協(xié)議分析軟件抓包獲取的以太網(wǎng)數(shù)據(jù)報文,包括以太網(wǎng)頭幀、IP報文頭字段以及UDP頭字段等。畫線部分(16 99 14 01 00 04 01 00 01 0908 02 00)為TCP/IP協(xié)議數(shù)據(jù)域。數(shù)據(jù)域載荷與圖5中無線數(shù)據(jù)載荷相同,從而驗證了網(wǎng)關(guān)數(shù)據(jù)收發(fā)功能以及協(xié)議轉(zhuǎn)換的正確性。
(2)網(wǎng)絡(luò)管理功能驗證
通過無線網(wǎng)搭建無線測控系統(tǒng)驗證無線網(wǎng)關(guān)的無線網(wǎng)絡(luò)管理功能。圖6所示為無線組態(tài)軟件監(jiān)測無線測控系統(tǒng)示意圖。圖中無線測控系統(tǒng)為實驗環(huán)境中組建的一樹型拓撲結(jié)構(gòu),由無線網(wǎng)關(guān)、路由設(shè)備、現(xiàn)場設(shè)備組成,無線網(wǎng)關(guān)負責完成無線網(wǎng)絡(luò)的形成、維護以及地址分配等功圖6 通過無線網(wǎng)關(guān)組建無線測控系統(tǒng)組態(tài)示意圖能。實驗環(huán)境中經(jīng)過長時間運行,無線測控系統(tǒng)運行穩(wěn)定,無線網(wǎng)絡(luò)通信正常,從而可以驗證無線網(wǎng)關(guān)的網(wǎng)絡(luò)管理功能的完備性。
結(jié) 語
隨著無線通信技術(shù)逐漸進入工業(yè)領(lǐng)域,無線通信系統(tǒng)在工業(yè)通信網(wǎng)絡(luò)中應用逐漸增加,而目前工業(yè)通信網(wǎng)絡(luò)通信協(xié)議繁多,多種通信標準并存,因此不同傳輸介質(zhì)、不同速率、不同通信協(xié)議的網(wǎng)絡(luò)之間互聯(lián)問題也逐漸成為人們關(guān)注的重點。本文介紹了一種采用ZigBee無線通信技術(shù)的工業(yè)無線網(wǎng)關(guān),無線網(wǎng)關(guān)在實現(xiàn)工業(yè)無線測控系統(tǒng)與工業(yè)以太網(wǎng)互聯(lián)的同時也可以完成對無線網(wǎng)絡(luò)的管理。工業(yè)無線網(wǎng)關(guān)的實現(xiàn)優(yōu)化了整個工業(yè)通信網(wǎng)絡(luò),為工業(yè)控制領(lǐng)域從有線向無線延伸提供了一種有效的解決途徑。