摘要:ZigBee技術是基于IEEE802.15.4的一種新興的短距離、低功耗、低成本和低速率的無線傳感器網絡技術。網絡節點作為無線傳感器網絡的物理載體,如何實現眾多網絡節點的智能化接入成為關鍵問題之一。本文提出了LM3S9B96+CC2520平臺上無線通信節點的智能化設計,分析了ZigBee無線組網與數據通信技術,并實現了智能泊車引導系統的應用。
引言
基于IEEE802.15.4標準的ZigBee短距離低速無線個域網(LR-WPAN)協議將低速率、低功耗、低成本作為主要研究目標,是目前無線傳感器網絡的重要支撐協議之一。針對ZigBee無線短距離低功耗解決方案,雖然目前已經有好幾家大半導體公司設計、生產了相應的無線芯片并提供了對應的支持協議棧,但是目前的ZigBee網絡多是采用性能較低、存儲容量較小的8/16位微控制器來實現的。然而,ZigBee無線網絡的中心控制節點往往要分析、處理網絡中通信的大量數據,在一些對實時及高效率有嚴格要求的應用場合,有必要采用高性能的微處理器作為節點的數據處理單元。TI公司Stellaris MCU內部擁有一個32位ARM Cortex-M3處理器核,ARM Cortex-M3核具有高速的處理速度且支持芯片廠商自己擴展豐富的外設,比如網口、USB口、LCD等。同時,Stellaris系列微控制器包含了100多種可以向全球供貨的32位ARM核的MCU。本文選用基于32位ARM Cottex-M3核的微控制器LM3S9B96作為無線芯片CC2520的微控制器單元構成協調器節點,另將8051核的SoC CC2530芯片模塊作為終端采集節點。通過配置節點設備環境,實現了ZigBee協議下的終端數據采集及星型、樹型下的無線組網通信功能,驗證了不同規格的ZigBee無線模塊在同一協議棧環境下能夠正常組網通信,廠商提供的不同ZigBee設備可進行互操作。
1 ZigBee應用體系結構
本平臺采用ZigBee標準技術,其具體應用體系結構如圖1所示。其中,硬件實體層主要由處理器模塊、無線通信模塊構成,區別于協調器或路由器的全功能設備,作為精簡功能設備的終端節點一般還需再配上傳感器硬件模塊以實現數據采集;OSAL軟件功能模塊作為TIZ-Stack協議棧中的操作系統抽象層,統一管理協議棧的運行以及各種任務事件的響應;ZigBee協議棧運行于OSAL抽象系統之上,該協議棧是由層來量化表示其整個協議標準的,每一層負責完成所規定的任務,并且向上層提供相應的數據接口及服務;ZigBee技術體系結構主要由物理(PHY)層、媒體訪問控制(MAC)層、ZigBee網絡(NWK)層以及應用(APL)層構成,其中物理層與媒體訪問控制層協議為IEEE 802.15.4協議標準,網絡層由ZigBee技術聯盟制定,而應用層的應用則根據用戶自己的應用需求進行開發利用。

在應用系統設計過程中,考慮到LM3S9B96的優良特性以及作為協調器對硬件節點的高性能要求,用該開發板來控制CC2520無線傳輸模塊,并把LM3S9B96+CC2520作為協調器節點,這也是TI公司提供的新的32位無線傳感器網絡節點方案。同時,將集成了一個8051核及射頻電路的CC2530無線模塊作為路由和終端節點,終端節點的傳感器則采用E18-D80NKDC-5V反射式接近開關傳感器,以此構成ZigBee無線組網的硬件平臺。在ZigBee協議棧選擇方面,CC2520及CC2530使用的是TI公司設計的符合ZigBee2007/PRO標準系統的ZigBee協議棧Z-Stack。Z-Stack是最新功能的協議棧產品,在互操作性、節點密度管理、數據負荷管理、頻率捷變等方面有重大進步,且具有支持網狀網絡和低功耗等特點。在應用程序模塊中,通過E18-D80NKDC-5V反射式接近開關傳感器進行障礙物檢測,利用CC2530終端節點與LM3S9B96協調器進行ZigBee星型網通信,構建了智能泊車引導系統。
2 ZigBee網絡節點結構
2.1 硬件模塊介紹
TI公司的CC2520、CC2530芯片是符合ZigBee技術的具有高集成度的無線射頻收發器件,CC2520和CC2530芯片的PHY與MAC層協議符合IEEE 802.15.4標準,模塊可工作在2 394~2 507 MHz的2.4 GHz ISM免費頻段。該頻段可提供16個物理通信信道,工作速率可達到250 kbps,碼片速率為2 Mchip/s。CC2520和CC2530無線芯片均是有著低功耗的特點,在接收數據幀時電流消耗僅為18.5 mA,其輸出功率編程可控,最大輸出功率可達5 dBm,此時電流消耗33.6 mA,支持IEEE802.15.4標準與ZigBee協議。芯片的RF電路部分還提供豐富的硬件功能支持,如封包處理、數據緩沖、爆發傳輸、數據加密、數據驗證、空閑信道評估、鏈路質量指示和封包時間信息,可大幅減輕主機控制器的作業負荷。
TI公司LM3S9B96微控制器內含DMA、數字/模擬轉換器(DAC)和模擬/數字轉換器(ADC)等功能模塊且提供以太網、CAN及USB口通信,又兼具高性能及超低功耗的特點,能為ZigBee應用提供良好的硬件支持。無線傳感網絡節點的具體硬件結構如圖2所示。

2.2 無線通信節點平臺分析
通過了解IEEE802.15.4標準、ZigBee規范,并在此理論基礎上研究TI公司的標準ZigBee協議棧Z-Stack,對其底層驅動、協議棧的初始化以及事件機制進行了研究與分析。LM3S9B96+CC2520節點作為當前較新的ZigBee節點平臺,基于任務調度機制,采用功能模塊化設計。
2.2.1 協調器的功能模塊配置
LM3S9B96微控制器提供了3個UART通信口,在zstack_collector工程中選擇UART0作為串行通信端口。在系統時鐘配置上,為使協調器節點運行在50 MHz的頻率上,需使用PLL(Phase Locked Loop,鎖相環)進行系統時鐘4分頻配置。另外,程序中使用定時器timer0A與time0B以支持協議棧任務的運行。CC2520與LM3S9B96之間采用SPI接口,其他引腳配置為:FIFOP作為接收數據包判斷的重要引腳,對應開發板上的中斷引腳PC6;數據緩存判斷引腳FIFO則對應PC7。在接收模式下,當發生越界或幀接收完畢時,FIFOP引腳可以用來中斷微處理器,FIFO引腳可以用來判斷數據是否都處于接收FIFO中。CC2520與LM3S9B96微控制器的接口如圖3所示。

CC2520利用SFD、FIFO、FIFOP和CCA 4個引腳查詢數據收發狀態,利用SPI接口(CSN、SO、SI、SCK)與LM3S9B96微控制器進行數據交換及命令傳送。另外,利用RSTn引腳復位芯片并使用VREG_EN引腳使能CC2520的電壓調整器,使其產生CC2520正常工作所需的電壓,CC2520的電壓規格范圍為1.8~3.8 V。本平臺的CC2520與CC2530使用單極天線進行通信。
2.2.2 協調器的軟件環境配置
使用“#include"config/lm3s/f8wConfig.h"”與“#include"config/lm3s/f8wCoord. h"”將該工程配置為協調器工程項目。然后在ZigBee網絡設置上,通過“#define DEFAULT_CHANLIST 0x00000800”宏定義將物理信道配置為11,通過“#define ZDAPP_CONFIG_PAN_ ID0xFFFF”宏定義使得協調器運行時可自行設置PAN ID,若ZDAPP CONFIG_PAN_ID值不為0xFFFF時,PANID由其指定。ZigBee節點的2.4 GHz頻段有著良好的抗干擾性能,不同信道下的通信互不干擾。在組網過程中務必保證網絡節點擁有相同的PAN ID及物理信道,處在同一網絡下,否則將無法正常組網通信。
3 ZigBee無線組網研究
3.1 LM3S9B96+CC2520協調器的組網流程
CC2520協調器軟件初始化的基本思路是:先對LM3S9B96與CC2520控制端口進行初始化;使能觸摸屏ADC通道,使能UART通信端口,使能SPI口,并通過SPI口按照CC2520芯片的操作時序初始化CC2520;操作系統抽象層加載協議棧運行任務,并提供信息管理、任務同步、時問管理、中斷管理、任務管理、內存管理、電源管理以及非易失存儲管理等服務。開啟無線收發機后,就可以運行任務程序等待數據的收發。協調器設備的組網程序流程如圖4所示。

3.2 LM3S9B96+CC2520與CC2530組網研究
ZigBee有著大規模的組網能力,每個網絡理論上最大可支持65 535個節點,本設計利用多達十幾個節點構成ZigBee平臺,研究發現LM3S9B96與CC2530進行無線組網,必須具備以下幾個條件。
(1)采用相同的標準協議棧
因相同協議棧組網握手協議及流程一樣,要保證網絡中信息傳輸過程一致,協調器、路由器和終端設備之間只有采用相同的協議棧,才能實現互操作。在組網實驗中,統一采用了ZigBee 2007/PRO協議棧。
(2)PAN ID號和信道的配置
協調器和路由器、終端設備的PAN ID號必須保持一致,所采用的信道也必須相同。網絡設備的PANID號與ZDAPP_CONFIG_PAN_ID宏值的設置有關,若其值為0xFFFF,則協調器將產生一個隨機的PAN ID,而路由器和終端設備將在自己的信道上隨機選擇一個網絡加入,并以協調器的PAN ID作為自己的PAN ID;若其值介于0x3FFFF與0xFFFF之間,則協調器將根據自己的IEEE地址隨機產生一個PAN ID,而路由器和終端設備將以ZDAPP_CONFIG_PAN_ID的值作為其PAN ID;若其值小于等于0x3FFFF,則協調器、路由器和終端設備均會以ZDAPP_CONFIG_PAN_ID的值作為其PAN ID。2.4 GHz的射頻頻段被分為0x0B~0x1A共16個獨立的信道,在組網過程中,協調器、路由器和終端設備必須采用相同的信道。
(3)相應的事件處理機制
CC2530芯片初始化完畢后,觸發ZB_ENTRY_EVENT事件啟動設備,該事件在用戶自定義的事件處理函數zb_Handle()salEvent()中被處理,調用zb_StartReqtaest()函數啟動路由器或者終端設備并加入LM3S9B96協調器建立的網絡。


該函數主要用來處理3個網絡事件:
◆ZB_ENTRY_EVENT,負責啟動設備組建或加入ZigBee網絡。
◆MY_FIND_COLLECTOR_EVT,負責CC2530路由器、終端設備和LM359896協調器之間的綁定。
◆MY_REPORT_EVT,負責定時維護LM359896協調器和CC2530路由器、終端設備之間的父子關系。
設備啟動完畢后,作為路由器或終端節點的設備將自動調用回調函數zb_StartConfirm()確認設備是否啟動成功,同時在函數內部觸發設備綁定事件MY_FIND_COL_LECTOR_EVT。其核心代碼如下:

CC2530路由器、終端設備和LM359B96+CC2520協調器完成設備綁定后,還必須定時觸發MY_REPORT_EVT事件,該事件負責每隔myReportPer iod時間(默認為2s)向LM359B96+CC2520協調器發送父子節點綁定關系的消息以維護父子關系,其發送消息的關鍵函數為zb_SendDataRequest()。
3.3 ZigBee平臺上智能泊車引導系統設計
針對目前大中型停車場中普遍存在的停車難、收費麻煩等問題,在以LM3S9B96+CC2520為協調器、CC2530作為終端節點的ZigBee星狀網絡的基礎上,構建了一個新型的停車場智能泊車引導系統。該系統采用N18-D80NK反射式接近開關傳感器采集每個車位當前是否被占用的狀態信息,通過CC2530無線節點模塊利用ZigBee傳輸到LM3S9B96協調器。LM3S9B96協調器對信息匯總后進行初步處理,以UDP通信的形式與OMAP35 30嵌入式網關進行局域網通信,并在OMAP3530嵌入式網關的顯示屏上對當前所有車位狀態進行同步更新并顯示,以便車主能夠直觀地選擇空閑車位。同時,還在現有的基礎上將OMAP3530的串口通信與短信查詢模塊集成在一起,實現了停車場空閑車位的短信查詢功能。系統也可以用LM3S9B96協調器上的網絡或USB口把采集的信息直接傳送給微機進行統計和管理。
結語
LM3S9B96作為32位ARM Cortex-M3微處理器,在性能方面具有處理速度快、外圍接口豐富等優勢,它與CC2520一起組成的協調器在ZigB ee無線組網方面有著廣闊的發展前景。本文在了解CC2530、CC2520等無線芯片的原理與技術的基礎上,實現了基于LM3S9B96+CC2520為協調器,CC2530為路由器或終端設備的無線組網方案。在ZigBee技術迅猛發展的今天,相信LM3S9B96+CC2520平臺將會為解決ZigBee技術在實際應用中的問題帶來更大的自由度和選擇性。