王雪
摘要:本文從學習實踐角度出發,分析了Zigbee無線通信協議的總體發展情況,指出了目前在Zigbee應用過程中出現的一些問題,設計了擺脫Z-Stack協議棧的裸機無線通信應用框架,編寫了關鍵發送模塊和接收模塊代碼示例,供廣大學習者參考使用。適合剛剛入門并有志學習Zigbee通信的開發者使用。
關鍵詞:Zigbee無線通信;信道;PANID
中圖分類號:TN925 文獻標識碼:A 文章編號:1007-9416(2018)06-0029-02
1 Zigbee概述
ZigBee[1](紫蜂協議)是一種基于IEEE802.15.4標準的無線通信協議,名稱來源于蜜蜂的八字舞。它最大的特點就是低功耗、可組網,特別是帶有路由的可組網功能,理論上可以使ZigBee覆蓋的通訊面積無限擴展,在工業控制、環境監測、智能家居、醫療護理、安全預警、目標追蹤等應用場合已經展現出廣闊的市場前景。
與藍牙、WLAN等無線通信技術相比,Zigbee網絡在結構上、功能上都更為強大和復雜,在應用開發過程中,需要植入協議棧來完成相關功能。CC2530芯片采用的協議棧Z-Stack采用分層結構,目的是為了使協議棧各層能夠獨立,每一層向上提供一些服務,在目錄結構中包括14個文件,需要配合操作系統抽象層(OSAL)才能夠運行。
2 存在的問題
在Zigbee的應用過程中,Z-Stack協議棧因其自身的復雜性,使得許多學習者在初期上手十分困難,對協議棧各層次及相關術語也比較陌生,致使學習效果不理想。鑒于這種情況,本文目的是在系統講解Z-Stack之前,先以裸機的方式實現射頻無線通信,從底層寄存器的使用層面來實現無線射頻通信,讓學習者有一個全面的感性認識,有利于理解和接受Z-Stack協議棧。
3 硬件結構
由發送端和接收端來組成,兩端的硬件結構相同,均為電源系統、時鐘系統、CC2530和天線構成,如圖1所示。
4 發送端設計
發送端工作流程,如圖2所示。
射頻初始化是無線通信的關鍵步驟,主要設置內容包括設置信道號、設置網絡PANID和網絡地址的設置。Zigbee無線通信,需要高頻的載波來提供發射效率,Zigbee模塊之間要可以正常的收發,接收模塊必須把接收頻率設置和發射模塊的載波頻率一致。Zigbee在2.4G頻段有16個信道可以進行通信,這些載波的頻率落在某些頻率區段,我們把這些區段叫做頻段。每個信道的頻率差是5MHz。從11號信道開始計數,信道排列如表1所示。
Zigbee在發送數據時,數組格式是相對固定的,第一個字節0x0C代表后面還有12個字節要發送;第5、6個字節表示的是PANID;第7、8個字節是無線模塊目標設備的網絡地址 0xBEEF;第9、10就是本地模塊的網絡地址;第11個字節是要發送的數據;第12、13個字節是CRC碼,硬件自動追加。
5 接收端設計
發送端工作流程,如圖3所示。
6 結語
本文以項目式的方法出發,以裸機運行的方式實現了Zigbee的無線射頻通信。并對主要的寄存器進行了配置示范。通過這樣的方式,讓初次接觸Zigbee的人們能夠直觀地感受到無線通信的實驗效果,并懂得底層硬件的工作原理,為日后Z-Stack協議棧的學習和理解打下堅實的基礎。
參考文獻
[1]杜軍朝,劉惠,劉傳益,馬海潮.Zigbee技術原理與實戰[M].北京:機械工業出版社,2017:1-4.
[2]廖建尚.物聯網平臺開發及應用—基于CC2530和ZigBee[M].北京:電子工業出版社,2016:19-23.
Abstract:This paper starts from the perspective of learning and practice, analyzes the overall development of Zigbee wireless communication protocol, points out some problems in the application process of Zigbee, designs a bare metal wireless communication application framework to get rid of the Z-Stack protocol stack, and writes Key send module and receive module code examples for reference by the majority of learners. Suitable for developers who are just getting started and interested in learning about Zigbee communications.
Key words:zigbee wireless communication; channel; PANID