数据来源:http://www.51zigbee.com/
间接数据传输和 间接寻址 二者有什么区别和联系?
间接数据传输
是MAC层的概念,如果Coordinator要给EndDevice发数据包,但是EndDevice有可能正在休眠,RX没有打开,所以Coordinator不能直接发,只能采用间接数据传输,就是将数据放进自己的间接传输队列里,等待EndDevice睡醒了自己过来取!
间接寻址
间接寻址是APS层的概念,指的是一个简单的设备,资源特别有限,它要发包时,甚至不知道这个包要发给谁,只有闷着头发给Coordinator,由Coordinator根据绑定表再去决定这个包发给谁。比如遥控器发送一个命令去开关电灯,它发出时,它不知道这个命令会去控制那些电灯,而由Coordinator的绑定表决定这个命令最终去控制了哪些电灯。
Profile
Profile: a collection of device des criptions,which together form a cooperative application
规范:就是为了多个设备,各种厂家的设备,可以互连,互通,而制定的约束。
例如:远程控制开关规范
Cluster
Cluster:is a container for one or more attributes
Attribute: a data entity which represents a physical quantity or state
在许多中文资料里把它翻译成“簇”。
例如:
颜色:就是cluster
红,白,清,蓝,紫,黑:就是attributes
也可以,这样理解,温度就是cluster,温度值,具体的就是attributes。
在通信时,首先基于温度,这个cluster,这个属性来进行通信,具体传输的就是温度值这个属性。
从颜色的例子,就可以好理解,为什么一个cluster里,有多个attributes。
Identifier
简称:ID,可以理解为“标识符”
就是具体某一项东西的一个代号
就好像一个具体的人,要给它起个名字,有一个身份证号,这个身份证号就是ID
帧类型
总的帧类型,有两种,分别为:KVP 和 MSG
KVP: key-value pair (键值对)
MSG:Message service type (报文)
定义的两种传输数据的帧格式,前一种帧有严格的传输格式,每次传输的都是固定长度的内容,后者对格式要求不严格,可以说是相当自由,只要不超过最大帧长度就可以了。
Binding
绑定:
Binding:the creation of a unidirectional logical link between a source endpoint/cluster identifier pair and a destination endpoint, which may exist on one or more devices
End device binding: the proceduce for creating or removing a binding link initiated by each of the end devices that will form the link.The proceduce may or may not involve user intervention
原语
原语是层与层之间信息交互的接口,交互的信息就是原语的参数!原语只有四种类型:Request,Confirm,Indication,Response,其中Request和Response是从上层到下层的,Confirm和Indication是从下层到上层的!
举例:假如上层请求下层打开接收机,给下层一个request,下层完成请求的功能后,给上层一个Confirm,告诉上层正确完成了,或者出什么错了;
假如上层请求下层发送数据到Remote端,给下层一个数据发送的request,下层完成数据发送任备后,给上层一个Confirm告诉上层结果;在对端,对应的下层收到数据后,需要通过indication把收到的数据传给上层!
假如节点A要请求节点B的对等层的一个服务,给自己下层一个请求,下层将信息发送到节点B的对等层之后,节点B的下层用indication告诉上层,上层做出影响后,用Response给到下层,节点B再发送到节点A的对等层,节点A的下层再用confirm原语要得到的信息返回给上层!
MAC层帧结构
MAC层帧结构的设计目标是用最低复杂度实现在多噪声无线信道环境下的数据传输。每个MAC
子层的帧都由帧头、负载和帧尾三部分组成。帧头由帧控制信息、帧序列号和地址信息组成。MAC
子层负载具有可变长度,具体内容由帧类型决定。帧尾是帧头和负载数据的16位CRC校验序列。
在MAC子层中,节点地址有两种格式:16位(两个字节)的短地址和64位(8个字节)的扩展地
址。16位短地址是节点与PAN网络协调者关联时,由协调者分配的网内局部地址;64位扩展地址是
全球惟一地址,在节点进入网络之前就分配好了。16位短地址只能保证在PAN网络内部是惟一的,
所以在使用16位短地址通信时需要结合16位的PAN网络标识符才有意义。两种地址类型的地址信息
的长度是不同的,从而导致MAC帧头的长度也是可变的。一个数据帧使用哪种地址类型由帧控制字
段的内容指示。在帧结构中没有表示帧长度的字段,这是因为在物理层的帧里面有表示MAC帧长度
的字段,MAC负载长度可以通过物理层帧长和MAC帧头的长度计算出来。
IEEE 802.15.4网络共定义了四种类型的帧:信标帧,数据帧,确认帧和MAC命令帧。
(1)信标帧
信标帧的负载数据单元由四部分组成:超帧描述字段、GTS分配字段、待转发数据目标地址字
段和信标帧负载数据。
★信标帧中超帧描述字段规定了这个超帧的持续时间,活跃部分持续时间以及竞争访问时段持
续时间等信息。
★GTS分配字段将无竞争时段划分为若干个GTS,并把每个GTS具体分配给了某个节点。
★转发数据目标地址列出了与协调者保存的数据相对应的节点地址。一个节点如果发现自己的
地址出现在待转发数据目标地址字段里,则意味着协调者存有属于它的数据,所以它就会向协调者
发出请求传送数据的MAC命令帧。
★信标帧负载数据为上层协议提供数据传输接口。例如在使用安全机制的时候,这个负载域将
根据被通信节点设定的安全通信协议填入相应的信息。通常情况下,这个字段可以忽略。
在信标不使能网络里,协调者在其他节点的请求下也会发送信标帧。此时信标帧的功能是辅助协调
者向节点传输数据,整个帧只有待转发数据目标地址字段有意义。
(2)数据帧
数据帧用来传输上层发到MAC子层的数据,它的负载字段包含了上层需要传送的数据。数据负
载传送至MAC子层时,被称为MAC服务数据单元。它的首尾被分别附加了MHR头信息和MFR尾信
息后,就构成了MAC帧,如图3-7所示。
MAC帧传送至物理层后,就成为了物理帧的负载PSDU。PSDU在物理层被“包装”,其首部增
加了同步信息SHR和帧长度字段PHR字段。同步信息SHR包括用于同步的前导码和SFD字段,它们都
是固定值。帧长度字段的PHR标识了MAC帧的长度,为一个字节长而且只有其中的低7位有效位,
所以MAC帧的长度不会超过127个字节。
(3)确认帧
如果节点收到目的地址为其自身的数据帧或MAC命令帧,并且帧的控制信息字段的确认请求位
被置1,节点需要回应一个确认帧。确认帧的序列号应该与被确认帧的序列号相同,并且负载长度应
该为零。确认帧紧接着被确认帧发送,不需要使用CSMA-CA机制竞争信道。
(4)命令帧
MAC命令帧用于组建PAN网络,传输同步数据等。目前定义好的命令帧主要完成三方面的功能:
把节点关联到PAN网络,与协调者交换数据,分配GTS。命令帧在格式上和其他类型的帧没有太多
的区别,只是帧控制字段的帧类型位有所不同。帧头的帧控制字段的帧类型为011B(B表示二进制
数据)表示这是一个命令帧。命令帧的具体功能由帧的负载数据表示。负载数据是一个变长结构,
所有命令帧负载的第一个字节是命令类型字节,后面的数据针对不同的命令类型有不同的含义。
文章评论(0条评论)
登录后参与讨论