15.4部分:用于低速无线个域网(WPANs)的无线媒体接入控制(MAC)和物理层(PHY)规范 IEEE Std 802.15.4-2006(2003的修订版)

介绍

本标准定义在个域网(PAN)中通过无线通信进行设备互联和协议。标准采用CSMA-CA的媒体接入机制,并且支持星型以及点到点的拓扑结构。采用基于竞争的媒体接入方式,但是采用可选的超帧结构,PAN协调器可以分配时隙给时间严格的设备。通过PAN协调器可以将个域网连接到更高性能的网络。

本次修订新引入一些额外的特征和增强,并且也对2003版本进行了一些简化。本标准现在包含两个可选的物理层(可以在低频段实现更高的通信速率),因此具有有以下四个物理层(PHYs):

  • 868/915MHz直接序列扩频(DSSS),移相键控调制(BPSK)的物理层
  • 868/915MHz DSSS,正交移相键控(O-QPSK)调制的物理层
  • 968/915MHz 并行序列扩频(PSSS),采用BPSK和幅移键控(ASK)调制的物理层
  • 2450MHz DSSS,O-QPSK调制的物理层。

868/915MHz PHYs支持空中速率为20kb/s,40kb/s和可选的100kb/s和250kb/s。2450MHz物理层支持速率为250kb/s。物理层的选择主要基于本地的法规和用户偏好。 本修订相对于2003版也进行了增加和加强:

  • 通过增加数据时间戳机制来提供一个共享时基
  • 在低频段具有更高地通信速率
  • 引入一个机制用于和修订水平进行通信
  • 增加beacon调度支持
  • 允许在beacon-enabled PAN中和广播消息进行同步
  • 提高安全工具的使用

此外,本修订还包含以下的改变和简化:

  • 使GTS支持变为可选
  • 去掉对接受者进行手动使能的限制
  • 简化被动和主动扫描的流程
  • CSMA-CA算法更为灵活
  • 在nonbeacon网络中减少关联时间

本修订与2003版后向兼容,也就是遵循本标准的器件可加入或与2003版的器件一起工作。

1.概述

1.1综述

WPAN与WLAN不同,它通常没有或者很少基础网络设施。这个特点使得可以采用很多器件来实现小型,高能效和低成本的方案。本文档规定了LR-WPAN的标准。

1.2范围

802.15.4定义了没有电池或有线电池消耗设备的固定、便携式和移动设备PHY和MAC子层规范,其通讯距离在10mm左右。可以预见,在距离和通信速率之间可以有一个平衡。

association关联:用于建立一个设备在WPAN中的成员关系的服务

authentication tag授权标签:用于验证一条消息授权的消息

beacon-enabled PAN:在一个PAN中,所有的协调器发送规范化的beacon,比如具有beacon顺序小于0x0F.

CSMA/CA信道接入机制是ZigBee技术中MAC层的关键技术之一,该机制主要解决ZigBee网络中不同设备节点在传输数据时发生冲突碰撞的问题。

进行WPAN标准的工作组有四个:蓝牙工作组/802.15.3高速速率工作组/802.15.4工作组:LR-PAN/共存组:建立统一标准以用于所有工作于2.4GHz频段的无线应用。

相继提出了几十种关于无线的信道接入机制,这些机制分别是针对不同的假设环境、不同的设计目标提出的,这些信道接入机制使用了多种信道复用和控制技术。按照信道数分类,可以分为单信道、双信道和多信道三大类。对于单信道的信道接入机制,只有一个共享信道,既要传送控制信息,又要传送数据信息,所以可能发生控制报文和数据报文、控制报文和控制报文、数据报文和数据报文之间的三类冲突。由于数据报文数据量较大,因此数据报文与数据报文的冲突对网络性能的影响最大。因此对于单信道的信道接入机制,必须尽量减少数据报文与数据报文之间的冲突。对于ad hoc网络,单信道的信道接入机制有MACA-BI、MACA、MACAW等。对于双信道接入机制,一个信道可以共享传输控制报文,一个信道用于共享传输数据报文,解决了控制报文和数据报文之间的额冲突,并且很好解决了隐藏节点和暴露节点的问题。比较典型的双信道信道接入机制有:BAPU、DBTMA等。多信道的信道接入机制可以提供更多的信息通道。比较关注的问题是信道的分配和信道接入的控制问题,目的是尽可能多的节点数达到最大化,并且能够消除数据报文的冲突。

由于受硬件技术发展的限制,无线节点大多只支持单信道接入机制,因此也应用最广泛。

ALOHA协议是第一个为无线网络提出的协议。用户主要有数据,就立即发送,发送结束后,发送方等待接收方确认。如果没有确认,那么发送方就认为遇到冲突或丢失,需要等待随机的时间重新发送,这种自由的信道接入方式可以应用于任何拓扑结构,但是最大吞吐量只有18%,因为在任何时候只要有两个设备同时使用信道,就会发生发送冲突,破坏分组内容,所以这种信道接入方式现在已经很少使用了。

时序ALOHA协议是在ALOHA协议的基础上发展起来的,但是需要集中控制和定时,这种分布式网络是难以做到的,所以难以应用于分布式无线通信网。

CSMA系列机制是使用载波侦听的分组无线网信道接入协议,可以被应用于ad hoc网络。节点在发送数据之前首先对信道进行侦听,如果信道忙就回退重发,如果信道不忙,才发送报文。

CSMA/CA机制是在CSMA的基础上,发送者和接受者在发送数据报文之前使用RTS-CTS控制报文握手,目的是通知接收者做好接受的准备,以提高网络的利用率。

连入LR-PAN的节点都会被分配一个唯一的64位IEEE地址和一个16位的短地址,64位地址也叫绝对地址,16位地址也叫相对地址。在分配相对地址之后,节点就可以使用相对地址进行通信了。

每一个终端设备最多用于240个端点,它们共享同一个无线收发器,只不过执行不同的任务,大致等同于有线传输协议中的端口。路由节点除了完成既定的应用任务之外,还需要具备数据的存储和转发能力、路由发现能力,还有其子设备的连接,路由表维护等能力。协调器点除了拥有路由节点的能力之外,还需要具备指定网络规则,选择格式的信道,启动PAN等功能。

ZigBee从下层到上层可以分为PHY层、MAC层、NWK层和APL层,APL层又可以分为APS、ZDO和制造商定义的应用对象组成。

APS的功能和任务是给运行在设备上的不同应用端点转发网络信息,包括维护一个能够将各设备按照其提供的服务和需要的服务匹配起来的绑定表,APS可以在绑定表中规定的被绑定的设备之间传输信息。应用对象是运行在端点的应用软件,它具体实现节点的应用功能。

在ZigBee设备里可以定义240个应用对象,每一个端点编号范围可以为1-240,编号0被保留为ZDO的接口,用于整个ZigBee设备的配置和管理,应用程序也可以通过端点0与ZigBee堆栈的其它层通信,从而实现这些层的初始化和配置。而编号255被保留成为向所有应用个对象进行广播数据的接口,端点编号241~254为将来的扩展保留使用。所有端点都是用APS层提供的服务。

ZDO的功能是指设备的所有管理工作,包括定义本设备在网络中网络中的作用,发现网络中的设备,确定这些设备能够提供的功能,初始化或相应绑定请求,在网络中的设备之间建立安全的关联等。ZDO就像一个特殊的应用对象,它驻留在每一个ZigBee节点上,其端点编号固定为0.

PHY层的数据访问类原语用PD开头,PHY层管理类原语用PLME开头;MAC层数据服务原语用MCPS开头,MAC层管理服务原语用MLME开头;NWK层数据服务原语用NLDE开头,NWK层管理服务原语用NLME开头;APS层数据服务原语用APSDE开头,APS层管理服务原语用APSME开头。

PHY层的一些特定的数据决定了PHY层工作时的一些特性。这些特定的数据有一部分是可以通过上层软件使用对对应的原语改变的,被称之为属性;而另一部分是ZigBee协议规定的和硬件结构规定的不能被修改的数据,被称之为常量。属性和常量集中在一起,就是PIB(PAN information Base)。

ZigBee的MAC层有一种特殊的帧,成为超帧,它内部包含了若干个不同类型的特殊帧,它可以帮助网络协调器限定和分配信道的访问时间。超帧由活动部分和非活动部分组成,在活动部分时间内,设备通过竞争或非竞争的方式使用信道,在非活动部分时间内,设备进入睡眠状态,用来节能。网络协调器通过发送beacon帧表示超帧的开始。

近两年来备受关注的MAC层协议有:IEEE 802.15.4 LR-WPAN和Sensor-MAC SMAC协议。LR-WPAN有两种运行模式:beaconed(使用无线广播进行同步)和beaconless(采用CSMA/CA机制),而S-MAC具有定期监听和休眠两种运行模式。大多数MAC层协议的主要目的是减少因碰撞、监听信道、开销造成的能源浪费。这些协议可以分为两大类:以时间表为基础和以竞争为基础的MAC层协议。

当前无线传感器网络的主要算法有网络泛洪协议(Flooding)、定向扩散协议(Directed Diffusion,DD)、基于协商的协议(Sensor Protocol for Information via Negotiation,SPIN)和低功耗自适应聚类路由协议(Low-Energy Adaptive Clustering Hierarchy,LEACH)等。

以汇聚节点为目的的节点的数据流远超过以汇聚节点为源节点的控制流。越接近汇聚节点,链路的流量越高,相应节点的负载越重,寿命越短。因此流量分布不均匀导致能耗分布不均,从而直接影响网络的生存周期。

无线传感器网络路由协议的性能包括:网络生命周期、传输时间延迟、路径容错性和网络可扩展性等。为了提高网络生命周期,必须尽量使节点的能量消耗在各个节点中均匀分布来提高网络寿命。路由设计应该根据具体应用来平衡传输时间延迟和服务质量之间的关系。

最理想的情况下是所有节点在某一时刻能量同时耗尽,但是在实际应用中,由于链路发起的不确定性,随机部署的节点无法预知节点传送的数据量,因此很难达到最理想的状况,设计出的路由只能在统计上达到最优。通常离汇聚节点比较近的节点由于跟汇聚节点通信频繁,导致传送数据量较大,会较早死亡。

无线传感器网络的路由协议从驱动机制角度可以分为主动式路由协议和按需式路由协议;从网络拓扑结构角度可以分为平面路由协议、分层路由协议和基于地理位置的路由协议。

网络泛洪协议是一种最简单的网络通讯路由协议,它不需要维护网络拓扑结构和进行相关的路由计算,仅仅要求接收到消息的节点以广播形式向外转发数据包,直至数据包传送到目的节点或者网络节点能量耗尽死亡为止,存在数据内爆和数据重叠的问题。

基于协商的具有能量自适应的路由协议(SPIN)是一种基于协商的本地资源消耗可控的路由协议。

定向扩展模型(DD)是一种以数据为中心的路由协议,它将来自不同源节点的数据聚集起来达到减少数据冗余,降低数据被传送的次数,降低网络中数据量,延长网络生命周期的作用。

在仅存在单一汇聚节点的无线传感器网络中,随机分布的无线传感器网络节点在初始时刻一般无法得知汇聚节点所处的位置,因此通常采用由汇聚节点向其它节点广播路由建立信息以建立路由。

通常休眠状态越深,则需要消耗越多的时间和能量才能唤醒并恢复到完全工作状态(或者其它浅休眠状态)

7.MAC子层规范

此条款详述了本标准的MAC子层,其处理所有的无线信道访问和负责以下的工作:

  • Coordinator产生并发送Beacon
  • 普通节点根据Beacon与Coordinator同步
  • 支持PAN的关联和取消关联操作
  • 支持通信安全
  • 使用CSMA/CA信道访问机制
  • 处理和维持GTS机制
  • 提供MAC实体间点对点的可靠连接 MAC子层定义和维护的常量或变量采用斜体字书写。常量都具有前缀“a”,比如aBaseSlotDuration,所有常量在表85中列出。属性具有前缀“mac”,比如macAckWaitDuration,所有属性在表86中列出,而安全属性在表88中列出。

7.1MAC子层服务规范

MAC子层提供SSCS层与PHY层之间的接口,并且包含一个称为MLME的管理实体,通过调用这个实体的管理函数可以提供服务接口。MLME同时还负责维护MAC子层PIB。

[Image]{}

图29 MAC子层参考模型

MAC子层通过两个SAP提供两种类型的服务:

  • 通过MCPS-SAP提供MAC数据服务
  • 通过MLME-SAP提供MAC管理服务 MCPS-SAP和MLME-SAP两个服务提供了SSCS和PHY之间的接口。除了这两个外部接口,MLME和MCPS之间还具有一个接口用于让MCPS为MLME提供MAC数据服务。

7.1.1 MAC数据服务器

MCPS-SAP提供对等SSCS(汇聚子层)实体间的SPDU传输,表40给出MCPS-SAP支持的原语(带有♦标记的原语是RFD可选的)。这些原语在表中给出的子条款索引中进行讨论。

MCPS-SAP primitive Request Confirm Indication
MCPS-DATA 7.1.1.1 7.1.1.2 7.1.1.3
MCPS-PURGE 7.1.1.4* 7.1.1.5*

表40 MCPS-SAP原语

7.1.1.1 MCPS-DATA.request

MCPS-DATA.request原语要求从本地SSCS实体传送一个SPDU到另一个点对点SSCS实体。

7.1.1.1.1 服务原语的语意

MCPS-DATA.request原语的语义如下:

MCPS-DATA.request (
                                 SrcAddrMode,
                                 DstAddrMode,
                                 DstPANId,
                                 DstAddr,
                                 msduLength,
                                 msdu,
                                 msduHandle,
                                 TxOptions,
                                 SecurityLevel,
                                 KeyIdMode,
                                 KeySource,
                                 KeyIndex
                                 )

表41给出MCPS-DATA.request原语的参数

名称 类型 有效范围 描述
DstAddrMode 整数 0x00-0x03 此原语和相应MPDU的目的地址模式。此变量的取值范围如下:
- - - 0x00=无地址(地址域忽略)
- - - 0x01=reserved
- - - 0x02=16位短地址
- - - 0x03=64位扩展地址
DstPANId 整数 0x0000-0xFFFF MSDU传送目的地址PAN标示符
DstAddr 器件地址 有效范围由DstAddrMode参数给出 MSDU传输的各个器件目标地址
msduLength 整数 小于aMaxMACPPayloadSiz 通过MAC子层实体传送的MSDU八位组数量
msdu 字节串 - 通过MAC子层实体传输的MSDU字节串
msduHandle 整数 0x00-0xFF MAC字串传输的MSDU处理句柄
TxOptions 位图 3位 (b0b1b2)给出MSDU的传输选项:b0=1-确认传输,b0=0非确认传输;
- - - b1=1-GTS传输,b1=0-信标使能PAN的CAP传输;b2=1-间接传输,b2=0-直接传输;对于非信标使能PAN,b1必须总设置为0
SecurityLevel 整数 0x00-0x07 使用的安全水平
KeyIdMode 整数 0x00-0x03 识别键值所使用的模式,如果安全水平参数设置为0x00,则此参数忽略
KeySource 0,4或8个字节 由KeyMode参数确定 所使用键值的产生器,如果KeyIdMode参数为0x00,则忽略此参数
KeyIndex 整数 0x01-0xFF 所使用键值的索引,如果KeyIdMode参数为0x00,则忽略此参数
7.1.1.1.2 适用场合

MCPS-DATA.request原语是由本地SSCS实体在需要传输一个SPDU到对等的SSCS实体时产生的。

7.1.1.1.3 接收的效果

一旦接收到MCPS-DATA.request原语,MAC子层实体就开始传输提供的MSDU,MAC子层会根据上层所提供的参数创建一个MPDU用于传输。根据帧控制域,SrcAddrMode和DstAddrMode参数中的标志用于创建帧控制和MHR的地址域。如果SrcAddrMode和DstAddrMode参数设置为0x00,MAC子层将会发出带有状态INVALID_ADDRESS的MCPS-DATA.confirm原语。