zigbee技術文檔0 - ZigBee協議棧基礎概念簡介_第1頁
zigbee技術文檔0 - ZigBee協議棧基礎概念簡介_第2頁
zigbee技術文檔0 - ZigBee協議棧基礎概念簡介_第3頁
zigbee技術文檔0 - ZigBee協議棧基礎概念簡介_第4頁
zigbee技術文檔0 - ZigBee協議棧基礎概念簡介_第5頁
已閱讀5頁,還剩7頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、一、 ZigBee之基本概念物聯網的定義是:通過射頻識別(RFID)、紅外感應器、全球定位系統、激光掃描器等信息傳感設備,按約定的協議,把任何物體與互聯網相連接,進行信息交換和通信,以實現對物體的智能化識別、定位、跟蹤、監控和管理的一種網絡。無線傳感網絡的定義是:大規模,無線、自組織、多跳、無分區、無基礎設施支持的網絡其中的節點是同構的、成本較低、體積較小,大部分節點不移動,被隨意撒布在工作區域,要求網絡系統有盡可能長的工作時間。 在通信方式上,雖然可以采用有線、無線、紅外和光等多種形式,但一般認為短距離的無線低功率通信技術最適合傳感器網絡使用,為明確起見,一般稱無線傳感器網絡(WSNWire

2、less Sensor Network)。無線傳感網絡的無線通信技術可以采用ZigBee技術、藍牙、Wi-Fi和紅外等技術。ZigBee技術是一種短距離、低復雜度、低功耗、低數據速率、低成本的雙向無線通信技術或無線網絡技術,是一組基于IEEE802.15.4無線標準研制開發的組網、安全和應用軟件方面的通信技術。Zigbee是IEEE 802.15.4協議的代名詞。根據這個協議規定的技術是一種短距離、低功耗的無線通信技術。這一名稱來源于蜜蜂的八字舞,由于蜜蜂(bee)是靠飛翔和“嗡嗡”(zig)地抖動翅膀的“舞蹈”來與同伴傳遞花粉所在方位信息,也就是說蜜蜂依靠這樣的方式構成了群體中的通信網絡。其

3、特點是近距離、低復雜度、自組織、低功耗、低數據速率、低成本。主要適合用于自動控制和遠程控制領域,可以嵌入各種設備。簡而言之,ZigBee就是一種便宜的,低功耗的近距離無線組網通訊技術。IEEE 802.15.4是一個低速率無線個人局域網(Low Rate Wireless PersonalArea Networks,LR-WPAN)標準。該標準定義了物理層(PHY)和介質訪問控制層(MAC)。這種低速率無線個人局域網的網絡結構簡單、成本低廉、具有有限的功率和靈活的吞吐量。低速率無線個人局域網的主要目標是實現安裝容易、數據傳輸可靠、短距離通信、極低的成本、合理的電池壽命,并且擁有一個簡單而且靈活

4、的通信網絡協議。協議棧是指網絡中各層協議的總和,其形象的反映了一個網絡中文件傳輸的過程:由上層協議到底層協議,再由底層協議到上層協議。使用最廣泛的是英特網協議棧,由上到下的協議。分別是:²²²² 應用層(HTTP,TELNET,DNS,EMAIL等) 運輸層(TCP,UDP),網絡層(IP 鏈路層(WI-FI,以太網,令牌環,FDDI等) 物理層ZigBee聯盟于2005年公布了第一份ZigBee規范“ZigBee Specification V1.0”。ZigBee協議規范使用了IEEE 802.15.4定義的物理層(PHY)和媒體介質訪問層(MAC)

5、,并在此基礎上定義了網絡層(NWK)和應用層(APL)架構。ZigBee2007/PRO無線傳感器網絡與ZigBee2006無線傳感器網絡相比最大區別在于其支持最新ZigBee2007/PRO網絡,提供更多更精確傳感器(如增加高精度溫濕度數字傳感器等),提供更多可擴展接口,提供更大網絡支持,速度更快/處理能力更強低功耗微控制器等。ZigBee的技術特性決定它將是無線傳感器網絡的最好選擇,廣泛用于物聯網,自動控制和監視等諸多領域。以美國德州儀器TI公司CC2430/CC2530芯片為代表的 Zigbee SOC解決方案在國內高校企業掀起了一股Zigbee技術應用的熱潮。CC2430/CC2530

6、集成了51單片機內核,相比于眾多的Zigbee芯片,CC2430/CC2530頗受青睞。ZigBee新一代SOC芯片CC2530是真正的片上系統解決方案,支持IEEE 802.15.4標準/ZigBee/ZigBee RF4CE和能源的應用。擁有龐大的快閃記憶體多達256個字節,CC2530是理想ZigBee專業應用。CC2530結合了一個完全集成的,高性能的RF收發器與一個8051微處理器,8 kB的RAM ,32/64/128/256 KB閃存,以及其他強大的支持功能和外設。CC2530提供了101dB的鏈路質量,優秀的接收器靈敏度和健壯的抗干擾性,四種供電模式,多種閃存尺寸,以及一套廣泛

7、的外設集 包括2個USART、12位ADC和21個通用GPIO,以及更多。除了通過優秀的RF性能、選擇性和業界標準增強8051MCU內核,支持一般的低功耗無線通信,CC2530還可以配備TI的一個標準兼容或專有的網絡協議棧(RemoTI,Z-Stack,或SimpliciTI)來簡化開發,使你更快的獲得市場。CC2530可以用于的應用包括遠程控制、 消費型電子、家庭控制、計量和智能能源、樓宇自動化、醫療以及更多領域。二、 Zigbee之設備類型 (Device Types)在ZigBee網絡中存在三種邏輯設備類型:Coordinator(協調器),Router(路由器)和End-Device(

8、終端設備)。ZigBee網絡由一個Coordinator以及多個Router和多個End_Device組成。Coordinator(協調器)協調器負責啟動整個網絡。它也是網絡的第一個設備。協調器選擇一個信道和一個網絡ID(也稱之為PAN ID,即Personal Area Network ID),隨后啟動整個網絡。協調器也可以用來協助建立網絡中安全層和應用層的綁定(bindings)。注意,協調器的角色主要涉及網絡的啟動和配置。一旦這些都完成后,協調器的工作就像一個路由器。Router(路由器)路由器的功能主要是:允許其他設備加入網絡,多跳路由和協助它自己的由電池供電的子終端設備的通訊。通常,

9、路由器希望是一直處于活動狀態,因此它必須使用主電源供電。但是當使用樹型網絡模式時,允許路由間隔一定的周期操作一次,這樣就可以使用電池給其供電。End-Device(終端設備)終端設備沒有特定的維持網絡結構的責任,它可以睡眠或者喚醒,因此它可以是一個電池供電設備。通常,終端設備對存儲空間(特別是RAM)的需要比較小。注意:在ZStack-CC2530-2.3.1-1.4.0中一個設備的類型通常在編譯的時候通過編譯選項確定。所有的應用例子都提供獨立的項目文件來編譯每一種設備類型。對于協調器,在Workspace區域的下拉菜單中選擇CoordinatorEB-Pro;對于路由器,在Workspace

10、區域的下拉菜單中選擇RouterEB-Pro;對于終端設備,在Workspace區域的下拉菜單中選擇EndDeviceEB-Pro。使用IAR打開在ZStack協議棧的工程后,在工程目錄下有如下配置文件選擇工程相應的配置CoordinatorEB,會使對應的f8wCoord.cfg文件生效。配置文件區別如下通過配置文件可以觀察到,協調器和路由器都有定義 RTR_NWK宏,它是能協議棧的路由選擇功能,而終端設備是不具備路由選擇功能的,所有沒有任何宏定義。三、Zigbee之網絡拓撲結構ZigBee 網絡支持星狀、樹狀和網狀三種網絡拓撲結構,如下圖所示,分別依次是星狀網絡,樹(簇)狀網絡和網狀網絡。

11、² 星狀網絡由一個PAN 協調器和多個終端設備組成,只存在PAN 協調器與終端的通訊,終端設備間的通訊都需通過PAN 協調器的轉發。² 樹狀網絡由一個協調器和一個或多個星狀結構連接而成,設備除了能與自己的父節點或子節點進行點對點直接通訊外,其他只能通過樹狀路由完成消息傳輸。² 網狀網絡是樹狀網絡基礎上實現的,與樹狀網絡不同的是,它允許網絡中所有具有路由功能的節點直接互連,由路由器中的路由表實現消息的網狀路由。該拓撲的優點是減少了消息延時,增強了可靠性,缺點是需要更多的存儲空間開銷。在Z-Stack中網絡拓撲結構定義如下:#define NWK_MODE_STAR

12、0#define NWK_MODE_TREE 1#define NWK_MODE_MESH 2#if ( STACK_PROFILE_ID = ZIGBEEPRO_PROFILE )#define NWK_MODE NWK_MODE_MESH#elif ( STACK_PROFILE_ID = HOME_CONTROLS )#define NWK_MODE NWK_MODE_MESH#elif ( STACK_PROFILE_ID = GENERIC_STAR )#define NWK_MODE NWK_MODE_STAR#elif ( STACK_PROFILE_ID = NETWORK_S

13、PECIFIC )#define NWK_MODE NWK_MODE_MESH#endif三、 Zigbee之設備地址 ZigBee設備有兩種類型的地址。一種是64位IEEE地址,即MAC地址,另一種是16位網絡地址。 64位地址使全球唯一的地址,設備將在它的生命周期中一直擁有它。它通常由制造商或者被安裝時設臵。這些地址由IEEE來維護和分配。 16位網絡地址是當設備加入網絡后分配的。它在網絡中是唯一的,用來在網絡中鑒別設備和發送數據。其中,協調器的網絡地址為0x00:#define NWK_PAN_COORD_ADDR 0x0000網絡地址分配ZigBee2006和 ZigBee 2007使

14、用分布式尋址方案來分配網絡地址。這個方案保證在整個網絡中所有分配的地址是唯一的。這一點是必須的,因為這樣才能保證一個特定的數據包能夠發給它指定的設備,而不出現混亂。同時,這個尋址算法本身的分布特性保證設備只能與他的父輩設備通訊來接受一個網絡地址。不需要整個網絡范圍內通訊的地址分配,這有助于網絡的可測量性。假設父設備可擁有的最大子設備數為Cm,其擁有的最大路由子設備數為 Rm,網絡的最大深度為Lm,則父設備所能分配子區段地址數為:若Rm=1,Cskip(d)= 1+Cm*(Lm-d-1);若Rm不為1,則Cskip(d)=(1+Cm-Rm-Cm*( Rm)(Lm-d-1)/(1-Rm).子節點為

15、父設備的第n個子路由器的短地址分配:Achild =Aparent +(n-1)*Cskip(d)+1,n=1Achild =Aparen +(n-1)*Cskip(d),n>1子節點為父設備的第n個子終端設備的短地址分配:Achild = Aparent + Rm*Cskip(d)+ nZigBee 2007 PRO 使用的隨機地址分配機制,對新加入的節點使用隨機地址分配,為保證網絡內地址分配不重復,使用其余的隨機地址再進行分配。當一個節點加入時,將接收到父節點的隨機分配地址,然后產生“設備聲明”(包含分配到的網絡地址和IEEE地址)發送至網絡中的其余節點。如果另一個節點有著同樣的網絡

16、地址,則通過路由器廣播“網絡狀態-地址沖突”至網絡中的所有節點。所有發生網絡地址沖突的節點更改自己的網絡地址,然后再發起“設備聲明”檢測新的網絡地址是否沖突。終端設備不會廣播“地址沖突”,他們的父節點會幫助完成。如果一個終端設備發生了“地址沖突”,他們的父節點發送“重新加入”消息至終端設備,并要求他們更改網絡地址。然后,終端設備再發起“設備聲明”檢測新的網絡地址是否沖突。 當接收到“設備聲明”后,關聯表和綁定表將被更新使用新的網咯地址,但是路由表不會被更新。 在每個路由加入網絡之前,尋址方案需要知道和配臵一些參數。這些參數是MAX_DEPTH(最大網絡深度)、MAX_ROUTERS(最多路由數

17、)和MAX_CHILDREN(最多子節點數)。這些參數是棧配臵的一部分,ZigBee2007協議棧已經規定了這些參數的值: #if ( STACK_PROFILE_ID = ZIGBEEPRO_PROFILE )#define MAX_NODE_DEPTH 20#elif ( STACK_PROFILE_ID = HOME_CONTROLS )#define MAX_NODE_DEPTH 5#elif ( STACK_PROFILE_ID = GENERIC_STAR )#define MAX_NODE_DEPTH 5#elif ( STACK_PROFILE_ID = NETWORK_SPE

18、CIFIC )#define MAX_NODE_DEPTH 5#endif#define NWK_MAX_ROUTERS 6#define NWK_MAX_DEVICES 21² MAX_DEPTH決定了網絡的最大深度。協調器(Coordinator)位于深度0,它的兒子位于深度1,他的兒子的的兒子位于深度2,以此類推。MAX_DEPTH參數限制了網絡在物理上的長度。² MAX_CHILDREN決定了一個路由(Router)或者一個協調器節點可以處理的兒子節點的最大個數。² MAX_ROUTER決定了一個路由(Router)或者一個協調器(Coordinator)

19、節點可以處理的具有路由功能的兒子節點的最大個數。這個參數是MAX_CHILDREN的一個子集,終端節點使用(MAX_CHILDREN MAX_ROUTER)剩下的地址空間。四、 Zigbee之其他(Miscellaneous)配置信道(Configuring channel)每一個設備都必須有一個DEFAULT_CHANLIST 來控制信道集合。對于一個ZigBee 協調器,這個表格用來掃描噪音最小的信道。對于終端節點和路由器節點來說,這個列表用來掃描并加入一個存在的網絡。配置PAN ID 和要加入的網絡(Configuring PAN ID and network to join)這個可選配

20、置項用來控制ZigBee 路由器和終端節點要加入哪個網絡。文件8wConfg.cfg中的ZDO_CONFIG_PAN_ID 參數可以設置為一個00x3FFF 之間的一個值。協調器使用這個值,作為它要啟動的網絡的PAN ID。而對于路由器節點和終端節點來說只要加入一個已經用這個參數配置了PAN ID 的網絡。如果要關閉這個功能,只要將這個參數設置為0xFFFF。要更進一步控制加入過程, 需要修改ZDApp.c 文件中的ZDO_NetworkDiscoveryConfirmCB 函數。最大有效載荷 (Maximum payload size)對于一個應用程序,最大有效載荷的大小基于幾個因素。MAC

21、 層提供了一個有效載荷長度常數102。NWK 層需要一個固定頭大小,一個有安全的大小和一個沒有安全的大小。APS層必須有一個可變的基于變量設置的頭大小,包括ZigBee 協議版本,KVP 的使用和APS幀控制設置等等。最后,用戶不必根據前面的要素來計算最大有效載荷大小。AF 模塊提供一個API,允許用戶查詢棧的最大有效載荷或者最大傳送單元(MTU)。用戶調用函數afDataReqMTU(見af.h 文件),該函數將返回MTU 或者最大有效載荷大小。 typedef structuint8 kvp;APSDE_DataReqMTU_t aps;afDataReqMTU_t;uint8 afDat

22、aReqMTU( afDataReqMTU_t* fields )通常afDataReqMTU_t 結構只需要設置kvp 的值,這個值表明KVP是否被使用。而aps保留。離開網絡(Leave Network)ZDO 管理器執行函數“ ZDO_ProcessMgmtLeaveReq ”, 這個函數提供對“NLME-LEAVE.request”原語的訪問。“NLME-LEAVE.request”原語設備移除它自身或者它的一個子設備。ZDO_ProcessMgmtLeaveReq 根據提供給它的IEEE 地址移除設備。如果設備要移除它自己,它需等待大約5 秒鐘然后復位。一旦設備復位它將重新回來,并處

23、于空閑模式。它將不再試圖連接或者加入網絡。如果設備要移除它的子設備,它將從本地的連接表(accociation table)中刪除該設備。只有在它的子設備是個終端節點的情況下,NWK地址才會被重新使用。如果子節點是個路由器設備,NWK 地址將不再使用。如果一個子節點的父節點離開了網絡,子節點依然存在于網絡中。盡管“NLME-LEAVE.request”原語提供了一些可選參數,但是ZigBee2006卻限制了這些參數的使用。現在,在ZDO_ProcessMgmtLeaveReq 函數中使用的可選參數(“RemoveChildren”、“Rejion”and “Silent”)都應該使用默認值。如

24、果改變這些值,將會發生不可預料的結果。描述符(Descriptors)ZigBee 網絡中的所有設備都有一個描述符,用來描述設備類型和它的應用。這個信息可以被網絡中的其他設備獲取。配置項在文件ZDOConfig.h 和ZDOConfig.c 中定義和創建。這兩個文件還包含節點,電源描述符和默認用戶描述符。確認改變這些描述符來定義你的網絡。五、 Zigbee之ZigBee術語² 屬性 屬性Attribute是一個反映物理數量或狀態的數據值,比如開關值(On/Off) ,溫度值、百分比等。² 群集 群集Cluster是包含一個或多個屬性(attribute)的群組。簡單的說,群

25、集就是屬性的集合。每個群集都被分配一個唯一的群集ID 且每個群集最多有65536個屬性。² 設備描述 設備描述Device Description是指一個大型目標應用的一部分,包括一個或多個群集,并且指定群集是輸入還是輸出。描述符有:節點描述符、電源描述符、簡單描述符、端點描述符。端點描述符:typedef structbyte endPoint;byte *task_id; / Pointer to location of the Application task ID. SimpleDescriptionFormat_t *simpleDesc;afNetworkLatencyR

26、eq_t latencyReq; endPointDesc_t;簡單描述符:typedef structbyte EndPoint;uint16 AppProfId;uint16 AppDeviceId;byte AppDevVer:4;byte Reserved:4; / AF_V1_SUPPORT uses for AppFlags:4.byte AppNumInClusters;cId_t *pAppInClusterList;byte AppNumOutClusters;cId_t *pAppOutClusterList; SimpleDescriptionFormat_t;²

27、; 端點 端點EndPoint是協議棧應用層的入口,也可以理解應用對象(ApplicationObject)存在的地方,它是為實現一個設備描述而定義的一組群集。每個ZigBee設備可以最多支持240這樣的端點,這也意味著在每個設備上可以定義240個應用對象。端點0被保留用于與ZDO接口,這是每個ZigBee設備必須使用的端點,而端點255被保留用于廣播,端點241-254則被保留用于將來做擴展使用。² 節點 節點Node也可以理解為一個容器,包含一組ZigBee設備,分享一個無線信道。每個節點有且只有一個無線信道使用。 如網關節點、路由節點、終端節點。² 綁定(banding) 在zigaee協議中定義了一種特殊的操作,叫做綁定(binding)操作。它能夠通過使用ClusterID為不同節點上的獨立端點建立一個邏輯上的連接。以下圖為例來說明綁定操作:圖中ZigBee網絡中的兩個節點分別為Z1和Z2,其中Zl節點中包含兩個獨立端點分別是EP3和EP21,它們分別表示開關1和開關2。Z2節點中有EP5、EP7、EP8、EPl7四個端點分別表示從l到4這四盞燈。在網絡中,通過建立ZigBee綁定操作,可以將EP3和EP5、EP7、EP8

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論