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