<var id="fnfpo"><source id="fnfpo"></source></var>
<rp id="fnfpo"></rp>

<em id="fnfpo"><object id="fnfpo"><input id="fnfpo"></input></object></em>
<em id="fnfpo"><acronym id="fnfpo"></acronym></em>
  • <th id="fnfpo"><track id="fnfpo"></track></th>
  • <progress id="fnfpo"><track id="fnfpo"></track></progress>
  • <tbody id="fnfpo"><pre id="fnfpo"></pre></tbody>

  • Zigbee技術規范與協議棧分析

    發布時間:2009-5-25 09:56    發布者:李寬
    關鍵詞: zigbee , 規范 , 技術 , 協議
         伴隨無線傳感器網絡的迅猛發展,Zigbee技術作為最近發展起來的一種短距離無線通信技術,以其低功耗、自組織、安全可靠、支持大量節點等優勢,被業界 認為是最有可能應用在工控場合的無線方式。到目前為止,節點已經應用于工業監控、智能家庭、安全醫療等多個領域,具有很大的發展空間。

        Zigbee協議棧(Z-STACK)作為Zigbee技術的核心,是開發802.15.4/Zigbee必須掌握的關鍵技術。協議棧發展至今已有四種版 本(見表1),盡管實現功能越發完善,但是并未移植標準的操作系統統一任務調度,嵌套相當復雜,而顯得源代碼的可讀性和可操作性較差,開發者在理解和實現 協議的過程中仍會遇到很多困難。本文通過對最典型的、起到承上啟下作用的Zigbee-2006協議棧的解讀,對協議程序的運行過程提供一種準確的解釋分 析,降低開發者的閱讀難度和工作量,為協議棧自身的發展、Zigbee設備的開發及應用的推廣提供強有力的技術支持。

     


    1 協議棧體系結構及規范
        Zigbee協議棧體系結構如圖1所示[1], 協議棧的層與層之間通過服務接入點(SAP)進行通信。SAP是某一特定層提供的服務與上層之間的接口。大多數層有兩個接口:數據實體接口和管理實體接 口。數據實體接口的目標是向上層提供所需的常規數據服務;管理實體接口的目標是向上層提供訪問內部層參數、配置和管理數據的服務[2]。

     


    1.1 物理層服務規范
        物理層通過射頻固件和硬件提供MAC層與物理無線信道之間的接口。從概念上說,物理層還應包括物理層管理實體(PLME),以提供調用物理層管理功能的管 理服務接口;同時PLME還負責維護物理層PAN信息庫(PHY PIB)。物理層通過物理層數據服務接入點(PD-SAP)提供物理層數據服務;通過物理層管理實體服務接入點(PLME-SAP)提供物理層管理服務。
    1.2 MAC層服務規范
        MAC層提供特定服務會聚子層(SSCS)和物理層之間的接口。從概念上說,MAC層還應包括MAC層管理實體(MLME),以提供調用MAC層管理功能 的管理服務接口;同時MLME還負責維護MAC PAN信息庫(MAC PIB)。MAC層通過MAC公共部分子層(MCPS)的數據SAP(MCPS-SAP)提供MAC數據服務;通過MLME-SAP提供MAC管理服務。 這兩種服務通過物理層PD-SAP和PLME-SAP提供了SSCS和PHY之間的接口。除了這些外部接口外,MCPS和MLME之間還隱含了一個內部接 口,用于MLME調用MAC數據服務。
    1.3 應用層規范
        Zigbee應用層包括APS子層、ZDO(包含ZDO管理平臺)和廠商定義的應用對象。應用支持子層(APS)提供了網絡層(NWK)和應用層 (APL)之間的接口,功能是通過ZDO和廠商定義的應用對象都可以使用的一組服務來實現。數據和管理實體分別由APSDE-SAP和APSME-SAP 提供。APSDE提供的數據傳輸服務在同一網絡的兩個或多個設備之間傳輸應用層PDU;APSME提供設備發現和綁定服務,并維護管理對象數據庫—— APS信息庫(AIB)。
    1.4 網絡層規范
        網絡層應提供保證IEEE 802.15.4 MAC層正確工作的能力并為應用層提供合適的服務接口。數據和管理實體分別由NLDE-SAP和NLME-SAP提供。具體來說,NLDE提供的服務:一 是在應用支持子層PDU基礎上添加適當的協議頭產生網絡協議數據單元(NPDU);二是根據路由拓撲,把NPDU發送到通信鏈路的目的地址設備或通信鏈路 的下一跳。而NLME提供的服務包括配置新設備、創建新網絡、設備請求加入/離開網絡和Zigbee協調器或路由器請求設備離開網絡、尋址、近鄰發現、路 由發現、接收控制等。網絡層的數據和管理服務由MCPS-SAP和MLME-SAP提供了應用層和MAC子層之間的接口。除了這些外部接口,在NWK內部 NLME和NLDE之間還有一個同隱含接口,允許NLME使用NWK數據服務。
    2 協議棧程序分析
    2.1 運行環境

        軟件環境:IAR 7.20、串口調試工具、數據分析儀以及各硬件驅動軟件等。
        硬件環境:PC(.NET 1.1 架構, Windows 98以上,1個串口,1個USB接口)、CC2430 ZigBee開發板(至少包括一個網絡協調器和一個終端設備,驗證階段可省略路由設備)等。
    2.2 程序流程
        將各開發板與PC正確連接,運行各軟件,當程序燒至開發板后,啟動即調用主函數ZSEG int main( void )。主函數的主要工作流程如圖2所示。需要注意的是,Zigbee協議棧的精華在于操作系統OSAL的任務調度,因此,在進入主循環處理函數之前的準備工 作中,操作系統的初始化尤為重要。osalTaskInit()、osalAddTasks()、osalInitTasks()三個函數的調用構成了協 議棧的七大任務列表,其具體實現結果如圖3。

     

     


        進入主循環處理函數以后,始終周期掃描此任務列表,這7個任務由taskID和taskPriority來決定掃描和處理順序。在循環掃描的過程中,數據 的傳輸使用直接存取(DMA)控制器進行操作,可以減輕8051CPU核傳送數據時的負擔,實現CC2430在高效利用電源條件下得高性能,其操作流程如 圖4所示。

     


        作為協調器,如果程序使用了串口調試助手,則DMA將上位機的數據按照一個字節波特率加一個字節數據的形式組裝到cfg->rxBuf中供其他函數 調用,并且通過回調函數SPIMgr_ProcessZToolData ( uint8 port, uint8 event )將任務的ID和強制事件發送到任務列表中,供主循環處理函數掃描;作為終端節點和路由設備,無法使用串口調試助手,則通過回調函數 SPIMgr_ProcessZAppData ( uint8 port, uint8 event ) 將任務的ID和強制事件發送到任務列表中。當掃描至參數events=1,則進入相應層的處理程序進行任務ID和events的約定比對,完成相應的功 能,具體流程如圖5所示。

     


    2.3 組網
        利用數據分析儀[3]記錄監控協調器與終端設備的組網過程如圖6所示。

     


        首先,Zigbee協調器上電以后,不斷周期發送空的數據包,在允許的通道內搜索其他的Zigbee協調器,并基于每個允許通道中所檢測到的通道能量及網絡號,選擇惟一的16位PAN ID,建立自己的網絡[4]。 一旦一個新網絡被建立,Zigbee路由器與終端設備就可以加入到網絡中了。而終端設備上電以后,重復發送信標請求,要求加入到最近的網絡中。當協調器發 現終端設備發出的信標請求,則響應一個超幀結構,用于設備間的同步,一旦同步成功,則實現圖5中的關聯過程,由終端設備向協調器發送關聯請求,協調器同意 則回應終端設備并自動分配16位的短地址,至此,兩者組網成功。
        網絡形成后,可能會出現網絡重疊及PAN ID沖突的現象。協調器可以初始化PAN ID沖突解決程序,改變一個協調器的PAN ID與信道,同時相應修改其所有的子設備。通常,Zigbee設備會將網絡中其他節點信息存儲在一個非易失性的存儲空間——鄰居表中。加電后,若子設備曾 加入過網絡,則該設備會執行孤兒通知程序來鎖定先前加入的網絡。接收到孤兒通知的設備檢查它的鄰居表,并確定設備是否是它的子,若是,設備會通知子設備它 在網絡中的位置,否則子設備將作為一個新設備來加入網絡。而后,該子設備將產生一個潛在雙親表,并盡量以合適的深度加入到現存的網絡中[5]。
        通常,設備檢測通道能量所花費的時間與每個通道可利用的網絡可通過ScanDuration 掃描持續參數來確定,一般設備要花費1 min的時間來執行一個掃描請求,對于Zigbee路由器與終端設備來說,只需要執行一次掃描即可確定加入的網絡。而協調器則需要掃描兩次,一次采樣通道 能量,另一次則用于確定存在的網絡。
        限于篇幅,本文沒有列出各種幀結構以及消息的處理過程,對于Zigbee協議的具體應用即是對數據包的封裝與分解,這些分析、學習對于編寫上位機軟件,開 發通過Zigbee協議與上位機進行交互的輕量級的現場設備,都是有意義的。已經據此以C++開發出用戶自定義的上位機程序,實現對傳感器數據的監視和現 場采集、數據庫入庫、趨勢圖等功能。
    參考文獻
    [1] ZigBee Alliance. ZigBee Document 053474r13 [S]. December 1, 2006
    [2] Zheng JianLiang, Lee Myung. A Comprehensive Performance Study of IEEE 802.15.4[M]. IEEE Press Book,2004.
    [3] Chipcon, Packet Sniffer for IEEE802. 15. 4 and Zigbee [S]. User Manual. Oslo, Norway, Oct. 2004.
    [4] KINNEY P. Zigbee Technology :Wireless Control that Simply Works [S] . Zigbee Alliance ,Oct . 2004.
    [5] Zigbee Alliance. Network Specification (Draft Version 1.0) [S] . 2004.

    本文地址:http://www.portaltwn.com/thread-2667-1-1.html     【打印本頁】

    本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
    daniel2liu 發表于 2010-9-12 15:23:48
    很厲害的
    stevenh 發表于 2011-1-29 22:16:32
    謝謝分享 !
    hominidclint 發表于 2011-2-28 09:21:32
    kan kan
    linkai_joseph 發表于 2011-4-7 11:45:00
    kankan
    liqixiao 發表于 2011-8-17 23:40:38
    很不錯
    liuguochao 發表于 2011-11-4 18:13:03
    好!
    yhchu 發表于 2014-5-30 12:35:29
    很厲害的,謝謝分享
    lhxzui 發表于 2015-1-16 16:22:03
    謝謝分享。                        
    您需要登錄后才可以發表評論 登錄 | 立即注冊

    廠商推薦

    • Microchip視頻專區
    • Dev Tool Bits——使用MPLAB® Discover瀏覽資源
    • Dev Tool Bits——使用條件軟件斷點宏來節省時間和空間
    • Dev Tool Bits——使用DVRT協議查看項目中的數據
    • Dev Tool Bits——使用MPLAB® Data Visualizer進行功率監視
    • 貿澤電子(Mouser)專區

    相關視頻

    關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
    電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
    快速回復 返回頂部 返回列表
    精品一区二区三区自拍图片区_国产成人亚洲精品_亚洲Va欧美va国产综合888_久久亚洲国产精品五月天婷