ZigBee協議棧Zstack介紹
文中所講述的協議棧是基於ZigBee2006\Zstack-1.4.3-1.2.1
1.ZSTACK協議棧的架構
ZigBee協議棧就是將各個層定義的協議都集合在一起,以函式的形式實現,並給使用者提供一些API,工使用者呼叫。協議棧體系分層結構與協議棧程式碼資料夾對應表如下:
整個協議棧的架構,如圖所示:
APP:應用層目錄,這是使用者建立各種不同工程的區域,在這個目錄中包含了應用層的內容和這個專案的主要內容,在協議棧裡面一般是以作業系統的任務實現的。
HAL:硬體層目錄,包含有與硬體相關的配置和驅動及操作函式。
MAC:MAC層目錄,包含了MAC層的引數配置檔案及其MAC的LIB庫的函式介面檔案。
MT:監控除錯層,主要用於除錯目的的,即實現通過串列埠除錯各層,與各層進行直接互動。
NWK:網路層目錄,涵網路層配置引數檔案及網路層庫的函式介面檔案,APS層庫的函式介面。
OSAL:協議棧的作業系統。
Profile:AF層目錄,包含AF層處理函式檔案。
Security:安全層目錄,安全層處理函式介面檔案,比如加密函式等。
Services:地址處理函式目錄,包括著地址模式的定義及地址處理函式。
Tools:工程配置目錄,包括空間劃分和Zstack相關的配置資訊。
ZDO:ZDO目錄。
ZMac:MAC層目錄,包括MAC層引數配置及MAC層LIB庫函式回撥處理函式。
ZMain:主函式目錄,包括入口函式main()及硬體配置檔案。
Output:輸出檔案目錄層,這個EW8051 IDE自主設計的。
2、ZigBee2006協議棧原始碼庫結構分析
瞭解了ZigBee2006協議棧整個結構後,再來看看協議棧原始碼結構庫是什麼樣的,各層的具體檔案是什麼,簡歷不同的專案、新增自己的應用層任務及處理函式需要修改什麼檔案。
ZigBee2006協議棧ZStack-1.5.2檔案目錄及說明如下:
開啟SmapleAPP專案工程
先看APP層:
從上圖可以看出,對於不公的專案,大部分的程式碼都是相同的,只是在使用者應用層,新增了不同的任務及事件處理函式。因此一般情況下,使用者只需要額外新增上圖中的三個檔案(主檔案、標頭檔案、作業系統介面檔案)就可以完成一個專案,然後編寫自己的額任務處理函式就可以了。
HAL層目錄:
Common目錄下的檔案是公用檔案,基本上與硬體無關,hal_assert.c檔案是斷言檔案,用於除錯,hal_drivers.c是驅動檔案,抽象出於硬體無關的驅動函式,包含有與硬體相關的配置和驅動及操作函式。Include目錄下主要包含各個硬體模組的標頭檔案,Target目錄下的檔案是跟硬體平臺相關的,可以看到有兩個平臺,其中我們正在用的是CC2430EB平臺。
MAC層目錄:
MAC分為高層和低層,Include目錄下包含了MAC層的引數配置檔案及LIB庫的函式介面檔案。
其中Zmac.c是ZStack MAC層介面檔案,Zmac_cb.c是ZMAC需要呼叫的網路層函式。
ZMain目錄:
Z-Stack有main()函式開始執行,main()中Zmain.c中該函式共做了兩件事:一是系統初始化,另外是開始執行輪訓查詢式作業系統,OnBoard.c中包含了對硬體開發平臺各類外設進行控制的介面函式。
相關文章
- ZigBee ZStack 協議棧學習--架構分析篇協議架構
- zstack協議棧協議
- 【無線通訊篇 | Zstack協議棧】CC2530 Zigbee Zstack協議棧組網專案及詳細講解篇協議
- 1、zstack協議棧協議
- 【Zigbee精華教程02】一圖讀懂ZStack協議棧的核心思想與工作機理協議
- CC2530 ZigBee協議棧 學習心得協議
- zigbee 介紹
- zigbee協議棧OSAL執行原理-----個人理解協議
- 06、HSMS協議介紹協議
- zigbee協議的缺點 zigbee的主要應用領域協議
- 19_MQTT協議介紹MQQT協議
- WebSocket協議入門介紹Web協議
- ARP協議介紹與ARP協議的攻擊手法協議
- 檔案傳輸協議介紹協議
- 前端基礎之HTTP協議介紹前端HTTP協議
- 伺服器傳輸協議介紹伺服器協議
- PHP phar:協議物件注入技術介紹PHP協議物件
- WiFi協議的調製技術介紹WiFi協議
- 10.redis cluster介紹與gossip協議RedisGo協議
- 開源軟體許可協議介紹協議
- Python教程之udp和tcp協議介紹PythonUDPTCP協議
- 【雲隱】TI CC2530 Zigbee協議棧開發的七大深坑,歡迎來跨~協議
- 【譯】WebSocket協議第一章——介紹(Introduction)Web協議
- 開源≠免費 常見開源協議介紹協議
- HTTP 協議簡介HTTP協議
- cdp協議簡介協議
- Http協議簡介HTTP協議
- 五層因特網協議棧協議
- [計算機網路]協議棧計算機網路協議
- 實用TCP協議(1):TCP 協議簡介TCP協議
- HTTP協議是如何執行的?海外代理IP原理介紹HTTP協議
- SOFAMesh中的多協議通用解決方案x-protocol介紹系列(3)——TCP協議擴充套件協議ProtocolTCP套件
- Linux TCP/IP協議棧全過程LinuxTCP協議
- ET介紹——CSharp協程CSharp
- 物聯網實驗2 協議棧剖析協議
- TCP/TP協議棧(逐漸更新版)TCP協議
- 好程式設計師Python培訓分享udp和tcp協議介紹程式設計師PythonUDPTCP協議
- 基於隱私保護技術的DNS通訊協議介紹DNS協議
- 直播賣貨系統,全面的流媒體傳輸協議介紹協議