zigbee協議棧各層的功能
ZigBee譯為“紫蜂”,它與藍牙相類似。是一種新興的短距離無線通信技術,用于傳感控制應用(Sensor and Control)。由IEEE 802.15工作組中提出,并由其TG4工作組制定規范。
系統ZigBee協議棧設計基于MSSTATE_LRWPAN。MSSTATE_LRWPAN是由美國密西西比州立大學的Robert B. Reese教授開發的一套ZigBee協議的簡化實現。該協議棧可用于多種硬件平臺,實現了協調器、路由器和精簡功能節點之間的樹路由、直接消息傳輸并用靜態綁定方法實現了間接路由[[xxxix]]。
課題在對該協議棧進行深入分析的基礎上,根據本課題中使用硬件平臺的實際情況進行修改,將其移植到MSP430 + CC2420的硬件平臺上來。程序使用C語言編寫,使用IAR公司的EW430工具作為集成開發環境,編譯后下載到目標板的MSP430芯片中。
協議棧使用有限狀態機(FSM,Finite State Machine)的編程方式,在協議的每一層實現單獨的有限狀態機來跟蹤該層的工作狀態,整個協議棧采用嵌套調用的方式,上層調用下層的有限狀態機,實現完整協議棧的運行。最頂層的有限狀態機是應用程序支持子層(APS)的apsFSM(),需要周期性的調用,以維持整個協議棧正常運行。
經過對MSSTATE_LRWPAN協議各層源程序的原理和實現方法進行分析后發現,在將協議棧從一種硬件平臺移植到另外一種硬件平臺時,需要修改的主要是物理層(PHY)和媒體接入控制層(MAC),這兩層與硬件聯系緊密,需要針對節點硬件的實際連接方式作較大的修改,涉及的文件主要有cc2420.c、clockhal.c和halStack.c等。
PHY層和MAC層屏蔽了硬件的差異,上層協議通過服務接入點(SAP,Service Access Point)使用下層協議提供的服務,透明地完成對硬件的控制,所以網絡層(NWK)和應用層(APS)等文件要作的改動較小。
1.1 IEEE802.15.4標準
zigbee聯盟已于2005年6月27日公布了第一份zigbee規范“zigbee Specification V1.0”。這標準定義了在IEEE 802.15.4-2003物理層和標準媒體接入控制層上的網絡層及支持的應用服務。zigbee聯盟的長期目標是能夠建立基于互操作平臺和配置文件的可伸縮、低成本嵌入式基礎架構。
1.1.1 IEEE802.15.4協議框架
IEEE802.15.4標準采用分層結構。每一層為上層提供一系列特殊的服務:數據實體提供數據傳輸服務,管理實體則提供所有其他的服務。所有的服務實體都通過服務接入點SAP(Service Access Point)為上層提供一個接口,每個SAP都支持一定數量的服務原語來實現所需的功能。
IEEE 802.15.4標準堆棧架構是在OSI七層模型的基礎上根據市場和應用的實際需要定義了,如圖2-1。其中,IEEE 802.15.4標準定義了底層:物理層PHY(Physical Layer)和媒體訪問控制子層MAC(Medium Access Control Sub-Layer)層。zigbee聯盟在此基礎上定義了網絡層NWK(Network Layer),應用層APL(Application Layer)架構。其中應用層包括應用支持子層APS(Application Support Sub-Layer),應用框架AF(Application Framework),zigbee設備對象ZDO(zigbee Device Objects)以及用戶定義應用對象(Manufacturer-Defined Application Objects )。[16]
IEEE 802.15.4工作在工業科學醫療ISM(Industrial、Scientific and Medical)頻段,定義了兩個物理層PHY,分別工作在兩個頻段上:868/915 MHz和2.4GHz。其中低頻段物理層覆蓋了868MHz的歐洲頻段和915MHz的美國與澳大利亞等國的頻段。高頻段2.4GHz則全球通用。
IEEE 802.15.4 MAC層采用避免沖突多載波信道接入CSMA-CA(Carrier Sense Multiple Access with Collision Avoidance)方式,主要負責傳輸信標幀,同步以及提供可信賴的傳輸機制。
1.1.2 網絡節點類型
在W-PAN中有三種網絡角色:PAN網絡協調器、協調器和設備。這三種角色在IEEE 802.15.4規范中分別對應zigbee協調器ZC(zigbee Coordinator)、zigbee路由器ZR(zigbee Router)和終端設備ZED(zigbee End Device)。
協調器和路由器只能是全功能器件FFD。一個PAN的網絡中,至少要有一個全功能器件成網絡的協調器,它可以看作是一個PAN的網關節點(SINK節點),它是網絡建立的起點,負責PAN網絡的初始化,確定PAN的ID號和PAN操作的物理信道并統籌短地址分配,充當信任中心和儲存安全密鑰,與其他網絡的連接等。協調器在加入網絡之后獲得一定的短地址空間。這個空間內,他有能力允許其他節點加入網絡,并分配短地址。當然協調器還具備路由和數據轉發的功能。在任何一個拓撲網絡上,所有設備都有一個唯一的64位IEEE長地址,該地址可以在PAN中用于直接通信。或者當所有設備之間都已經存在連接時,可以將其轉變為16位的網絡短地址分配給PAN設備。因此在設備發起連接時采用的是64位的長地址,只有連接成功后,系統分配了PAN的標志符后,才能采用16位的短地址來通信。路由器可以只運行一個存放有路由協議的精簡協議棧,負責網絡數據的路由,實現數據中轉功能。
在網絡中最基本的節點就是終端節點ZED,一個終端節點可以是全功能器件FFD或者是精簡功能器件RFD。
1.2.1 IEEE 802.15.4
IEEE802.15.4包括用于低速無線個人域網LR-WPAN的物理層PHY和媒體接入控制層MAC兩個規范。圖2-4給出了IEEE 802.15.4的分層參考模型。
1.2.1.1 IEEE 802.15.4 PHY層
物理層的作用主要是利用物理介質為數據鏈路層提供物理連接,負責處理數
據傳輸率并架空數據出錯率,以便透明低傳送比特流。zigbee協議的物理層主要負責以下任務:
(1)啟動和關閉RF收發器。
(2)信道能量檢測。
(3)對接收到的數據報進行鏈路質量指示LQI(Link Quality Indication)。
(4)為CSMA/CA算法提供空閑信道評估CCA(Clear Channel Assessment)。
(5)對通信信道頻率進行選擇。
(6)數據包的傳輸和接收
IEEE 802.15.4的物理層定義了物理信道和MAC子層間的接口,提供數據服務和物理層管理服務。物理層數據服務從無線物理信道上收發數據,物理層管理服務維護一個物理層相關數據組成的數據庫。
1.2.1.2 IEEE 802.15.4 MAC層
IEEE 802.15.4媒體介入控制層的沿用了傳統無線局域網中的帶沖突避免的載波多路偵聽訪問技術CSMA/CA方式,以提高系統的兼容性。這種設計,不但使多種拓撲結構網絡的應用變得簡單,還可以實現非常有效的功耗管理。
MAC層完成的具體任務如下:
(1)協調器產生并發送信標幀(Beacon)。
(2)普通設備根據協調器的信標幀與協調器同步。
(3)支持PAN網絡的關聯(Association)和取消關聯(Disassociation)操作。
(4)為設備的安全性提供支持。
(5)使用CSMA-CA機制共享物理信道。
(6)處理和維護時隙保障GTS(Guaranteed Time Slot)機制。
(7)在兩個對等的MAC實體之間提供一個可靠的數據鏈路。
在IEEE 802.15.4的MAC層中引入了超幀結構和信標幀的概念。這兩個概念的引入極大了方便了網絡管理,我們可以選用以超幀為周期組織LR-WPAN網絡內設備間的通信。每個超幀都以網絡協調器發出信標幀為始,在這個信標幀中包含了超幀將持續的時間以及對這段時間的分配等信息。網絡中的普通設備接收到超幀開始時的信標幀后,就可以根據其中的內容安排自己的任務,例如進入休眠狀態直到這個超幀結束。
MAC子層提供兩種服務:MAC層數據服務和MAC層管理服務(MAC sub-layer management entity,MLME)。前者保證MAC協議數據單元在物理層數據服務中正確收發,后者維護一個存儲MAC子層協議相關信息的數據庫。
1.3 zigbee協議分析
1.3.1 zigbee協議
zigbee的協議棧結構是由一系列稱為層的協議塊所組成的。每個層為上一層提供一系列特定的服務。數據入口提供數據傳輸的服務,管理入口提供其余的所有服務。每個服務接口都通過SAP(Service Access Point)接口與上一層進行數據交換,每個SAP都支持一系列的服務原語。
zigbee協議棧是基于OSI(Open Systems Interconnection)標準的,但只定義了所需要的那些層。主要由物理層PHY,媒體接入層MAC,網絡層以及應用框架層組成,框架圖如圖所示。其中,PHY層和MAC層采用了IEEE 802.15.4協議標準。
zigbee網絡層主要用于zigbee的無線個人區域網WPAN網的組網連接,數據管理以及網絡安全等。
zigbee應用框架層主要為zigbee技術的實際應用提供一些應用框架模型等,以便對zigbee技術的開發應用,在不同的應用場合,其開發應用框架不同,從目前來看,不同廠商提供的應用框架是有差異的。
1.3.2 zigbee網絡層
網絡層需要在功能上保證與IEEE 802.15.4標準兼容,同時也需要上層提供合適的功能接口。
對于網絡層,其完成和提供的主要功能如下:
(1)產生網絡層的數據包:當網絡層接受到來自應用子層的數據包,網絡層對數據包進行解析,然后加上適當的網絡層包頭向MAC傳輸。
(2)網絡拓撲的路由功能:網絡層提供路由數據包的功能,如果包的目的節點是本節點的話,將該數據包向應用子層發送。如果不是,則將該數據包轉發給路由表中下一結點。
(3)配置新的器件參數:網絡層能夠配置合適的協議,比如建立新的協調器并發起建立網絡或者加入一個已有的網絡。
(4)建立PAN網絡
(5)連入或脫離PAN網絡:網絡層能提供加入或脫離網絡的功能,如果節點是協調器或者是路由器,還可以要求子節點脫離網絡。
(6)分配網絡地址:如果本節點是協調器或者是路由器,則接入該節點的字節點的網絡地址由網絡層控制。
(7)鄰居節點的發現:網絡層能發現維護網絡鄰居信息。
(8)建立路由:網絡層提供路由功能。
(9)控制接收:網絡層能控制接收器的接受時間和狀態。
zigbee網絡層的結構
為了向應用層提供接口,網絡層提供了兩個功能服務實體,分別為數據服務實體NLDE和管理服務實體NLME。NLDE通過NLDE-SAP為應用層提供數據傳輸服務,NLME通過NLME-SAP為應用層提供網絡管理服務,并且,NLME還完成對網絡信息庫NIB的維護和管理。
1.3.3 zigbee應用層
zigbee應用層包括應用支持子層APS、應用框架AF、zigbee設備對象ZDO。它們共同為各應用開發者提供統一的接口。
1.3.3.1 應用支持子層APS
APS層主要功能:
(1)APS層協議數據單元APDU的處理。
(2)APSDE提供在同一個網絡中的應用實體之間的數據傳輸機制。
(3)APSME提供多種服務給應用對象,這些服務包括安全服務何綁定設備,并維護管理對象的數據庫,也就是我們常說的AIB。
1.3.3.2 應用框架AF
應用框架(Application Framework)為各個用戶自定義的應用對象提供了模板式的活動空間,為每個應用對象提供了鍵值對KVP服務和報文MSG服務兩種服務供數據傳輸使用。
每個節點除了64位的IEEE地址,16位的網絡地址,每個節點還提供了8位的應用層入口地址,對應于用戶應用對象。端點0為ZDO接口,端點1至240供用戶自定義用于對象使用,端點255為廣播地址,端點241 -254保留將來使用。每一個應用都對應一個配置文件(Profile)。配置文件包括:設備ID(Device ID),事務集群ID(cluster ID),屬性ID(Attribute ID)等。AF可以通過這些信息來決定服務類型。
1.3.3.3 zigbee設備對象ZDO
ZDO是一個特殊的應用層的端點(Endpoint)。它是應用層其他端點與應用子層管理實體交互的中間件。它主要提供的功能如下:
(1)初始化應用支持子層,網絡層。
(2)發現節點和節點功能。在無信標的網絡中,加入的節點只對其父節點可見。而其他節點可以通過ZDO的功能來確定網絡的整體拓撲結構已經節點所能提供的功能。
(3)安全加密管理:主要包括安全key的建立和發送,已經安全授權。
(4)網絡的維護功能。
(5)綁定管理:綁定的功能由應用支持子層提供,但是綁定功能的管理卻是由ZDO提供,它確定了綁定表的大小,綁定的發起和綁定的解除等功能。
(6)節點管理:對于網絡協調器和路由器,ZDO提供網絡監測、獲取路由和綁定信息、發起脫離網絡過程等一系列節點管理功能。
ZDO實際上是介于應用層端點和應用支持子層中間的端點,其主要功能集中在網絡管理和維護上。應用層的端點可以通過 ZDO提供的功能來獲取網絡或者是其他節點的信息,包括網絡的拓撲結構、其它幾點的網絡地址和狀態以及其他幾點的類型和提供的服務等信息。
1.4 zigbee網絡拓撲結構
zigbee網絡支持多種網絡拓撲結構,最典型的網絡結構是星型網絡的拓撲結構。對于星型網絡,由一個協調器和多個終端節點組成。在星型網絡中,所有的通信都是通過協調器轉發。這樣的網絡結構有三個缺點:一是會增加協調器的負載,對協調器的性能要求很高;二是協調協作都通過協調器轉發的話,會極大的增加系統的延時,使得系統的實時性受到影響;三是單一節點的破壞造成整個網絡的癱瘓,降低了網絡的魯棒性。
除了支持星型網絡以外,zigbee還支持樹狀(Tree)和網狀(Mesh)等對等網絡,如圖2-11。在對等網絡中,也存在一個PAN協調器(Coordinator),但是它已經不是網絡的主控制器,而是主要起到發起網絡和組網的作用。在對等網絡中,一個設備在另一設備的通信范圍之內,他們就可以互相通信。因此,對等網絡拓撲結構統一構成較為復雜的網絡結構。對等網絡拓撲結構主要在工業檢測和控制,無線傳感網絡,供應物資跟蹤,農業智能化以及安全監控方面都有廣泛的應用。在網絡中,各個設備之間發送消息時,使用了多跳傳輸,以增大網絡的覆蓋范圍。其中,組網的路由協議是采用了無線自組網按需平面距離矢量AODV路由協議(Ad Hoc On Demand Distance Vector Routing),無論是星型拓撲還是對等拓撲,每個獨立的PAN都有一個唯一的標志符PAN ID,用以同一個網絡之內節點的互相識別和通信。
非常好我支持^.^
(340) 76.1%
不好我反對
(107) 23.9%
相關閱讀:
- [物聯網] 物聯網網絡設計實用的步驟和見解 2023-10-23
- [電子說] 智能離線語音識別全屋智能語音控制方案 2023-10-23
- [電子說] 基于ZigBee技術的工業設備如何接入物聯網平臺 2023-10-21
- [電子說] TB-411-8A+高通濾波器產品概述 2023-10-20
- [電子說] 介紹一款高性能的Zigbee無線模塊--SUN-JN5169 Zigbee模塊 2023-10-19
- [電子說] 基于ZigBee網絡及WebOS云計算技術的智能家居安防系統設計案例 2023-10-18
- [電子說] 一覽IEEE 802協議,全方位比較Zigbee與WiFi協議 2023-10-16
- [電子說] 緊湊型Zigbee 3.0 USB適配器可供應商軟件系統配合使用 2023-10-12
( 發表人:龔婷 )