1. 程式人生 > >Zigbee協議與開發-APL層解析

Zigbee協議與開發-APL層解析

APL層是最高層,由三部分組成:APS即應用支援層、ZDO及Application Framework框架。三者圖如下所示:

其中APS提供NWK與APL層的介面,APS同樣提供資料和管理兩種服務,分別由APSDE及APSME完成。而應用框架則是用於Host Application Objects(AO)的環境,應用物件AO一般由生產商開發,用於定製不同的應用。單一裝置中最多可以有240個AO。ZDO提供APS層與應用框架層間的介面,它也提供了Zigbee協調棧中所有應用可以使用的通用介面,比如通過ZDO可以配置節點成為協調器、路由器或者終端。

Application Framework

Zigbee支援利用Application Profiles來開發應用,每一個Profile由一個Profile ID來識別,只有供應商才能申請到一個16位的Profile ID。一個Profile結構如下:

ZDO

ZDO負責初始化APS,NWK及安全子層。類似於Application Profile,ZDO也有一個Profile,叫做Zigbee Device Profile。ZDP主要實現以下幾個功能:

1. Device & Service Discovery;

2. Binding Management

3. Networking Management

ZDO包括兩類物件:網路管理器和安全管理器。前者包括與網路相關的原語,如NLME。

 ZDO提供的服務由資料包中的ClusterID來指定,該值可以檢視Appendix B。

APS子層

該層資料格式如下:

而不同型別的APS,例如資料,命令及ACK格式如下,其中最重要的欄位是Cluster Identifier:

下面以路由器節點程式碼為例,啟動後會Sniffer到以下資料包:

從APS Cluster ID=0x0006可以看出,上述包是一個用於Match_Desc_req。