Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1919779
  • 博文数量: 376
  • 博客积分: 2147
  • 博客等级: 大尉
  • 技术积分: 3642
  • 用 户 组: 普通用户
  • 注册时间: 2012-02-06 10:47
文章分类

全部博文(376)

文章存档

2019年(3)

2017年(28)

2016年(15)

2015年(17)

2014年(182)

2013年(16)

2012年(115)

我的朋友

分类: 嵌入式

2014-06-28 18:17:53

原文地址:Z-Stack中的消息类型 作者:frankzfz

KVP: Key-value pair (键值对)
MSG Message service type(报文)
这两种数据传输格式都是在应用支持子层定义。AF层。
         KVP:是ZigBee 规范定义的特殊数据传输机制,它定义了属性(attribute)、属性值(value)以及用于KVP操作的命令:set,Get,Event.其中Set用于设置一个属性值,Get用于获取一个属性值,Event用于通知一个属性已经发生改变 通过一种规定来标准化数据传输格式和内容,主要用于传输较简单的变量值格式。
         MSG:是ZigBee 规范定义的特殊数据传输机制, 其在数据传输格式和内容上并不作更多规定,主要用于专用的数据流或文件数据等数据量较大的传输机制。
通信中传输的一帧应包括帧头、数据内容、帧尾,而所说的KVP是数据内容的一种格式。数据内容的格式目前有两种,一种是KVP,另外是MSG,因而不能把KVP看成是通信中的一帧。
    帧是一种载体,而KVPMSG是通讯中的两种数据格式。如果将侦比作一封邮件,那么信封、邮票、地址人名等信息都是侦头、侦尾,里面的信件内容就是特定的数据格式KVPMSG
KVP命令帧的格式如表所示:
位:4
4
16
0/8
可变
命令类型标识符
属性数据类型
属性标识符
错误代码
属性数据
 
MSG命令帧格式:
位:8
可变
事务长度
事务数据

    在ZigBee协议栈中,任何通信数据都是利用帧格式来组织的,协议栈的每一层都有特定的帧结构,当应用层程序需要发送数据时,它将通过APS数据实体发送数据请求到APS,随后在它下面的第一层都会为数据附加相应的帧头,组成要发送的帧信息,其帧结构之间的关系如下图:

 

阅读(667) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~