大连海洋大学本科毕业论文(设计) 第二章 Zigbee技术 2.4 原语概念
从上面的介绍中,我们不难得知Zigbee设备在工作时,各种不同的任务在不同的层次上执行。通过层的服务,完成所要执行的任务。每一层的服务主要完成两种功能:根据它的下层服务请求,为上层提供相应的服务;另一种是根据上层的服务请求,对它的下层提供相应的服务。各项服务通过服务原语来实现。图2描述了原语基本概念:在一个具有N个用户的网络中,两个对等用户以及它们与M层(或子层)对等协议实体间建立起连接的服务原语。
服务用户(N1-User) 服务提供者 (M-layer)
服务用户(N2-User) 请求 指示 确认 响应
图2 服务原语
服务是由N用户和M层之间信息流的描述来指定的。该信息流由离散的瞬时事件构成,以提供服务为特征。每个事件由服务原语组成,它将在一个用户的某一层,并通过该层的服务接入点(SAP)与建立对等连接的用户的相同层之间传送。服务原语通过提供一种特定的服务来传输必需的信息。这些服务原语是一个抽象的概念,它们仅仅指出提供的服务内容,而没有指出由谁来提供这些服务。它的定义与其他任何接口的实现无关。由代表其特点的服务原语和参数的描述来指定一种服务。一种服务可能有一个或多个相关的原语,这些原语构成了与具体服务相关的执行命令。每种服务原语提供服务时,根据具体的服务类型,可能不带有传输信息参数,也可能带有多个必须传输信息参数。
原语通常分为如下4种类型:
(1)请求原语(request):请求原语是从第N1用户发送到它的第M层,请求服务开始。
(2)指示原语(indication):指示原语是从第N1用户的第M层向第N2用户发送,指出对于第N2用户有重要意义的内部M层的事件。该事件可能与一个遥远的服务有关,或者可能是由一个M层的内部事件引起。
(3)响应原语(response):响应原语是从第N2用户向它的第M层发送,用来表示对用户执行上一条原语调用过程的响应。
(4)确认原语(confirm):确认原语是由第M层向第N1用户发送,用来传送一个或多个前面服务请求原语的执行结果。
2.5 Zigbee网络数据传递机制
7
大连海洋大学本科毕业论文(设计) 第二章 Zigbee技术 2.5.1网络寻址规定
无线网络中的数据包不但要有合乎规定的数据格式,还应该有规定的传播方式。这也就是被传输数据中所包含的目的地址设置方式。如果没有统一的寻址规定将导致网络上数据包发送和接收的混乱。
在Zigbee/IEEE802.15.4中有三种形式的数据传播方式,单播(unicast),广播(broadcast)和组播(multicast)三种。
单播(unicast)方式,在unicast寻址的数据包中,该帧的目标地址出现在数据包的MAC层头部信息中。unicast寻址指定了目标节点的地址,即目标节点是被确定的唯一节点。单播数据过程中可以采用两种数据单播方式:直接消息传输和间接消息传输。在直接消息传输模式下,当前节点已知目的节点地址也即消息中包含目的节点的地址。而网络中消息的传递就是基于该地址来进行传输的;在间接消息传输模式下,当前转发节点对初始转发的消息目的地址是未知的,但该消息包含了其源地址、端点及中心节点(协调器)群集D,然后使用该源地址/端点通过查找中心节点内的绑定表以获取该消息的目的地址/端点。由此可见间接消息的传递必须经过中心节点即协调器。
广播(broadcast)方式[4],在广播数据帧初始阶段中,首先将APS层数据帧中的目的地址初始化为0xffff,然后通过NWK层将MAC层的目的地址设置成0xffff。这样网络中任何处于接收使能状态的射频收发芯片都会接收该帧。在Zigbee网络中,广播业务的发起者会将广播帧传给它所有的邻居,并且在其邻居中拥有广播功能的节点将复制该广播帧,同时该广播帧传给自己的其他邻居。在广播数据帧的过程中采用了一种叫被动应答(passive-acknowledge)数据传输机制。也即具有广播能力的设备在转发广播帧的同时必须向广播发起者回复应答。该机制能够确保路由器或协调器的邻居是否转发了广播帧。
组播(multicast)方式,组播数据传输也即多点对多点的数据传输,组播方式采用16位的组代码寻址,对于组播消息,具有相同组播的所有成员设备均能接收到该组播消息。组播包含两种传播模式:成员模式与非成员模式,由组播数据帧模式标志位来区分。成员模式即组成员与组成员设备间的数据传输,非成员模式即非组成员与组成员设备问的数据传输。在目的组成员之间进行的组播传送均为成员模式。组播方式仅用于数据帧的传输而不用于命令帧的传输。
在IEEE802.15.4标准中网络寻址规定定义了两种地址模式:长地址模式,即64位的网络地址,该地址具有全球唯一性;短地址模式,即是16位的网络地址,该地址用于区域网内部通信以减少数据包的负载长度,节省传输带宽。单播、广播以及组播数据过程中均采用短地址模式。同时在MSSTATE_LRWPAN协议栈中数据传递采用的寻址方式也为单播寻址,采用的地址模式为16位短地址模式。
2.5.2网络中的数据传递机制
传输数据到终端设备和从终端设备传输数据的机制随网络类型不同而不同。在无信标的星形网络中,当终端设备想要发送数据帧时,它只需等待信道变为空闲。在检测到空闲信道条件时,它将数据帧发送到协调器。如果协调器想要将此数据发送到终端设备,它会将数据帧保存在其发
8
大连海洋大学本科毕业论文(设计) 第二章 Zigbee技术 送缓冲器中,直到目标终端设备明确地来查询该数据为止。此方法确保终端设备的接收器是被开启的,而且可从协调器接收数据。
在点对点网络中,每个节点必须一直保持它们的接收器为开启状态或者同意在一个时间段内开启它们的接收器。这将允许节点发送数据帧并确保数据帧会被其它节点接收。终端设备必须查询协调器以获取其数据,而不是保持接收器开启,从而允许终端设备降低其功耗要求。根据应用的要求,在绝大部分时间内终端设备都处于休眠状态,而仅定期地唤醒设备来发送或接收数据。此方法的一个缺点就是协调器必须将所有数据帧保存在内部缓冲器中,直到目标终端设备唤醒并查询数据。如果网络包含很多休眠时间很长的终端设备,协调器就必须将数据帧保存很长时间。根据节点的数量和交换数据帧的速率,这将大幅增加协调器对RAM的需求。协调器可以根据终端设备的设备描述符有选择地决定将一个特定的数据帧保持一段长时间或短时间。
根据Zigbee规范及实际的应用,我们将消息数据传递方式分为直接消息传输与间接消息传输。在直接消息传输中,节点知道目的节点短地址,也即节点消息中指定了目的节点地址,并且带路由器的网络根据该目的地址来传递消息。在间接消息传输中,节点不知道消息的目的地址,但是节点消息中包含有标识中心节点(协调器节点)的源地址、源端点、CID,根据该标识通过绑定表来查找目的地址,以此来向目的地传递控制消息。举例来说,这就允许通过绑定的形式来建立灯与开关之间的逻辑连接,采用开关来控制灯。通过修改绑定表,协调器可以改变灯与开关之间的逻辑连接也即控制关系,这样开关可以与节点中的多个端点(灯)建立逻辑连接,也即一个开关可以控制多个灯。
在MSSTATE–RWPAN协议栈中,协调器完成所有绑定关系的处理,这样树型网络中节点产生的任何间接消息总是先传递给协调器节点,然后协调器节点再根据绑定表将该消息转发到其预定的目标节点上。再需要注意的一点是在节点入网之后以及发送间接消息之前,节点必须执行节点信息通告过程,以通知协调器节点说明该节点已经加入网络,以及确保协调器节点为该入网节点在地址映射表中建立其长地址与短地址的地址映射表项。当然如果RFD本身就是协调器节点的直接邻居,由于协调器节点中已经存在该RFD节点的地址映射表项,所以该RFD不需要执行节点通告过程,除此之外所有的其它节点必须执行该通告过程。另外,对于不是采用间接消息机制进行数据传输的节点也不用执行该节点入网通告过程。
9
大连海洋大学本科毕业论文(设计) 第三章 Zigbee传感器自组织网络节点通信 第三章 Zigbee传感器自组织网络节点通信
3.1 Zigbee自组织网络优点
在自组织Zigbee网络中[5][6],每个节点只和其临近的节点通信,从一个节点发出的数据包将根据相关协议的配置通过多跳传递方式到达目的节点,这种结构与传统网络结构相比具有较多的优势:可靠性提高,冲突减轻,维护方便,具有自组织性,多跳通信,动态性等等。自组织Zigbee网络[7]具有一定的动态性,网络中的传感器、感知对象和观察者这三要素都可能具有移动性,并且经常有新节点加入或已有节点失效。因此网络的拓扑结构会经常动态变化,传感器、感知对象和观察者三者之间的路径也随之变化,另外无线传感器网络必须具有可重构性和自调整性。网络中节点通信距离有限,一般在几百米范围内。如果希望与其射频覆盖范围之外的节点进行通信[8],则需要通过中间节点进行路由。固定网络的多跳路由使用网关和路由器来实现,而无线传感器网络中的多跳路由是由普通网络节点完成的,没有专门的路由设备。
3.2 Zigbee自组织网络多跳路由通信流程
Zigbee网络含三种类型的节点,即协调器ZC(Zigbee Coordinator)、路由器ZR(Zigbee Router)和终端设备ZE(Zigbee End Device),其中协调器和路由器均为全功能设备(FFD),而终端设备选用精简功能设备(RFD)。
网关:完成通过计算机发送的指令发送或接收路由节点或者传感器节点数据,并将接收到的数据发送给计算机。
协调器:一个Zigbee[7]网络仅有一个协调器,该设备负责启动网络,配置网络成员地址,维护网络,维护节点的绑定关系表等,需要最多的存储空间和计算能力。
路由器:主要实现扩展网络及路由消息的功能,扩展网络,即作为网络中潜在的父节点,在网关不能和所有的终端节点通信时,允许更多的设备接入网络,路由节点作为一种中介使网关和传感器节点通信,实现路由通信功能[9],同时路由器具有采集传感器数据功能。路由节点只有在树状网络和网状网络中存在。
终端设备:不具备成为父节点或路由器的能力,一般作为网络的边缘设备,负责与实际的监控对象相连,这种设备只与自己的父节点主动通讯[10],具体的信息路由则全部交由其父节点及网络中具有路由功能的协调器和路由器完成。不含网关的网络示意图如图3。
图3 自组织Zigbee网络简略
10
大连海洋大学本科毕业论文(设计) 第三章 Zigbee传感器自组织网络节点通信 网络节点组件—PAN协调器:系统每个WSN均有一个PAN协调器,允许连接所有其他形式的Zigbee器件以形成网络。
路由器:路由数据;允许终端设备与其他路由器自动接入。
终端设备:连接到协调器或路由器,仅将数据发送至相关的器件,不能由其他器件自动加入,不发送数据。
(1)网络形成和节点应用绑定:建立协调器P并上电,启动网络。路由设备分别为:R1,R2,R3,R4,R5,R6。终端设备对应为:P1,P2?Pn;R11,R12?R1n;R21,R22?R2n;R31,R32?R3n;R41,R42?R4n;R51,R52?R5n;R61,R62?R6n,(n<=255)。协调器发送信标,组建网络,并将P绑定至R3,见图4;将R1绑定至R2,见图5。
R4n P1 P2 P2 Pn R2n R42 R4 R41 P R2 R22 R21 R1n R1 R12 R5 R3 R6 R51 R52 R5n R11 R3n R61 R32 R31 R6n R62
图4 网络形成
11