各层帧结构的构成
在ZigBee协议栈中,任何通信数据都是利用帧的格式来组织的。协议栈的每一层都有特定的帧结构。
AF层: KVP命令帧
MSG命令帧 (具体参见下面分析)
APS层: 数据帧
应答帧
APS命令帧
NWK层: 数据帧
NWK命令帧
MAC层: 信标帧
数据帧
应答帧
MAC命令帧
PHY层: MPDU作为PSDU,再加上SHR,PHR成为PPDU,这个PPDU就可以在空中传播了。
对于APS,NWK,MAC层的各种帧参见《zigbee技术基础及案例分析》;
记录下个人对AF层的KVP和MSG的理解:
AF定义了两种帧类型:
键值对 (Key Value Pair,KVP)
报文 (Message,MSG)
KVP服务促使一个应用来处理属性,它由应用剖面定义,属性有一个指定者(KEY)和一个相应的值,它可使用命令进行请示或设置。用于传输规范所定义的特殊数据。它定义了属性(Attribute)、属性值(Value)以及用于KVP操作的命令:Set、Get、Event。其中Set用于设置一个属性值,Get用于获取一个属性的值,Event用于通知一个属性已经发生改变。KVP消息主要用于传输一些较为简单的变量格式。
由于ZigBee的很多应用领域中的消息较为复杂并不适用于KVP格式,因此ZigBee协议规范定义了MSG服务类型。MSG服务促使一个应用剖面用自由形式的帧格式工作,它由自己的应用剖面定义,对数据格式不作要求,适合任何格式的数据传输。因此可以用于传送数据量大的消息。
说明:本文作者所记录,错误处还请高手指点,本人随时更新,转载请注明出处。
具体内部各结构以及传输流程尚不清楚,以后再作详细分析。
参考资料:《zigbee技术基础及案例分析》;闫前辈的《zigbee协议栈分析》;