一種ZigBee以太網(wǎng)網(wǎng)關(guān)的設(shè)計(jì)
摘要 基于物聯(lián)網(wǎng)中應(yīng)用廣泛的ZigBee技術(shù),設(shè)計(jì)的ZigBee以太網(wǎng)網(wǎng)關(guān)為物聯(lián)網(wǎng)和互聯(lián)網(wǎng)之間的數(shù)據(jù)傳輸搭建了橋梁。闡述了網(wǎng)關(guān)軟硬件設(shè)計(jì)和測(cè)試過(guò)程,測(cè)試結(jié)果表明,設(shè)計(jì)的網(wǎng)關(guān)具有較強(qiáng)的技術(shù)優(yōu)勢(shì)和廣闊的市場(chǎng)前景。
關(guān)鍵詞 ZigBee;以太網(wǎng);網(wǎng)關(guān);物聯(lián)網(wǎng)
物聯(lián)網(wǎng),即物物相連的網(wǎng)絡(luò),目前已廣泛應(yīng)用于公共安全、智能交通、智能樓宇和環(huán)境監(jiān)測(cè)等眾多領(lǐng)域。ZigBee是一種低速率、低功耗、網(wǎng)絡(luò)容量大、節(jié)點(diǎn)間能夠進(jìn)行群體協(xié)作,網(wǎng)絡(luò)具有很強(qiáng)自愈能力的無(wú)線(xiàn)通信技術(shù),在物聯(lián)網(wǎng)應(yīng)用中得到了廣泛使用。隨著物聯(lián)網(wǎng)技術(shù)的不斷發(fā)展和推廣,解決物聯(lián)網(wǎng)和互聯(lián)網(wǎng)之間的異構(gòu)互聯(lián),在物聯(lián)網(wǎng)和互聯(lián)網(wǎng)之間建立一個(gè)透明的數(shù)據(jù)傳輸通道,為現(xiàn)場(chǎng)非IP物聯(lián)網(wǎng)設(shè)備接入IP網(wǎng)絡(luò)提供技術(shù)保證,也將成為物聯(lián)網(wǎng)技術(shù)研究的熱點(diǎn)和重點(diǎn)。
1 硬件設(shè)計(jì)
1.1 網(wǎng)關(guān)硬件架構(gòu)
網(wǎng)關(guān)硬件架構(gòu)由LM3S6911微處理器單元、系統(tǒng)電源單元電路、JTAG接口單元電路、RS232接口單元電路、以太網(wǎng)接口單元電路和ZigBee射頻模塊組成,網(wǎng)關(guān)硬件架構(gòu)如圖1所示。由于ZigBee射頻電路需要進(jìn)行2.4 GHz射頻電路設(shè)計(jì),因此把ZigBee射頻電路部分進(jìn)行了獨(dú)立設(shè)計(jì),射頻電路板通過(guò)排針與主控板相連接。
1.2 主控板電路設(shè)計(jì)
主控板設(shè)計(jì)選用高性能、低成本ARM Cortex—M3嵌入式微處理器LM36911,其內(nèi)置一個(gè)完全集成了媒體訪(fǎng)問(wèn)控制層(MAC)和網(wǎng)絡(luò)物理層(PHY)的10/100 MHz以太網(wǎng)控制器,遵循IEEE802.3協(xié)議規(guī)范,MAC層提供以太網(wǎng)幀的發(fā)送和接收處理,PHY層只需要一個(gè)雙路1:1隔離變壓器就能夠與以太網(wǎng)線(xiàn)路連接。設(shè)計(jì)中使用內(nèi)置磁性隔離變壓器的RJ45以太網(wǎng)連接器HR911105A與LM3S6911處理器的PHY直接相連,使得以太網(wǎng)外圍接口電路簡(jiǎn)單、抗干擾能力強(qiáng),主控板電路設(shè)計(jì)如圖2所示。
LM3S6911同時(shí)提供兩個(gè)同步串行接口(SSI)和3個(gè)通用異步收發(fā)器(UART),設(shè)置SSI0為SPI接口,通過(guò)SPI總線(xiàn)與ZigBee射頻模塊相連接。由于ZigBee以太網(wǎng)網(wǎng)關(guān)需要對(duì)其進(jìn)行參數(shù)配置后才能正常工作,設(shè)計(jì)使用LM3S6911的UART0作為配置串行端口。
1.3 射頻模塊電路設(shè)計(jì)
ZigBee射頻模塊電路選用TI公司的2.4 GHz IEEE802.15.4和ZigBee應(yīng)用片上系統(tǒng)解決方案專(zhuān)用芯片CC2530,CC2530能夠以較低的成本構(gòu)建強(qiáng)大的ZigBee無(wú)線(xiàn)網(wǎng)絡(luò),內(nèi)置了性能優(yōu)良的IEE 802.15.4兼容無(wú)線(xiàn)射頻收發(fā)器和業(yè)界標(biāo)準(zhǔn)的增強(qiáng)型8051 CPU內(nèi)核。
為增強(qiáng)ZigBee射頻模塊的發(fā)射功率和接收靈敏度,在射頻電路設(shè)計(jì)中增加了2.4 GHz射頻前端芯片CC2591,CC2591內(nèi)置了功率放大器(PA)和低噪聲放大器(LNA),使輸出功率可達(dá)22 dBm,接收靈敏度可達(dá)-98.8 dBm,擴(kuò)展了ZigBee無(wú)線(xiàn)射頻信號(hào)的傳輸距離。
CC2530的RF輸入輸出為高阻抗差分信號(hào),CC2591除了內(nèi)置PA、LNA和RF開(kāi)關(guān)電路外,還內(nèi)置了巴倫電路和RF匹配網(wǎng)絡(luò),這使得在配合少量的外圍被動(dòng)器件,能夠與CC2530進(jìn)行良好的RF匹配,簡(jiǎn)化了無(wú)線(xiàn)射頻電路設(shè)計(jì),降低了射頻電路中由于被動(dòng)器件參數(shù)誤差造成的無(wú)線(xiàn)信號(hào)衰減,射頻模塊電路設(shè)計(jì)如圖3所示。
為達(dá)到最佳射頻性能,CC2591電源引腳AVDD_PA1、AVDD_PA2和AVDD_LNA電源去耦器件C6、C7、C8、L3、L4、TL1、TL2和TL3必須被使用,其中TL1、TL2和TL3為PCB走線(xiàn)感抗等效值,近似值分別為T(mén)L1=0.66 nH,TL2=0.87 nH,TL3=2.52 nH,C5對(duì)AVDD_BIAS進(jìn)行去耦。
CC2591的射頻輸出引腳通過(guò)L5、C9、C10、C11和L6組成的網(wǎng)絡(luò)與外接50 Ω天線(xiàn)進(jìn)行阻抗匹配,其中L5和C9組成濾波網(wǎng)絡(luò)進(jìn)行濾波,C10起隔直作用,C11進(jìn)行高頻濾波,L6進(jìn)行低頻濾波。
ZigBee在24 GHz頻段最大傳輸速率是250kbit·s-1,設(shè)計(jì)中射頻模塊通過(guò)CC2530的SPI接口與主控板相連接,可滿(mǎn)足ZigBee的數(shù)據(jù)傳輸速率要求。
2 軟件設(shè)計(jì)
2.1 主控板軟件設(shè)計(jì)
主控板軟件設(shè)計(jì)在LM3S6911微處理器上移植了μC/OS-Ⅱ嵌入式實(shí)時(shí)操作系統(tǒng),μC/OS-Ⅱ是一個(gè)開(kāi)放源碼的實(shí)時(shí)操作系統(tǒng),但它只是一個(gè)實(shí)時(shí)的任務(wù)調(diào)度及通信內(nèi)核,缺少對(duì)外圍設(shè)備和接口的充分支持。為獲得對(duì)以太網(wǎng)接口的支持,在其上移植了LwIP(Light Weight IP)TCP/IP協(xié)議棧。LwIP是一套用于嵌入式系統(tǒng)的開(kāi)放源代碼的TCP/IP協(xié)議棧,實(shí)現(xiàn)的重點(diǎn)是在保持TCP協(xié)議主要功能的基礎(chǔ)上減少對(duì)RAM的占用,適合在低端嵌入式系統(tǒng)中使用。
在設(shè)計(jì)中基于μC/OS-Ⅱ操作系統(tǒng),同時(shí)編寫(xiě)了SPI通信驅(qū)動(dòng)程序和串口通信驅(qū)動(dòng)程序,其中SPI驅(qū)動(dòng)程序用于和ZigBee射頻模塊進(jìn)行通信,串口驅(qū)動(dòng)程序用于提供網(wǎng)關(guān)的串口配置功能。主控板軟件工作流程如圖4所示。
其中OSTaskCreate(taskStart,…)為μC/OS-Ⅱ操作系統(tǒng)第一個(gè)任務(wù),在其中要進(jìn)行目標(biāo)板和TCP/IP的初始化,并建立以太網(wǎng)通信處理任務(wù)taskNet、SPI通信處理任務(wù)taskSPI和串口通信處理任務(wù)taskUART,最后通過(guò)OSStart()啟動(dòng)μC/OS-Ⅱ內(nèi)核。以太網(wǎng)通信處理任務(wù)task Net啟動(dòng)LwIP協(xié)議棧,完成TCP和UDP相關(guān)通信服務(wù);SPI通信處理任務(wù)taskSPI完成通過(guò)SPI總線(xiàn)與ZigBee射頻模塊的通信;串口通信處理任務(wù)taskUART完成網(wǎng)關(guān)參數(shù)配置相關(guān)工作。
2.2 射頻模塊軟件設(shè)計(jì)
ZigBee射頻模塊軟件設(shè)計(jì)是基于CC2530芯片,移植了TI公司的ZigBee協(xié)議棧Z-Stack,Z-Stack協(xié)議棧采用輪轉(zhuǎn)查詢(xún)式操作系統(tǒng),包括系統(tǒng)初始化和操作系統(tǒng)的執(zhí)行,系統(tǒng)初始化完成初始化硬件平臺(tái)和軟件架構(gòu)所需要的各個(gè)模塊,為操作系統(tǒng)的運(yùn)行做好準(zhǔn)備工作,系統(tǒng)初始化完成后,就開(kāi)始執(zhí)行操作系統(tǒng)入口程序。輪轉(zhuǎn)查詢(xún)式操作系統(tǒng)專(zhuān)門(mén)分配了存放所有任務(wù)事件的tasksEvents[]數(shù)組,每個(gè)單元對(duì)應(yīng)存放著每一個(gè)任務(wù)的所有事件,操作系統(tǒng)通過(guò)一個(gè)do—while循環(huán)來(lái)遍歷tasksEvents[],找到優(yōu)先級(jí)最高的任務(wù)來(lái)處理,射頻模塊軟件工作流程如圖5所示。
2.3 SPI通信協(xié)議設(shè)計(jì)
ZigBee射頻模塊通過(guò)SPI總線(xiàn)和主控板進(jìn)行通信,網(wǎng)關(guān)設(shè)計(jì)中配置主控板為SPI主機(jī),射頻模塊為SPI從機(jī),主機(jī)和從機(jī)之閥的雙向通信均采用應(yīng)答和超時(shí)重發(fā)機(jī)制。根據(jù)SPI總線(xiàn)傳輸協(xié)議,從機(jī)不能主動(dòng)向主機(jī)發(fā)送數(shù)據(jù),所以采用—個(gè)主機(jī)和從機(jī)之間相連的GPI0口,來(lái)配合完成從機(jī)向主機(jī)的數(shù)據(jù)發(fā)送功能,主機(jī)到從機(jī)通信流程如圖6所示,從機(jī)到主機(jī)通信流程如圖7所示。
3 網(wǎng)關(guān)測(cè)試
3.1 測(cè)試方法
網(wǎng)關(guān)測(cè)試使用兩臺(tái)ZigBee以太網(wǎng)網(wǎng)關(guān)、兩臺(tái)電腦和TCP&UDP測(cè)試工具軟件進(jìn)行,在電腦X和電腦Y上分別安裝TCP&UDP測(cè)試工具軟件,網(wǎng)關(guān)測(cè)試如圖8所示。
3.2 測(cè)試結(jié)果
網(wǎng)關(guān)A ZigBee參數(shù)配置:設(shè)備類(lèi)型(協(xié)調(diào)器)、通信信道(2.410 GHz)、網(wǎng)絡(luò)標(biāo)識(shí)(0x1123)、發(fā)送模式(點(diǎn)對(duì)點(diǎn));網(wǎng)關(guān)B ZigBee參數(shù)配置:設(shè)備類(lèi)型(終端)、通信信道(2.410 GHz)、網(wǎng)絡(luò)標(biāo)識(shí)(0x1123)、發(fā)送模式(點(diǎn)對(duì)點(diǎn))。
網(wǎng)關(guān)A通過(guò)其以太網(wǎng)接口和電腦X相連,網(wǎng)關(guān)A以太網(wǎng)參數(shù)配置:通信協(xié)議(TCP)、通信模式(服務(wù)器);電腦X上運(yùn)行TCP&UDP測(cè)試工具軟件,以太網(wǎng)參數(shù)配置:通信協(xié)議(TCP)、通信模式(客戶(hù)端),配置完成后連接網(wǎng)關(guān)A。以同樣的方式通過(guò)以太網(wǎng)接口連接網(wǎng)關(guān)B和電腦Y,并進(jìn)行參數(shù)配置,之后完成TCP連接工作。
配置和連接工作完成后將網(wǎng)關(guān)A和電腦X分別置于一點(diǎn)(M點(diǎn)),將網(wǎng)關(guān)B和電腦Y分別置于距離M點(diǎn)視距D米的另一點(diǎn)(N點(diǎn)),在電腦X上通過(guò)TCP&UDP測(cè)試工具軟件每隔Ts,發(fā)送一次包長(zhǎng)為L(zhǎng)Byte的數(shù)據(jù)包,在電腦Y上進(jìn)行數(shù)據(jù)接收;反之在電腦Y上發(fā)送數(shù)據(jù)包,在電腦X上接收數(shù)據(jù),通過(guò)此種方法進(jìn)行ZigBee以太網(wǎng)網(wǎng)關(guān)數(shù)據(jù)傳輸測(cè)試。
從表1中可以看出,在傳輸距離為視距600 m和800 m時(shí),數(shù)據(jù)傳輸丟包率均為O;在視距1 000 m時(shí),由于無(wú)線(xiàn)信號(hào)衰減,出現(xiàn)了較小的數(shù)據(jù)丟包或者斷包。由測(cè)試結(jié)果可以得出,設(shè)計(jì)的ZigBee以太網(wǎng)網(wǎng)關(guān)在發(fā)送包長(zhǎng)為1 024 Byte的情況下,能夠保證在視距800 m之內(nèi)進(jìn)行數(shù)據(jù)可靠傳輸,在視距1 000 m時(shí)丟包率很小,在同類(lèi)產(chǎn)品中具有較好的先進(jìn)性和技術(shù)優(yōu)勢(shì)。
4 結(jié)束語(yǔ)
以物聯(lián)網(wǎng)實(shí)際應(yīng)用為背景,設(shè)計(jì)了ZigBee以太網(wǎng)網(wǎng)關(guān)解決了廣泛應(yīng)用于物聯(lián)網(wǎng)領(lǐng)域的ZigBee技術(shù)到互聯(lián)網(wǎng)的連接,在ZigBee無(wú)線(xiàn)網(wǎng)絡(luò)和互聯(lián)網(wǎng)之間搭建了一個(gè)透明的數(shù)據(jù)傳輸通道。射頻模塊的單獨(dú)設(shè)計(jì),從工藝上和技術(shù)上,保證了射頻PCB板材的選擇要求和射頻信號(hào)特殊處理需求,既降低了產(chǎn)品成本,又提高了產(chǎn)品性能。通過(guò)增加射頻前端功放電路,提高了射頻模塊的發(fā)射功率和接收靈敏度,網(wǎng)關(guān)測(cè)試結(jié)果表明設(shè)計(jì)的網(wǎng)關(guān)具有顯著的技術(shù)競(jìng)爭(zhēng)力和市場(chǎng)推廣價(jià)值。