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