1. 程式人生 > >ZigBee協議棧開發(三)

ZigBee協議棧開發(三)

1、cc2530在正常執行時需要一個高頻時鐘訊號和一個低頻時鐘訊號,高頻時鐘訊號主要供給CPU,保證程式的執行。低頻時鐘訊號主要供給看門狗、睡眠定時器等片上外設。

高頻時鐘訊號的來源:晶片內部的16M RC電路和外接的32M石英晶振;

低頻時鐘訊號的來源:晶片內部的32K RC電路和外接的32.768k石英晶振

cc2530晶片預設上電的時鐘是內部的兩個RC電路作為高頻和低頻的時鐘來源

如果在用串列埠的時候,特別是無線通訊的時候,必須要用32M的石英晶振做為高頻時鐘來源。

高頻時鐘源的特點:2個高頻時鐘源可以同時起振產生高頻訊號;而低頻視訊源同一時刻只能有一個起振。

2、系統高頻時鐘源切換步驟:

(1)SLEEPCMD的第2位為0

(2)SLEEPSTA暫存器的第6位為1表示32M時鐘源穩定

(3)超過63us延時

(4)把暫存器CLKCONCMD的低三位設定為000,表示不分頻輸出

(5)把暫存器CLKCONCMD的第6位清0,設定32M作為系統主時鐘

(6)如果讀CLKCONSTA這個暫存器的第6位為0,表示32M的時鐘源已經作為了當前的系統主時鐘,程式可以往下執行。

3、串列埠配置:

(1)指定串列埠的IO位置;

(2)相應IO配置成偏上外設功能;

(3)8個數據位、1個停止位、無流控、無校驗確立;

(4)波特率;

(5)CPU中斷、對應串列埠接收中斷;

編寫位置:

hal_board_cfg.h中的HAL_BOARD_INIT()  


通訊基礎知識:

1、訊號需要載入到載波上發射出去,所以接收也要在相應的頻率上才能接收到訊號。

2、ZigBee有27個高頻載波可以進行通訊,載波又叫做通道(無線通訊通道)。這些載波頻率落在某些頻率區段,這些區段就叫做頻道。有2.4G頻段(16個通道),915M頻段、896M頻段(11個通道),但TI的所有支援ZigBee底層協議的晶片只能在2.4G頻段的16個信道里進行通訊。

11     2405M

12     2410M

...

26     2480M

3、網路地址

在ZigBee無線局域網裡,每一模組都有一個在該網路裡唯一的2個位元組的地址,這個地址叫做網路地址,網路短地址。

4、PANID:這是一個兩個位元組的編碼,用來區別不同的ZigBee區域網,叫做個域網ID。

 

這些在tools中的f8wConfig.cfg中修改。