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所示。本文引用地址:http://www.104case.com/article/155236.htm
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 協調器的軟件環境配置
使用“#includeconfig/lm3s/f8wConfig.h”與“#includeconfig/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個獨立的信道,在組網過程中,協調器、路由器和終端設備必須采用相同的信道。
評論