宋連慶 韓興會 袁世博 權(quán) 策
(1.西安工程大學電子信息學院 西安 710048)(2.西安曼海特工業(yè)技術(shù)有限公司 西安 710018)
無線傳感器網(wǎng)絡是能夠在指定區(qū)域內(nèi)獲取無線傳感器節(jié)點數(shù)據(jù)信息的一種新型信息獲取系統(tǒng)[1~3],是由安裝在監(jiān)測范圍內(nèi)的多個傳感器節(jié)點通過無線通信的方法構(gòu)建成的一個多跳自組織的監(jiān)測系統(tǒng)。ZigBee技術(shù)相對簡單、設備功耗較低使得它成為目前搭建無線傳感器網(wǎng)絡的第一選擇。ZigBee無線傳感器網(wǎng)絡技術(shù),廣泛應用于物聯(lián)網(wǎng)、物流管理和環(huán)境監(jiān)測等諸多方面[4~5]。
本文設計了一種ZigBee無線傳感器網(wǎng)絡平臺,介紹了軟硬件設計,實現(xiàn)了無線網(wǎng)絡的組建和數(shù)據(jù)的路由,為企業(yè)生產(chǎn)和生活中需要多點監(jiān)測和布線困難的場所提供一種可行的解決方案。
平臺主要由終端采集模塊、無線通信模塊和上位機組成。如圖1所示,整個系統(tǒng)可以實現(xiàn)監(jiān)測區(qū)域數(shù)據(jù)的采集、處理和顯示功能。終端設備搭載傳感器完成監(jiān)測數(shù)據(jù)的采集,簡單處理后將數(shù)據(jù)上傳至綁定的父節(jié)點路由器,通過路由器的多跳,將數(shù)據(jù)傳遞給協(xié)調(diào)器。協(xié)調(diào)器負責網(wǎng)絡的發(fā)起與維護并與上位機通信,上位機實現(xiàn)信息的直觀顯示。
圖1 平臺總體結(jié)構(gòu)
系統(tǒng)的硬件組成包含協(xié)調(diào)器、路由器和終端設備3部分。終端設備是網(wǎng)絡的基本單元,本文將路由器設置為兼具采集和路由功能,其硬件設計與終端設備一樣,在軟件配置時有所不同。終端設備組成框圖如圖2所示。包括數(shù)據(jù)采集模塊、數(shù)據(jù)處理模塊、無線通信模塊和電源模塊。
圖2 終端設備結(jié)構(gòu)
本系統(tǒng)采用TI公司的CC2530芯片作為核心處理器,它集成了一個高性能射頻收發(fā)器、一個增強型8051微處理器、8kB的RAM,擁有可選擇的32/64/128/256 KB 閃存[6~8]。因考慮到 ZigBee協(xié)議棧的運行,選擇了256KB的閃存。在接收和發(fā)送模式時,電流損耗分別為24mA和29mA[9],能較好地滿足低功耗的要求。CC2530提供了一套廣泛的外設集,只需很少的外圍電路就可以搭建一個簡單的ZigBee節(jié)點。
射頻模塊的設計主要考慮晶振電路和天線與巴倫電路的設計。CC2530需要2個晶振,32MHz晶振提供高頻時鐘,32.768MHz晶振提供低頻時鐘。本文采用單端天線,為達到較好的收發(fā)效果設計了巴倫電路。射頻信號的收發(fā)采用差分方式,其最佳差分負載是 115+j180(Ω)[10],如圖 3 所示。CC2530的射頻輸出引腳通過L1、L2、C8、C9、C11和C17組成的網(wǎng)絡與外接天線進行阻抗匹配,其中L1和C9進行濾波,C11起隔直作用,C10進行高頻濾波,L2進行低頻濾波。
圖3 天線及巴倫電路
所選用的CC2530芯片具有寬電源電壓范圍,在2V~3.6V電壓范圍內(nèi)都能正常工作[11],所設計終端使用高容量鋰電池進行直接供電。
采集模塊主要包括傳感器和A/D轉(zhuǎn)換器,傳感器負責對監(jiān)控區(qū)域的信息進行采集,如溫度、濕度、光照等,A/D轉(zhuǎn)換器將模擬量信息轉(zhuǎn)換為數(shù)字信號,方便進一步處理。
系統(tǒng)軟件設計基于TI公司的Z-Stack協(xié)議棧。同時考慮到功耗和時延問題,采用最小跳數(shù)的自組網(wǎng)方法,提高傳輸?shù)男?。Z-Stack協(xié)議棧使用了 OSAL(操作系統(tǒng)抽象層)[12~13],采用輪詢的方式進行任務調(diào)度管理。ZigBee協(xié)議棧由ZigBee聯(lián)盟在IEEE802.15.4定義的物理層和介質(zhì)訪問控制層之上,將網(wǎng)絡層和應用層進行規(guī)范化而形成的[14]。為了使得協(xié)議棧各層能夠獨立工作,采用了分層結(jié)構(gòu),對協(xié)議棧進行了適當?shù)男薷?,在應用層進行編程設計,以滿足系統(tǒng)需要。
協(xié)調(diào)器軟件流程如圖4所示。上電后進行能量掃描,如果發(fā)現(xiàn)存在網(wǎng)絡,則作為路由加入網(wǎng)絡,如果沒有網(wǎng)絡,則選擇一個沒使用過的PAN ID來組網(wǎng),并允許節(jié)點綁定,等待設備入網(wǎng),設備成功入網(wǎng)后,獲得短地址,并通過此地址進行數(shù)據(jù)的收發(fā)。
終端設備軟件流程如圖5所示。終端上電后進行主動掃描,發(fā)現(xiàn)網(wǎng)絡后申請加入,成功入網(wǎng)后將被分配短地址,然后向父節(jié)點發(fā)起綁定請求,成功后定時采集數(shù)據(jù)并發(fā)送,發(fā)送完畢進入睡眠狀態(tài),定時時間到再進行數(shù)據(jù)采集并發(fā)送。
圖4 協(xié)調(diào)器軟件流程
圖5 終端設備軟件流程
在終端設備數(shù)據(jù)傳輸?shù)絽f(xié)調(diào)器的過程中,如果距離太遠就需要路由器進行中轉(zhuǎn),理論上可以采用多個路由器中轉(zhuǎn)的方法,本文考慮到路由器層數(shù)過多會造成硬件資源浪費并且多次路由產(chǎn)生的延時也不能輕視,故采用了一層路由。
本系統(tǒng)中終端設備采用輕度睡眠模式[15],在一次采集數(shù)據(jù)結(jié)束之后,終端設備進入睡眠狀態(tài),在一個預定延時后通過32.768kHz晶振時鐘源驅(qū)動24位硬件休眠定時器喚醒設備,并進行數(shù)據(jù)采集。休眠定時器有一個24位計數(shù)器和一個24位比較器,當SLEEP_TIMER定時器計數(shù)到比較器的設定值時,產(chǎn)生中斷喚醒MCU。使終端節(jié)點能夠周期性地進入睡眠狀態(tài),需要在程序中定義睡眠觸發(fā)事件:
#defineMY_CHANGE_SLEEP_EVT 0x0008
當睡眠定時器溢出時,會觸發(fā)睡眠改變?nèi)蝿帐录2僮飨到y(tǒng)接收到睡眠改變事件后,會對該事件進行處理。在該事件處理函數(shù)中,程序繼續(xù)進入睡眠模式,這樣下來,終端設備會在睡眠SleepTimer時間后醒來,發(fā)送采集的數(shù)據(jù)包,并在myReportPeriod時間后再次進入睡眠,如此重復便可實現(xiàn)周期性睡眠與喚醒這一功能。
圖6 組網(wǎng)實驗結(jié)果圖
由一個協(xié)調(diào)器、兩個路由器、四個終端設備和一臺PC機組成樹型網(wǎng)絡進行溫度監(jiān)測組網(wǎng)實驗。協(xié)調(diào)器采用電源供電,設計的路由器和終端設備可以休眠,使用鋰電池供電。終端設備分布于需要監(jiān)測的場所,負責對數(shù)據(jù)的采集并通過無線射頻信號發(fā)射;路由器檢測到終端節(jié)點發(fā)送的數(shù)據(jù)信息后進行路徑判斷,將數(shù)據(jù)發(fā)送至下一節(jié)點。協(xié)調(diào)器接收各個路由器節(jié)點的數(shù)據(jù),通過串口將數(shù)據(jù)傳入PC機,進而在PC機上顯示。每隔50s,終端喚醒采集溫度,兩次采集之間,終端睡眠以減少功耗。實驗效果如圖6所示,溫度值隨環(huán)境的變化而變化。
為了對系統(tǒng)性能進行有效測試,分別在室內(nèi)和室外兩種情況下測試了距離30m、50m、70m、90m、110m時平臺的數(shù)據(jù)傳輸能力,如表1所示。
表1 系統(tǒng)通信性能測試
分析數(shù)據(jù)可知,在室外環(huán)境下,通信距離在90m內(nèi),數(shù)據(jù)傳輸能力較強且穩(wěn)定可靠;在室內(nèi)環(huán)境下,要保證數(shù)據(jù)的可靠性,通信距離需控制在50m內(nèi)。
本文介紹了基于TI公司CC2530芯片的ZigBee無線傳感器網(wǎng)絡平臺的設計與實現(xiàn)。以低功耗、低成本為目標進行了軟硬件設計,使得平臺具有較好的通用性和易開發(fā)性,可大大減少產(chǎn)品設計的時間。最后進行了組網(wǎng)實驗和通信性能測試實驗,實驗中該平臺的軟硬件穩(wěn)定可靠,數(shù)據(jù)傳輸效率高。實驗結(jié)果表明,該平臺可在90m范圍內(nèi)對數(shù)據(jù)進行可靠的傳輸,解決了傳統(tǒng)有線監(jiān)測系統(tǒng)高成本、布線困難等問題,可滿足一般的工業(yè)場所的應用。
[1]姚剛,胡博.無線傳感器網(wǎng)絡低功耗技術(shù)研究[J].中國新通信,2015,17(5):128.YAOGang,HU Bo.Research on Low Power Technology of Wireless Sensor Network[J].China New Communication,2015,17(5):128.
[2]黨燕.淺議Zigbee無線傳感網(wǎng)絡技術(shù)在物聯(lián)網(wǎng)中的應用[J].無線互聯(lián)科技,2012(9):73.DANGYan.Discussion on the Application of ZigbeeWireless Sensor Network Technology in Internet of Things[J].Wireless Internet Technology,2012(9):73.
[3]安康,張慧熙,王李冬,等.基于ZigBee技術(shù)的多節(jié)點設備無線物聯(lián)自組網(wǎng)設計[J].微型機與應用,2014,33(8):51-54.AN Kang,ZHANG Huixi,WANG Lidong,et al.Design of Wireless Network of Multi-node Devices Based on ZigBee Technology[J].Microcomputer and Applications,2014,33(8):51-54.
[4]王小強,歐陽駿,黃寧淋.ZigBee無線傳感器網(wǎng)絡設計與實現(xiàn)[M].北京:化學工業(yè)出版社,2012:30-35.WANG Xiaoqing,OU Yangjun,HUANG Ninglin.Design and Implementation of ZigBee Wireless Sensor Network[M].Beijing:Chemical Industry Press,2012:30-35.
[5]陳章進,張建峰,李翰超,等.基于ZigBee技術(shù)的教學設備系統(tǒng)設計[J].電子測量技術(shù),2015(8):99-103.CHEN Zhangjin,ZHANG Jianfeng,LIHanchao,etal.Design of Teaching Equipment System Based on ZigBee Technology[J].Electronic Measurement Technology,2015(8):99-103.
[6]張沖,熊勇,房衛(wèi)東,等.ZigBee網(wǎng)絡性能測試系統(tǒng)研究[J].國外電子測量技術(shù),2015(8):74-81.ZHANG Chong,XIONG Yong,F(xiàn)ANG Weidong,et al.Study on ZigBee Network Performance Test System[J].Foreign Electronic Measurement Technology,2015(8):74-81.
[7]張洪波.基于Zigbee的溫度監(jiān)測系統(tǒng)的研究[J].電子設計工程,2014,22(7):79-81.ZHANG Hongbo.Study on Temperature Monitoring System Based on Zigbee[J].Electronic Design Engineering,2014,22(7):79-81.
[8]李偉.基于ZigBee的單片機無線通信系統(tǒng)實現(xiàn)[J].電子設計工程,2014,22(22):157-159.LIWei.Implementation of MCUWireless Communication System Based on ZigBee[J].Electronic Design Engineering,2014,22(22):157-159.
[9]周海鴻,周嘉奉.基于ZigBee技術(shù)的溫濕度監(jiān)測系統(tǒng)[J].國外電子測量技術(shù),2015(7):75-79.ZHOU Haihong,ZHOU Jiafeng.Temperature and Humidity Monitoring System Based on ZigBee Technology[J].Foreign Electronic Measurement Technology,2015(7):75-79.
[10]秦天宇,馮進良.基于ZigBee的智能消防系統(tǒng)[J].電子測量技術(shù),2016,39(8):114-117.QIN Tianyu,F(xiàn)ENG Jinliang.Intelligent Fire Protection System Based on ZigBee[J].Electronic Measurement Technology,2016,39(8):114-117.
[11]王欽,陳忠輝,陳新.基于ZigBee的倉庫溫濕度采集系統(tǒng)的設計[J].計算機與數(shù)字工程,2009,37(9):207-211.WANG Qin,CHEN Zhonghui,CHEN Xin.Design of Warehouse Temperature and Humidity Collection System Based on ZigBee[J].JournalofComputerand Digital Engineering,2009,37(9):207-211.
[12]董海濤,屈玉貴,趙保華.Zigbee無線傳感器網(wǎng)絡平臺的設計與實現(xiàn)[J].電子技術(shù)應用,2007,33(12):124-126.DONG Haitao,QU Yugui,ZHAO Baohua.Design and Implementation of Zigbee Wireless Sensor Network Platform[J].Electronic Technology Journal,2007,33(12):124-126.
[13]徐振峰,尹晶晶,陳小林,等.基于ZigBee協(xié)議棧的無線傳感器網(wǎng)絡的設計[J].電子設計工程,2012,20(5):75-77.XU Zhenfeng,YIN Jingjing,CHEN Xiaolin,et al.Design of Wireless Sensor Networks Based on ZigBee Protocol Stack[J].Electronic Design Engineering,2012,20(5):75-77.
[14]王延年,黃慶蓉.基于ZigBee的工業(yè)遙控系統(tǒng)的設計[J].西安工程大學學報,2012,26(6):59-62.WANG Yannian,HUANGQingrong.Design of Industrial Remote Control System Based on ZigBee[J].Journal of Xi'an Engineering University,2012,26(6):59-62.
[15]吳光榮,章劍雄.基于ZigBee的高壓開關(guān)柜無線溫濕度監(jiān)測系統(tǒng)[J].現(xiàn)代電子技術(shù),2008,31(20):169-171.WU Guangrong,ZHANG Jianxiong.Wireless Temperature and Humidity MonitoringSystem for High Voltage Switch Cabinet Based on ZigBee[J].Modern Electronics Technology,2008,31(20):169-171.