日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

TI ZigBee FAQ 常見問題解答

 zigbeeID 2015-09-30
1,TI的ZigBee協(xié)議棧不同版本的區(qū)別,如何選擇合適的協(xié)議棧進(jìn)行產(chǎn)品開發(fā)

TI ZigBee 協(xié)議棧Z-Stack從最開始的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é)議棧的升級過程TI主要對協(xié)議棧做了兩方面的工作,1) 根據(jù)ZigBee Alliance的ZigBee Specification進(jìn)行一些新的Feature添加,比方說ZigBee2007是樹形的路由,在ZigBee Pro中有了Mesh路由,并且提出了MTO和Source Routing等路由算法,所以TI的把相應(yīng)新的功能添加到協(xié)議棧上去。當(dāng)然有一部分是Spec中相關(guān)bug的修正,比方說有些描述模棱兩可的;2) TI ZigBee協(xié)議棧本身軟件bug的修復(fù)。一個(gè)版本的協(xié)議棧相對于之前一個(gè)版本協(xié)議棧的區(qū)別,都可以在協(xié)議棧安裝目錄下的Release Note中找到。
在Z-Stack 2.5.1a以后,TI的協(xié)議棧并沒有繼續(xù)以Z-Stack 2.6.x的形式直接發(fā)布,而是按照Application Profile的方式來發(fā)布了,原因在于TI希望開發(fā)者根據(jù)實(shí)際的應(yīng)用選擇更有針對的性的協(xié)議棧進(jìn)行開發(fā)。像Z-Stack Home 1.2.1之類的協(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.1 針對智能家居相關(guān)產(chǎn)品的開發(fā)
2)Z-Stack Lighting 1.0.2 針對ZLL相關(guān)產(chǎn)品的開發(fā)
3)Z-Stack Energy 1.0.1 針對智能能源,Meter, In Home Display, 等相關(guān)產(chǎn)品的開發(fā)
4)Z-Stack Mesh 1.0.0 針對相關(guān)私有應(yīng)用的產(chǎn)品的開發(fā),只利用標(biāo)準(zhǔn)ZigBee協(xié)議相關(guān)功能, Mesh路由等,應(yīng)用層有開發(fā)者自己定義。


2,產(chǎn)品如何進(jìn)行標(biāo)準(zhǔn)ZigBee測試認(rèn)證,需要了解哪些,需要走什么流程

以開發(fā)標(biāo)準(zhǔn)ZigBee Home Automation相關(guān)產(chǎn)品為例。首先開發(fā)者開發(fā)產(chǎn)品時(shí)要按照ZigBee Home Automation Profile Specification 中描述的產(chǎn)品進(jìn)行開發(fā),這個(gè)文檔可以在www.zigbee.org下載到。在完成產(chǎn)品的開發(fā)后,開發(fā)著需要了解ZigBee Home Automation Profile Test Specification, 這個(gè)文檔描述了一個(gè)特定產(chǎn)品需要在Test House過的相關(guān)測試項(xiàng),文檔也可以在www.zigbee.org下載到,另外除了以上兩個(gè)文檔以外還有一個(gè)PICS文檔,這個(gè)文檔專門用于描述需要過認(rèn)證測試產(chǎn)品所支持的功能,開發(fā)者根據(jù)開發(fā)產(chǎn)品的實(shí)際紅能,和Specification中所要求的功能,在文檔中進(jìn)行打鉤確認(rèn)。下面是測試的流程,
1) 首先加入ZigBee聯(lián)盟,一般可以有測試實(shí)驗(yàn)室?guī)椭瓿伞?/div>
2) 寄送樣品到測試實(shí)驗(yàn)室,完成PICS文檔的填寫。
3) 第一輪預(yù)測試,測試實(shí)驗(yàn)室對測試結(jié)果反饋,開發(fā)者修改樣品代碼。
4) 測試實(shí)驗(yàn)室對修改后的樣品進(jìn)行驗(yàn)證,然后開始正式測試。
5) 測試實(shí)驗(yàn)室協(xié)助開發(fā)者完成ZigBee聯(lián)盟網(wǎng)上認(rèn)證申請資料的準(zhǔn)備和提交。
6) 測試實(shí)驗(yàn)室提交正式測試報(bào)告給ZigBee聯(lián)盟。聯(lián)盟會(huì)完成審核并發(fā)證
目前國內(nèi)可以完成標(biāo)準(zhǔn)ZigBee測試的測試實(shí)驗(yàn)室有兩家
1) CESI 北京 中國標(biāo)準(zhǔn)化電子研究所。
2) TRAC 深圳辦事處(總部在英國)
 
3,設(shè)備的64位 MAC地址是怎么樣選取的?
在CC2530中分為兩個(gè)IEEE地址,一個(gè)稱為Primary IEEE地址,另外稱為Secondary地址。Primary IEEE地址是存放在芯片的Information Page里面,這個(gè)地址是TI向IEEE協(xié)會(huì)購買的,每個(gè)芯片的地址都是唯一的。并且用戶只能Read這個(gè)值,沒辦法擦除/修改。在協(xié)議棧中直接通過讀地址可以獲得 osal_memcpy(aExtendedAddress, (uint8 *)(P_INFOPAGE+HAL_INFOP_IEEE_OSET), Z_EXTADDR_LEN)。 Secondary地址是存放在CC2530里的Flash最后一個(gè)Page里面,用戶可以進(jìn)行Read/Write. 通過函數(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)中沒有,從Secondary IEEE地址存放位置讀取,如果有(都不為0xFF),把該地址寫入到NV中,以后就用該地址作為MAC地址了。
3) 如果2)中沒有,從Primary IEEE地址存放位置讀取,如果有(都不為0xFF),把該地址寫入到NV中,以后就用該地址作為MAC地址了
4) 如果3)中沒有,就隨機(jī)產(chǎn)生一個(gè)64位的變量,寫入到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)度來決定,每次休眠時(shí)間都是按照最新會(huì)發(fā)生的一個(gè)Event Timeout作為休眠時(shí)間。具體在協(xié)議棧hal_sleep函數(shù)中有說明。
這個(gè)timeout主要分為兩類,一類是應(yīng)用層事件的timeout,另外一類是MAC層事件的timeout,
1)應(yīng)用層的timeout的時(shí)間,是在osal_pwrmgr_powerconserve( void )函數(shù)中,通過osal_next_timeout();獲得的。
2)MAC層的timeout時(shí)間,是通過halSleep( uint16 osal_timeout )函數(shù)里面,通過MAC_PwrNextTimeout();來獲得的。
 

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多