王玉宏,張雪梅
(1.太原羅克佳華工業有限公司電子中心,山西 太原 030032;2.山西職業技術學院電子系,山西 太原 030006)
物聯網,即物物相連的網絡,目前已廣泛應用于公共安全、智能交通、智能樓宇和環境監測等眾多領域。ZigBee是一種低速率、低功耗、網絡容量大、節點間能夠進行群體協作,網絡具有很強自愈能力的無線通信技術[1],在物聯網應用中得到了廣泛使用。隨著物聯網技術的不斷發展和推廣,解決物聯網和互聯網之間的異構互聯,在物聯網和互聯網之間建立一個透明的數據傳輸通道,為現場非IP物聯網設備接入IP網絡提供技術保證,也將成為物聯網技術研究的熱點和重點。
網關硬件架構由LM3S6911微處理器單元、系統電源單元電路、JTAG接口單元電路、RS232接口單元電路、以太網接口單元電路和ZigBee射頻模塊組成,網關硬件架構如圖1所示。由于ZigBee射頻電路需要進行2.4 GHz射頻電路設計,因此把ZigBee射頻電路部分進行了獨立設計,射頻電路板通過排針與主控板相連接。

圖1 網關硬件架構圖
主控板設計選用高性能、低成本ARM Cortex-M3嵌入式微處理器LM3S6911[2],其內置一個完全集成了媒體訪問控制層(MAC)和網絡物理層(PHY)的10/100 MHz以太網控制器,遵循IEEE802.3協議規范,MAC層提供以太網幀的發送和接收處理,PHY層只需要一個雙路1∶1隔離變壓器就能夠與以太網線路連接。設計中使用內置磁性隔離變壓器的RJ45以太網連接器HR911105A與LM3S6911處理器的PHY直接相連,使得以太網外圍接口電路簡單、抗干擾能力強,主控板電路設計如圖2所示。

圖2 主控板電路設計圖
LM3S6911同時提供兩個同步串行接口(SSI)和3個通用異步收發器(UART),設置SSI0為SPI接口,通過SPI總線與ZigBee射頻模塊相連接。由于ZigBee-以太網網關需要對其進行參數配置后才能正常工作,設計使用LM3S6911的UART0作為配置串行端口。
ZigBee射頻模塊電路選用TI公司的2.4 GHz IEEE 802.15.4和ZigBee應用片上系統解決方案專用芯片CC2530[3],CC2530 能 夠以較低的成本構建強大的ZigBee無線網絡,內置了性能優良的IEEE 802.15.4兼容無線射頻收發器和業界標準的增強型8051 CPU內核。
為增強ZigBee射頻模塊的發射功率和接收靈敏度,在射頻電路設計中增加了2.4 GHz射頻前端芯片CC2591[4],CC2591內置了功率放大器(PA)和低噪聲放大器(LNA),使輸出功率可達22 dBm,接收靈敏度可達-98.8 dBm,擴展了ZigBee無線射頻信號的傳輸距離。
CC2530的RF輸入輸出為高阻抗差分信號,CC2591除了內置PA、LNA和RF開關電路外,還內置了巴倫電路和RF匹配網絡,這使得在配合少量的外圍被動器件,能夠與CC2530進行良好的RF匹配,簡化了無線射頻電路設計,降低了射頻電路中由于被動器件參數誤差造成的無線信號衰減,射頻模塊電路設計如圖3所示。

圖3 射頻模塊電路設計圖
為達到最佳射頻性能,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進行去耦。
CC2591 的射頻輸出引腳通過 L5、C9、C10、C11和 L6組成的網絡與外接50 Ω天線進行阻抗匹配,其中L5和C9組成濾波網絡進行濾波,C10起隔直作用,C11進行高頻濾波,L6進行低頻濾波[5]。
ZigBee在2.4 GHz頻段最大傳輸速率是250 kbit·s-1,設計中射頻模塊通過CC2530的SPI接口與主控板相連接,可滿足ZigBee的數據傳輸速率要求。
主控板軟件設計在LM3S6911微處理器上移植了μC/OS -II嵌入式實時操作系統,μC/OS -II[6]是一個開放源碼的實時操作系統,但它只是一個實時的任務調度及通信內核,缺少對外圍設備和接口的充分支持。為獲得對以太網接口的支持,在其上移植了 LwIP(Light Weight IP)TCP/IP 協議棧。LwIP[7]是一套用于嵌入式系統的開放源代碼的TCP/IP協議棧,實現的重點是在保持TCP協議主要功能的基礎上減少對RAM的占用,適合在低端嵌入式系統中使用。
在設計中基于μC/OS-II操作系統,同時編寫了SPI通信驅動程序和串口通信驅動程序,其中SPI驅動程序用于和ZigBee射頻模塊進行通信,串口驅動程序用于提供網關的串口配置功能。主控板軟件工作流程如圖4所示。
其中 OSTaskCreate(taskStart,…)為 μC/OS -II操作系統第一個任務,在其中要進行目標板和TCP/IP的初始化,并建立以太網通信處理任務taskNet、SPI通信處理任務taskSPI和串口通信處理任務taskUART,最后通過OSStart()啟動μC/OS-II內核。以太網通信處理任務taskNet啟動LwIP協議棧,完成TCP和UDP相關通信服務;SPI通信處理任務taskSPI完成通過SPI總線與ZigBee射頻模塊的通信;串口通信處理任務taskUART完成網關參數配置相關工作。

圖4 主控板軟件工作流程圖
ZigBee射頻模塊軟件設計是基于CC2530芯片,移植了 TI公司的 ZigBee協議棧 Z -Stack,Z -Stack[8]協議棧采用輪轉查詢式操作系統,包括系統初始化和操作系統的執行,系統初始化完成初始化硬件平臺和軟件架構所需要的各個模塊,為操作系統的運行做好準備工作,系統初始化完成后,就開始執行操作系統入口程序。輪轉查詢式操作系統專門分配了存放所有任務事件的tasksEvents[]數組,每個單元對應存放著每一個任務的所有事件,操作系統通過一個do-while循環來遍歷tasksEvents[],找到優先級最高的任務來處理,射頻模塊軟件工作流程如圖5所示。
ZigBee射頻模塊通過SPI總線和主控板進行通信,網關設計中配置主控板為SPI主機,射頻模塊為SPI從機,主機和從機之間的雙向通信均采用應答和超時重發機制。根據SPI總線傳輸協議,從機不能主動向主機發送數據,所以采用一個主機和從機之間相連的GPIO口,來配合完成從機向主機的數據發送功能,主機到從機通信流程如圖6所示,從機到主機通信流程如圖7所示。


網關測試使用兩臺ZigBee-以太網網關、兩臺電腦和TCP&UDP測試工具軟件進行,在電腦X和電腦Y上分別安裝TCP&UDP測試工具軟件,網關測試如圖8所示。


網關A ZigBee參數配置:設備類型(協調器)、通信信道(2.410 GHz)、網絡標識(0x1123)、發送模式(點對點);網關B ZigBee參數配置:設備類型(終端)、通信信道(2.410 GHz)、網絡標識(0x1123)、發送模式(點對點)。
網關A通過其以太網接口和電腦X相連,網關A以太網參數配置:通信協議(TCP)、通信模式(服務器);電腦X上運行TCP&UDP測試工具軟件,以太網參數配置:通信協議(TCP)、通信模式(客戶端),配置完成后連接網關A。以同樣的方式通過以太網接口連接網關B和電腦Y,并進行參數配置,之后完成TCP連接工作。
配置和連接工作完成后將網關A和電腦X分別置于一點(M點),將網關B和電腦Y分別置于距離M點視距 D米的另一點(N點),在電腦 X上通過TCP&UDP測試工具軟件每隔T s,發送一次包長為L Byte的數據包,在電腦Y上進行數據接收;反之在電腦Y上發送數據包,在電腦X上接收數據,通過此種方法進行ZigBee-以太網網關數據傳輸測試。

表1 網關測試數據統計表
從表1中可以看出,在傳輸距離為視距600 m和800 m時,數據傳輸丟包率均為0;在視距1000 m時,由于無線信號衰減,出現了較小的數據丟包或者斷包。由測試結果可以得出,設計的ZigBee-以太網網關在發送包長為1024 Byte的情況下,能夠保證在視距800 m之內進行數據可靠傳輸,在視距1000 m時丟包率很小,在同類產品中具有較好的先進性和技術優勢。
以物聯網實際應用為背景,設計了ZigBee-以太網網關解決了廣泛應用于物聯網領域的ZigBee技術到互聯網的連接,在ZigBee無線網絡和互聯網之間搭建了一個透明的數據傳輸通道。射頻模塊的單獨設計,從工藝上和技術上,保證了射頻PCB板材的選擇要求和射頻信號特殊處理需求,既降低了產品成本,又提高了產品性能。通過增加射頻前端功放電路,提高了射頻模塊的發射功率和接收靈敏度,網關測試結果表明設計的網關具有顯著的技術競爭力和市場推廣價值。
[1]馬駿.基于ZigBee技術的嵌入式監控系統設計與實現[D].成都:電子科技大學,2009.
[2]Texas Instruments.Stellaris ? LM3S6911 microcontroller[M].Texas:Texas Instruments,2011.
[3]Texas Instruments.C2530 datasheet[M].Texas:Texas Instruments,2010.
[4]Texas Instruments.C2591 datasheet[M].Texas:Texas Instruments,2008.
[5]趙琦,陳佳品,李振波.基于射頻CC2520實現的ZigBee通信設計[J].微計算機信息,2010(14):37-38.
[6]任哲.嵌入式實時操作系統μC/OS-II原理及應用[M].2版.北京:北京航空航天大學出版社,2009.
[7]李鴻強,苗長云.LwIP移植到 μC/OS-II中的實現[J].天津工業大學學報,2006,25(4):38 -40.
[8]高守瑋,吳燦陽.ZigBee技術實踐教程[M].北京:北京航空航天大學出版社,2009.