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中斷、對應串列埠接收中斷;
編寫位置:
通訊基礎知識:
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中修改。