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