一種ZigBee網(wǎng)絡(luò)的設(shè)計(jì)與實(shí)現(xiàn)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
1 引言
無(wú)線傳感器網(wǎng)絡(luò)(Wireless Sensor Network,WSN)被認(rèn)為是21世紀(jì)最重要的技術(shù)之一[1]。無(wú)線傳感器網(wǎng)絡(luò)是由部署在監(jiān)測(cè)區(qū)域內(nèi)大量的廉價(jià)微型傳感器節(jié)點(diǎn)組成,通過(guò)無(wú)線通信方式形成的一個(gè)多跳的自組織的網(wǎng)絡(luò)系統(tǒng),其目的是協(xié)作地感知、采集和處理網(wǎng)絡(luò)覆蓋區(qū)域中感知對(duì)象的信息,并發(fā)送給觀察者[2]。傳感器、感知對(duì)象和觀察者構(gòu)成了傳感器網(wǎng)絡(luò)的三個(gè)要素。目前用于設(shè)計(jì)無(wú)線傳感器網(wǎng)絡(luò)的主流網(wǎng)絡(luò)協(xié)議有Bluetooth,ZigBee和UWB等[3]。相對(duì)于現(xiàn)有的無(wú)線通信技術(shù),ZigBee是一種新興的近距離、低功耗、低數(shù)據(jù)速率、低成本的無(wú)線網(wǎng)絡(luò)技術(shù),主要用于無(wú)線近距離連接。ZigBee 網(wǎng)絡(luò)主要應(yīng)用在智能家居、家庭護(hù)理、安全系統(tǒng)和工業(yè)監(jiān)控等領(lǐng)域。
本文在簡(jiǎn)要介紹無(wú)線傳感器網(wǎng)絡(luò)的通信協(xié)議IEEE 802.15.4和ZigBee技術(shù)的基礎(chǔ)上,采用Freescale公司提供的完全符合IEEE802.15.4規(guī)范的射頻芯片MC13192,以及超低功耗控制器MC9S08GT60和CF5213,設(shè)計(jì)實(shí)現(xiàn)了符合ZigBee協(xié)議的網(wǎng)絡(luò)終端節(jié)點(diǎn)和網(wǎng)絡(luò)協(xié)調(diào)者。
2 無(wú)線傳感器網(wǎng)絡(luò)的通信協(xié)議
隨著通信技術(shù)的迅速發(fā)展,人們提出了在自身附近幾米范圍之內(nèi)通信的要求,這樣就出現(xiàn)了個(gè)人區(qū)域網(wǎng)絡(luò)(Personal Area Network,PAN)和無(wú)線個(gè)人區(qū)域網(wǎng)絡(luò)(Wireless Personal Area Network,WPAN)的概念。WPAN網(wǎng)絡(luò)為近距離范圍內(nèi)的設(shè)備建立無(wú)線連接,把幾米范圍內(nèi)的多個(gè)設(shè)備通過(guò)無(wú)線方式連接在一起,使它們可以相互通信甚至接入LAN或Internet。
2.1 IEEE 802.15.4
IEEE 802.15.4標(biāo)準(zhǔn)是針對(duì)于低速無(wú)線個(gè)人區(qū)域網(wǎng)(Low-Rate Wireless Personal Area Network,LR-WPAN),把低能量消耗、低速率傳輸、低成本作為重點(diǎn)目標(biāo),旨在為個(gè)人或者家庭范圍內(nèi)不同設(shè)備之間低速互連提供統(tǒng)一的標(biāo)準(zhǔn)[4]。
在IEEE 802.15.4網(wǎng)絡(luò)中,根據(jù)設(shè)備所具有的通信能力,可以分為全功能設(shè)備(Full-Function Device,F(xiàn)FD)和精簡(jiǎn)功能設(shè)備(Reduced-Function Device,RFD)。RFD主要用于簡(jiǎn)單的控制應(yīng)用,傳輸?shù)臄?shù)據(jù)量較少,對(duì)傳輸資源和通信資源占用不多,可以采用非常廉價(jià)的實(shí)現(xiàn)方案,在網(wǎng)絡(luò)結(jié)構(gòu)中一般作為通信終端。FFD一般需要功能相對(duì)比較強(qiáng)大的MCU,一般在網(wǎng)絡(luò)結(jié)構(gòu)中用作于網(wǎng)絡(luò)控制和管理功能。在網(wǎng)絡(luò)中,被稱為PAN網(wǎng)絡(luò)協(xié)調(diào)者(PAN Coordinator)的FFD設(shè)備,是LR-WPAN的網(wǎng)絡(luò)中的主控制器。PAN網(wǎng)絡(luò)協(xié)調(diào)者除了直接參與應(yīng)用以外,還要完成成員身份管理、鏈路狀態(tài)信息管理以及分組轉(zhuǎn)發(fā)等任務(wù)。圖1 是IEEE802.15.4網(wǎng)絡(luò)的一個(gè)例子,給出了網(wǎng)絡(luò)中各種設(shè)備的類型以及它們?cè)诰W(wǎng)絡(luò)中所處的地位。
IEEE 802.15.4網(wǎng)絡(luò)協(xié)議?;陂_(kāi)放系統(tǒng)互連模型(OSI),每一層都實(shí)現(xiàn)一部分通信功能,并向高層提供服務(wù)。IEEE 802.15.4標(biāo)準(zhǔn)只定義了物理(PHY)層和數(shù)據(jù)鏈路層的MAC子層。PHY層由射頻收發(fā)器以及底層的控制模塊構(gòu)成。MAC子層為高層訪問(wèn)物理信道提供點(diǎn)到點(diǎn)通信的服務(wù)接口。
2.2 ZigBee技術(shù)
ZigBee是一種供廉價(jià)的固定、便攜或移動(dòng)設(shè)備使用的極低復(fù)雜度、成本和功耗的低速率無(wú)線連接技術(shù),這個(gè)名字來(lái)源于蜂群使用的賴以生存和發(fā)展的通信方式,蜜蜂通過(guò)跳ZigZag 形狀的舞蹈來(lái)分享新發(fā)現(xiàn)的食物源的位置、距離和方向等信息。該技術(shù)是一種近距離、低復(fù)雜度、低功耗、低數(shù)據(jù)速率、低成本的雙向無(wú)線通信技術(shù),主要適合于自動(dòng)控制和遠(yuǎn)程控制領(lǐng)域,可以嵌入在各種設(shè)備中,同時(shí)支持地理定位功能,十分適合用作于無(wú)線傳感器網(wǎng)絡(luò)的通信協(xié)議[5]。
完整的ZigBee 協(xié)議套件由高層應(yīng)用規(guī)范、應(yīng)用會(huì)聚層、網(wǎng)絡(luò)層、數(shù)據(jù)鏈路層和物理層組成。網(wǎng)絡(luò)層以上協(xié)議由ZigBee 聯(lián)盟制定,IEEE負(fù)責(zé)制定物理(PHY)層和媒體控制(MAC)層的協(xié)議。ZigBee聯(lián)盟成立于2 0 0 2 年8 月,由英國(guó)Invensys 公司、日本三菱電氣公司、美國(guó)摩托羅拉(現(xiàn)Freescale)公司以及荷蘭飛利浦半導(dǎo)體公司組成,如今已經(jīng)吸引了上百家芯片公司、無(wú)線設(shè)備公司和開(kāi)發(fā)商的加入。
3 ZigBee 網(wǎng)絡(luò)總體設(shè)計(jì)方案
本方案設(shè)計(jì)一個(gè)ZigBee星型網(wǎng)絡(luò),由一個(gè)網(wǎng)絡(luò)協(xié)調(diào)者和若干個(gè)網(wǎng)絡(luò)終端節(jié)點(diǎn)構(gòu)成。網(wǎng)絡(luò)協(xié)調(diào)者負(fù)責(zé)網(wǎng)絡(luò)的管理工作,而終端節(jié)點(diǎn)一方面采集模擬數(shù)據(jù),同時(shí)把這些模擬數(shù)據(jù)通過(guò)無(wú)線網(wǎng)絡(luò)發(fā)送給協(xié)調(diào)者。
圖2大致描述了本方案的實(shí)現(xiàn)效果:在PAN協(xié)調(diào)者的無(wú)線覆蓋范圍之內(nèi),布置若干(小于255)個(gè)網(wǎng)絡(luò)終端節(jié)點(diǎn),實(shí)現(xiàn)網(wǎng)絡(luò)的管理和相互通信。
由于ZigBee網(wǎng)絡(luò)的終端設(shè)備節(jié)點(diǎn)由電池供電,因此低功耗是一個(gè)必須的要求。Freescale公司是ZigBee聯(lián)盟的重要成員和ZigBee技術(shù)的市場(chǎng)推廣者,為ZigBee提供“一站式”的解決方案,包括完全符合IEEE802.15.4規(guī)范的射頻芯片MC13192/3,以及針對(duì)該市場(chǎng)推出的超低功耗控制器系列:基于 S08核的超低功耗8位單片機(jī)MC9S08GX系列和32位的ColdFire521X系列。本文采用MC13192作為RF射頻模塊,網(wǎng)絡(luò)終端節(jié)點(diǎn)和網(wǎng)絡(luò)協(xié)調(diào)者的主控MCU分別使用MC9S08GT60和CF5213。
MC13192是一種短距離、低功耗,工作在2.4GHz ISM(Industrial、Scientific、Medical)頻段的無(wú)線收發(fā)器。它含有完全符合IEEE802.15.4標(biāo)準(zhǔn)的物理層模塊,可用于P2P、star和mesh網(wǎng)絡(luò)。配上一款合適的MCU后,可提供一種性價(jià)比極高的短距離數(shù)據(jù)鏈路層和網(wǎng)絡(luò)層的解決方案。MC13192與MCU的接口簡(jiǎn)單,只需四線的SPI:一個(gè)IRQ中斷請(qǐng)求線和三個(gè)控制線。MCU對(duì)MC13192的配置和控制命令通過(guò)SPI進(jìn)行。
4 硬件設(shè)計(jì)和實(shí)現(xiàn)
4.1 終端節(jié)點(diǎn)模塊硬件設(shè)計(jì)
網(wǎng)絡(luò)終端節(jié)點(diǎn)主要由下列部件組成:低功耗微控制器 MC9S08GT60,射頻通信模塊,由電源電路、復(fù)位電路及晶振電路組成的支撐電路,以及兩個(gè)串行通信接口。終端節(jié)點(diǎn)可通過(guò)串行通信接口與PC通訊,下載寫入程序,配置數(shù)據(jù)等。負(fù)責(zé)無(wú)線通信的射頻通信模塊采用的射頻芯片是MC13192。
GT60的CPU采用HCS08 核,最高總線頻率可達(dá)40MHz;增加了16位指令,能靈活方便的訪問(wèn) 16位HX寄存器。同時(shí)支持1個(gè)WAIT和3 個(gè)STOP模式,對(duì)低功耗模式提供更全面的支持。GT60的存儲(chǔ)器具有60K的FLASH和4K的片上RAM,足夠容納完整的Zigbee協(xié)議棧。另外它還具有背景調(diào)試模塊:能利用單線對(duì)HCS08核的系列MCU進(jìn)行方便地寫入和調(diào)試,加快開(kāi)發(fā)的速度且大大降低了調(diào)試的難度。
GT60和MC13192的接口電路有8根線:4線的SPI接口用于相互通信,一根中斷線和3根控制線。SPI通信時(shí),MC13192只能作為從機(jī),因此對(duì)于MCU而言,MOSI線是發(fā)送數(shù)據(jù)線而MISO線是接收數(shù)據(jù)線,SPI的同步時(shí)鐘由GT60在SPSCK管腳上給出,連接到MC13192的SPICLK上。MC13192上產(chǎn)生的所有中斷事件,通過(guò)芯片上的IRQ管腳連接到GT60的IRQ管腳上。ATTN管腳用于MCU將MC13192從低功耗模式下喚醒,而RXTXEN管腳則用來(lái)使能MC13192的收發(fā)器。在通常情況,為了降低功耗,射頻芯片的收發(fā)器都是關(guān)閉的,只有在發(fā)送和接收數(shù)據(jù)的時(shí)候才使能,這樣能大大降低射頻芯片的功耗。當(dāng)射頻芯片工作異常的時(shí)候,MCU也可以通過(guò)RSTB管腳來(lái)硬件復(fù)位射頻芯片。這3根控制線都由GT60的GPIO口來(lái)進(jìn)行控制,需要指出的是PTE4和PTE6必須用10KΩ的電阻上拉,防止毛刺來(lái)干擾MC13192的正常工作。圖3為線路連接的邏輯示意圖。
4.2網(wǎng)絡(luò)協(xié)調(diào)者硬件設(shè)計(jì)
網(wǎng)絡(luò)協(xié)調(diào)者的硬件結(jié)構(gòu)框圖如圖4所示。主要由MCU CF5213及支撐電路和外部模塊組成。CF5213的支撐電路包括電源電路,晶振電路和復(fù)位電路。串行通信接口主要用來(lái)進(jìn)行通訊和配置數(shù)據(jù)的設(shè)置,而液晶模塊則用來(lái)實(shí)時(shí)反映協(xié)調(diào)者當(dāng)前的網(wǎng)絡(luò)狀態(tài)。射頻通信模塊則負(fù)責(zé)網(wǎng)絡(luò)協(xié)調(diào)者與網(wǎng)絡(luò)終端節(jié)點(diǎn)及其它網(wǎng)絡(luò)協(xié)調(diào)者的無(wú)線通信。
網(wǎng)絡(luò)協(xié)調(diào)者的MCU是32位的Coldfire5213。CF5213具有多種低功耗模式,成本十分低廉,用于價(jià)格比較敏感的低端控制場(chǎng)合。它帶有MAC單元的V2核,CPU在80MHz的工作頻率下達(dá)到66MIPS;32K字節(jié)的片上SRAM,256K字節(jié)的片上FLASH;12位精度的ADC模塊;帶有緩沖隊(duì)列的SPI模塊;支持最多達(dá)63個(gè)中斷源的中斷控制器;具有方便的背景調(diào)試模塊;另外它還有豐富的第三方RTOS支持。
CF5213和射頻通信模塊中MC13192的接口電路與終端節(jié)點(diǎn)的MCU和MC13192的接口電路類似,只需將通用I/O端口做相應(yīng)的修改即可,在此不再細(xì)述。
4.3 射頻電路
射頻芯片MC13192的支撐電路包括電源電路,濾波電路和晶振電路,其邏輯連接如圖5。VBATT和VDDINT是電源輸入引腳,MC13192的正常工作電壓為2.0-3.6V。VDDA,VDDLO1和VDDLO2為經(jīng)過(guò)整流的模擬電壓。VDD為經(jīng)過(guò)內(nèi)部整流的數(shù)字電壓。VDDVCO為VCO電路供電。XTAL1和XTAL2外接16MHz的專用于2.4GHz射頻電路的晶振。
5 軟件結(jié)構(gòu)
如圖6所示,軟件設(shè)計(jì)分為三層:系統(tǒng)平臺(tái)層、協(xié)議層和應(yīng)用層,為此定義了3個(gè)API接口:HW-API、SYS-API和PS-API。HW-API定義了硬件的寄存器映射,這樣就能通過(guò)直接訪問(wèn)硬件寄存器來(lái)控制硬件。系統(tǒng)平臺(tái)層通過(guò)SYS-API接口來(lái)給協(xié)議層提供服務(wù)。應(yīng)用層通過(guò)PS-API來(lái)調(diào)用協(xié)議層提供的服務(wù)。
系統(tǒng)平臺(tái)層建立在μC/OS-II實(shí)時(shí)操作系統(tǒng)上,為協(xié)議層提供系統(tǒng)服務(wù)。一般來(lái)說(shuō),由于ZigBee網(wǎng)絡(luò)終端節(jié)點(diǎn)要求很強(qiáng)的成本控制,可以不使用RTOS。而對(duì)于網(wǎng)絡(luò)協(xié)調(diào)者,由于協(xié)議本身的復(fù)雜性增加,而且微控制器有足夠的性能來(lái)支持RTOS,需要使用RTOS 。雖然終端設(shè)備可以無(wú)RTOS工作,但考慮到GT60有足夠豐富的資源,為了設(shè)計(jì)的統(tǒng)一性,避免在兩個(gè)平臺(tái)切換,本方案中統(tǒng)一使用了免費(fèi)的RTOS μC/OS-II。μC/OS-II是一個(gè)完整的,可移植、固化、裁剪的占先式實(shí)時(shí)多任務(wù)內(nèi)核,在V2.52版本之前,是免費(fèi)的(非商業(yè)用途)且源代碼公開(kāi),提供了實(shí)時(shí)系統(tǒng)的基本功能。
系統(tǒng)平臺(tái)層本身又分為二個(gè)模塊:DBM和HWD。DBM主要實(shí)現(xiàn)一個(gè)基于FLASH的小型數(shù)據(jù)庫(kù),用來(lái)存儲(chǔ)IEEE 802.15.4的PHY層、MAC層和ZigBee的NWK層的屬性數(shù)據(jù)。HWD模塊提供硬件驅(qū)動(dòng)程序,包括了MCU的寄存器訪問(wèn)接口、 MCU和MC13192的SPI通信以及MC13192的驅(qū)動(dòng),所有對(duì)硬件的控制都通過(guò)該模塊提供的服務(wù)。
協(xié)議層則實(shí)現(xiàn)了基于802.15.4的物理層和鏈路層以及基于ZigBee的網(wǎng)絡(luò)層協(xié)議。應(yīng)用層通過(guò)PS-API來(lái)調(diào)用協(xié)議層提供的服務(wù),實(shí)現(xiàn)網(wǎng)絡(luò)的管理和數(shù)據(jù)傳輸?shù)热蝿?wù)。應(yīng)用配置模塊既會(huì)調(diào)用協(xié)議層提供的網(wǎng)絡(luò)服務(wù),也會(huì)直接對(duì)系統(tǒng)進(jìn)行配置和查詢,該模塊會(huì)調(diào)用PS-API和SYS-API提供的服務(wù)。
6 結(jié)束語(yǔ)
本文選擇IEEE 工作組為低速個(gè)人無(wú)線網(wǎng)制定的802.15.4為切入點(diǎn),配合ZigBee的網(wǎng)絡(luò)層規(guī)范,構(gòu)建無(wú)線傳感器網(wǎng)絡(luò)。本文作者的創(chuàng)新點(diǎn)在于采用Freescale公司新推出的ZigBee芯片MC13192和超低功耗控制器MC9S98GT60、CF5213,實(shí)現(xiàn)了硬件和軟件的一體化設(shè)計(jì),為進(jìn)行無(wú)線傳感器網(wǎng)絡(luò)的研究提供一個(gè)良好的起點(diǎn)。實(shí)驗(yàn)表明,該方案具有良好的可靠性和通信速率,同時(shí),良好的性能價(jià)格結(jié)合點(diǎn)使其具有廣闊的市場(chǎng)推廣前景。