1,TI的ZigBee協(xié)議棧不同版本的區(qū)別,如何選擇合適的協(xié)議棧進(jìn)行產(chǎn)品開(kāi)發(fā)
TI ZigBee 協(xié)議棧Z-Stack從最開(kāi)始的Z-Stack 0.1到大家熟悉的Z-Stack 2.5.1a,以及到現(xiàn)在Z-Stack Home 1.2.1, Z-Stack Lghting 1.0.2, Z-Stack Energy 1.0.1, Z-Stack Mesh 1.0.0. 在協(xié)議棧的升級(jí)過(guò)程TI主要對(duì)協(xié)議棧做了兩方面的工作,1) 根據(jù)ZigBee Alliance的ZigBee Specification進(jìn)行一些新的Feature添加,比方說(shuō)ZigBee2007是樹(shù)形的路由,在ZigBee Pro中有了Mesh路由,并且提出了MTO和Source Routing等路由算法,所以TI的把相應(yīng)新的功能添加到協(xié)議棧上去。當(dāng)然有一部分是Spec中相關(guān)bug的修正,比方說(shuō)有些描述模棱兩可的;2) TI ZigBee協(xié)議棧本身軟件bug的修復(fù)。一個(gè)版本的協(xié)議棧相對(duì)于之前一個(gè)版本協(xié)議棧的區(qū)別,都可以在協(xié)議棧安裝目錄下的Release Note中找到。
在Z-Stack 2.5.1a以后,TI的協(xié)議棧并沒(méi)有繼續(xù)以Z-Stack 2.6.x的形式直接發(fā)布,而是按照Application Profile的方式來(lái)發(fā)布了,原因在于TI希望開(kāi)發(fā)者根據(jù)實(shí)際的應(yīng)用選擇更有針對(duì)的性的協(xié)議棧進(jìn)行開(kāi)發(fā)。像Z-Stack Home 1.2.1之類(lèi)的協(xié)議棧,主要包括兩部分,1)核心協(xié)議棧Core Stack,這部分起始就是之前的Z-Stack 2.5.1a以后的延續(xù)版本,可以在協(xié)議棧安裝目錄下 Z-Stack Core Release Notes.txt文件中找到,Version 2.6.2 。2)應(yīng)用協(xié)議棧 Profile相關(guān),這部分主要跟實(shí)際應(yīng)用相關(guān)的,Home Automation 協(xié)議棧里都是ZigBee Home Automation Profile相關(guān)的實(shí)現(xiàn)。同樣Z-Stack Lghting 1.0.2和Z-Stack Energy 1.0.1也是一個(gè)Core Stack再加上應(yīng)用上的Profile。1)Z-Stack Home 1.2.2a 針對(duì)智能家居相關(guān)產(chǎn)品的開(kāi)發(fā)。2)Z-Stack Lighting 1.0.2 針對(duì)ZLL相關(guān)產(chǎn)品的開(kāi)發(fā)。3)Z-Stack Energy 1.0.1 針對(duì)智能能源,Meter, In Home Display, 等相關(guān)產(chǎn)品的開(kāi)發(fā)。4)Z-Stack Mesh 1.0.0 針對(duì)相關(guān)私有應(yīng)用的產(chǎn)品的開(kāi)發(fā),只利用標(biāo)準(zhǔn)ZigBee協(xié)議相關(guān)功能, Mesh路由等,應(yīng)用層有開(kāi)發(fā)者自己定義。
在ZigBee聯(lián)盟發(fā)布ZigBee 3.0協(xié)議以后,最新的ZigBee協(xié)議棧是Z-Stack 3.0, 目前支持的設(shè)備有CC2530, CC2538, CC2652R。
2,產(chǎn)品如何進(jìn)行標(biāo)準(zhǔn)ZigBee測(cè)試認(rèn)證,需要了解哪些,需要走什么流程
以開(kāi)發(fā)標(biāo)準(zhǔn)ZigBee Home Automation相關(guān)產(chǎn)品為例。首先開(kāi)發(fā)者開(kāi)發(fā)產(chǎn)品時(shí)要按照Z(yǔ)igBee Home Automation Profile Specification 中描述的產(chǎn)品進(jìn)行開(kāi)發(fā),這個(gè)文檔可以在www.zigbee.org下載到。在完成產(chǎn)品的開(kāi)發(fā)后,開(kāi)發(fā)著需要了解ZigBee Home Automation Profile Test Specification, 這個(gè)文檔描述了一個(gè)特定產(chǎn)品需要在Test House過(guò)的相關(guān)測(cè)試項(xiàng),文檔也可以在www.zigbee.org下載到,另外除了以上兩個(gè)文檔以外還有一個(gè)PICS文檔,這個(gè)文檔專(zhuān)門(mén)用于描述需要過(guò)認(rèn)證測(cè)試產(chǎn)品所支持的功能,開(kāi)發(fā)者根據(jù)開(kāi)發(fā)產(chǎn)品的實(shí)際紅能,和Specification中所要求的功能,在文檔中進(jìn)行打鉤確認(rèn)。下面是測(cè)試的流程,
1) 首先加入ZigBee聯(lián)盟,一般可以有測(cè)試實(shí)驗(yàn)室?guī)椭瓿伞?/p>
2) 寄送樣品到測(cè)試實(shí)驗(yàn)室,完成PICS文檔的填寫(xiě)。
3) 第一輪預(yù)測(cè)試,測(cè)試實(shí)驗(yàn)室對(duì)測(cè)試結(jié)果反饋,開(kāi)發(fā)者修改樣品代碼。
4) 測(cè)試實(shí)驗(yàn)室對(duì)修改后的樣品進(jìn)行驗(yàn)證,然后開(kāi)始正式測(cè)試。
5) 測(cè)試實(shí)驗(yàn)室協(xié)助開(kāi)發(fā)者完成ZigBee聯(lián)盟網(wǎng)上認(rèn)證申請(qǐng)資料的準(zhǔn)備和提交。
6) 測(cè)試實(shí)驗(yàn)室提交正式測(cè)試報(bào)告給ZigBee聯(lián)盟。聯(lián)盟會(huì)完成審核并發(fā)證
目前國(guó)內(nèi)可以完成標(biāo)準(zhǔn)ZigBee測(cè)試的測(cè)試實(shí)驗(yàn)室有兩家
1) CESI 北京 中國(guó)標(biāo)準(zhǔn)化電子研究所。
2) Element 深圳辦事處(總部在英國(guó))
詳細(xì)可以參考下面的wiki地址,
http://processors.wiki.ti.com/index.php/ZigBee_Product_Certification_Guide
3,設(shè)備的64位 MAC地址是怎么樣選取的?
在CC2530/CC2538/CC2630中分為兩個(gè)IEEE地址,一個(gè)稱(chēng)為Primary IEEE地址,另外稱(chēng)為Secondary地址。Primary IEEE地址是存放在芯片的Information Page里面,這個(gè)地址是TI向IEEE協(xié)會(huì)購(gòu)買(mǎi)的,每個(gè)芯片的地址都是唯一的。并且用戶(hù)只能Read這個(gè)值,沒(méi)辦法擦除/修改。在協(xié)議棧中直接通過(guò)讀地址可以獲得 osal_memcpy(aExtendedAddress, (uint8 *)(P_INFOPAGE+HAL_INFOP_IEEE_OSET), Z_EXTADDR_LEN)。Secondary地址是存放在CC2530里的Flash最后一個(gè)Page里面,用戶(hù)可以進(jìn)行Read/Write. 通過(guò)函數(shù)HalFlashRead(HAL_FLASH_IEEE_PAGE, HAL_FLASH_IEEE_OSET, aExtendedAddress, Z_EXTADDR_LEN);。
協(xié)議棧運(yùn)行是,是如何選擇Primary IEEE地址或者Secondary地址作為設(shè)備的MAC地址的,具體在函數(shù)zmain_ext_addr(void)操作。
1) 從NV中讀取 IEEE地址,如果已經(jīng)存在(都不為0xFF),就使用該地址作為MAC地址了。
2) 如果1)中沒(méi)有,從Secondary IEEE地址存放位置讀取,如果有(都不為0xFF),把該地址寫(xiě)入到NV中,以后就用該地址作為MAC地址了。
3) 如果2)中沒(méi)有,從Primary IEEE地址存放位置讀取,如果有(都不為0xFF),把該地址寫(xiě)入到NV中,以后就用該地址作為MAC地址了
4) 如果3)中沒(méi)有,就隨機(jī)產(chǎn)生一個(gè)64位的變量,寫(xiě)入到NV中,并作為MAC地址。
4,End Device是低功耗設(shè)備, 有電池供電, 節(jié)點(diǎn)在斷網(wǎng)以后,如何能夠禁止節(jié)點(diǎn)持續(xù)搜索網(wǎng)絡(luò),或者把發(fā)送Beacon Request間隔增大
1)啟動(dòng)搜索網(wǎng)絡(luò)uint8 ZDApp_StartJoiningCycle( void )
停止搜索網(wǎng)絡(luò) uint8 ZDApp_StopJoiningCycle( void )
2) 更改發(fā)送Beacon Request的周期
修改變量zgDefaultStartingScanDuration
// Beacon Order Values
#define BEACON_ORDER_NO_BEACONS 15
#define BEACON_ORDER_4_MINUTES 14 // 245760 milliseconds
#define BEACON_ORDER_2_MINUTES 13 // 122880 milliseconds
#define BEACON_ORDER_1_MINUTE 12 // 61440 milliseconds
#define BEACON_ORDER_31_SECONDS 11 // 30720 milliseconds
#define BEACON_ORDER_15_SECONDS 10 // 15360 MSecs
#define BEACON_ORDER_7_5_SECONDS 9 // 7680 MSecs
#define BEACON_ORDER_4_SECONDS 8 // 3840 MSecs
#define BEACON_ORDER_2_SECONDS 7 // 1920 MSecs
#define BEACON_ORDER_1_SECOND 6 // 960 MSecs
#define BEACON_ORDER_480_MSEC 5
#define BEACON_ORDER_240_MSEC 4
#define BEACON_ORDER_120_MSEC 3
#define BEACON_ORDER_60_MSEC 2
#define BEACON_ORDER_30_MSEC 1
#define BEACON_ORDER_15_MSEC 0
5,如何讓End Device進(jìn)入低功耗狀態(tài),休眠時(shí)間是如何設(shè)定的?
在協(xié)議棧宏定義中使能POWER_SAVING后,然后在f8wConfig.cfg文件里面把-DRFD_RCVC_ALWAYS_ON=FALSE,就可以讓End Device進(jìn)入休眠狀態(tài)。
關(guān)于休眠的時(shí)間是有OSAL操作系統(tǒng)的調(diào)度來(lái)決定,每次休眠時(shí)間都是按照最新會(huì)發(fā)生的一個(gè)Event Timeout作為休眠時(shí)間。具體在協(xié)議棧hal_sleep函數(shù)中有說(shuō)明。
這個(gè)timeout主要分為兩類(lèi),一類(lèi)是應(yīng)用層事件的timeout,另外一類(lèi)是MAC層事件的timeout,
1)應(yīng)用層的timeout的時(shí)間,是在osal_pwrmgr_powerconserve( void )函數(shù)中,通過(guò)osal_next_timeout();獲得的。
2)MAC層的timeout時(shí)間,是通過(guò)halSleep( uint16 osal_timeout )函數(shù)里面,通過(guò)MAC_PwrNextTimeout();來(lái)獲得的。
6,ZigBee 3.0協(xié)議棧有哪些新的東西?
請(qǐng)參考下面的鏈接,介紹了ZigBee 3.0協(xié)議棧相對(duì)于之前ZigBee Home Automation/ZigBee Light Link 所增加的東西。
http://processors.wiki.ti.com/index.php/What%27s_New_in_ZigBee_3.0
7,TI ZigBee協(xié)議棧中關(guān)于終端設(shè)備的狀態(tài)機(jī)切換
http://www.deyisupport.com/question_answer/wireless_connectivity/zigbee/f/104/t/104629.aspx
8,關(guān)于TI協(xié)議棧中OAD和OTA的區(qū)別
OAD全稱(chēng)Over the Air Download, OTA全稱(chēng)Over the Air. 這兩個(gè)實(shí)現(xiàn)的功能都一樣,都可以叫做對(duì)程序的空中升級(jí)。在早期的ZigBee協(xié)議標(biāo)準(zhǔn)中,并沒(méi)有關(guān)于節(jié)點(diǎn)程序空中升級(jí)方面的標(biāo)準(zhǔn),但是很多客戶(hù)都對(duì)空中升級(jí)有需求,所以TI自己開(kāi)發(fā)了一套關(guān)于程序空中升級(jí)的協(xié)議棧,并且命名為OAD。后來(lái)ZigBee聯(lián)盟看到產(chǎn)品對(duì)空中升級(jí)的需求越來(lái)越來(lái),隨機(jī)也指定了空中升級(jí)方面的標(biāo)準(zhǔn),命名為OTA,該標(biāo)準(zhǔn)也是參考了TI的OAD實(shí)現(xiàn)方式,做了相關(guān)的修改。所以TI的早期協(xié)議棧中,空中升級(jí)叫OAD,后來(lái)的協(xié)議棧中跟隨ZigBee聯(lián)盟的空中升級(jí)協(xié)議,就叫OTA了。
9,如果在非低功耗設(shè)備中,未焊接32K晶振,Z-Stack協(xié)議棧需要怎么修改?
在Z-Stack協(xié)議棧中,初始化都有對(duì)使用的晶振是否穩(wěn)定進(jìn)行檢測(cè)。如果未焊接32K晶振,則需要對(duì)下面的代碼進(jìn)行修改。TI Z-Stack 協(xié)議棧默認(rèn)是使用32K晶振的。
在hal_board_cfg.h文件,
#define OSC32K_CRYSTAL_INSTALLED FALSE
10,如果開(kāi)發(fā)基于ZigBee Mesh網(wǎng)絡(luò)的私有應(yīng)用,應(yīng)該選擇哪個(gè)協(xié)議棧?
很多用戶(hù)只想把zigbee mesh網(wǎng)絡(luò)的功能運(yùn)用在自己的系統(tǒng)或者產(chǎn)品中,并不需要完全按照zigbee 定義的應(yīng)用層規(guī)范來(lái)做,特別是一些行業(yè)性的應(yīng)用。針對(duì)這樣的應(yīng)用需求,應(yīng)該如何選擇TI 合適的協(xié)議棧進(jìn)行產(chǎn)品開(kāi)發(fā)呢?
http://www.deyisupport.com/question_answer/wireless_connectivity/zigbee/f/104/t/132197.aspx
11,使用CC2630/CC2650進(jìn)行ZigBee開(kāi)發(fā),Debug時(shí)可以在Core stack代碼進(jìn)行下斷點(diǎn)調(diào)試嗎?
可以下的,你要下載斷電的代碼對(duì)應(yīng)的文件,一定要提前打開(kāi),然后進(jìn)行Debug,就可以去打開(kāi)的文件進(jìn)行Debug了。
12,Zigbee協(xié)調(diào)器是如何選擇合適的信道創(chuàng)建網(wǎng)絡(luò)?
Zigbee網(wǎng)絡(luò)的創(chuàng)建必須有協(xié)調(diào)器來(lái)完成,一個(gè)Zigbee網(wǎng)絡(luò)有且只有一個(gè)協(xié)調(diào)器。Zigbee協(xié)調(diào)器在創(chuàng)建網(wǎng)絡(luò)時(shí)主要完成的是網(wǎng)絡(luò)信道的選擇和PANID的生成。關(guān)于信道的選擇,大致可以分為兩個(gè)步驟,1)被動(dòng)掃描也叫能量掃描Energy Scan,所謂被動(dòng)掃描就是協(xié)調(diào)器將自己的接收機(jī)打開(kāi),然后在事先設(shè)定的信道列表上依次掃描,掃描后會(huì)得到每個(gè)信道的能量值,這個(gè)能量主要來(lái)自其他的Zigbee網(wǎng)絡(luò),或者其他的2.4GHz無(wú)線(xiàn)信號(hào)。協(xié)調(diào)器會(huì)將能量值高于事先設(shè)定的閾值的信道認(rèn)為有較大的干擾存在,將該信道排除。2) 主動(dòng)掃描Active Scan,在第一輪掃描以后留下的信道中,依次發(fā)送Beacon Request,如果收到對(duì)應(yīng)的Beacon數(shù)據(jù)包,認(rèn)為該信道中存在其他的Zigbee。最后協(xié)調(diào)器會(huì)選擇一個(gè)沒(méi)有其他的Zigbee網(wǎng)絡(luò)PANID., 或者存在Zigbee網(wǎng)絡(luò)最少的信道建立自己的網(wǎng)絡(luò)并且設(shè)定一個(gè)沒(méi)有沖突的PANID.
-
ZigBee
+關(guān)注
關(guān)注
158文章
2291瀏覽量
248321 -
CC2530
+關(guān)注
關(guān)注
19文章
221瀏覽量
59601
發(fā)布評(píng)論請(qǐng)先 登錄
?TI CC1311P3 LaunchPad?開(kāi)發(fā)套件技術(shù)解析與應(yīng)用指南

【應(yīng)用】ZigBee智能燈控系統(tǒng)設(shè)計(jì)應(yīng)用(上)

51+單片機(jī)TCP-IP+協(xié)議棧ZLIP源碼
深入淺出解析低功耗藍(lán)牙協(xié)議棧

三種藍(lán)牙架構(gòu)實(shí)現(xiàn)方案(藍(lán)牙協(xié)議棧方案)

瑞薩面向RZ/T和RZ/N系列微處理器推出經(jīng)認(rèn)證的PROFINET-IRT和PROFIdrive軟件協(xié)議棧

泰凌微電子:國(guó)內(nèi)首家獲得Zigbee PRO R23 + Zigbee Direct認(rèn)證的芯片公司

Zigbee智能家居與其他協(xié)議比較
hart協(xié)議的協(xié)議棧結(jié)構(gòu)分析
明達(dá)技術(shù)為您剖析軟&硬協(xié)議棧

RT-Thread USB協(xié)議棧-CherryUSB快速上手指南

DoIP協(xié)議棧簡(jiǎn)介及主要功能

CC256x TI藍(lán)牙協(xié)議棧HIDDemo應(yīng)用

CC256x TI藍(lán)牙協(xié)議棧基礎(chǔ)HFGAGDemo應(yīng)用

評(píng)論