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