IEEE.802.15.4网络协议栈及物理层 IEEE 802.15.4网络协议栈基于开放系统互连模型(OSI),如图5-4所示,每一层都;实现一部分通信功能,并向高层提供服务。 IEEE 802.15.4标准只定义了PHY层和数据链路层的MAC子层。PHY层由射频收发器以及底层的控制模块构成。MAC子层为高层访问物理信道提供点到点通信的服务接口。 MAC子层以上的几个层次,包括特定服务的聚合子层(service specific convergence sublayer, SSCS),链路控制子层(logical link control , LLC)等,只是IEEE 802.15.4标准可能的上层协议,并不在IEEE 802.15.4标准的定义范围之内。SSCS为IEEE 802.15.4的MAC层接入IEEE 802.2标准中定义的LLC子层提供聚合服务。LLC子层可以使用SSCS的服务接口访问IEEE 802.15.4网络,为应用层提供链路层服务。 5.3.1 物理层 物理层定义了物理无线信道和MAC子层之间的接口,提供物理层数据服务和物理层管理服务。物理层数据服务从无线物理信道上收发数据,物理层管理服务维护一个由物理层相关数据组成的数据库。 物理层数据服务包括以下五方面的功能: (1)激活和休眠射频收发器; (2)信道能量检测(energy detect); (3)检测接收数据包的链路质量指示(link quality indication , LQI); (4)空闲信道评估(clear channel assessment, CCA); (5)收发数据。 信道能量检测为网络层提供信道选择依据。它主要测量目标信道中接收信号的功率强度,由于这个检测本身不进行解码操作,所以检测结果是有效信号功率和噪声信号功率之和。 链路质量指示为网络层或应用层提供接收数据帧时无线信号的强度和质量信息,与信道能量检测不同的是,它要对信号进行解码,生成的是一个信噪比指标。这个信噪比指标和物理层数据单元一道提交给上层处理。 空闲信道评估判断信道是否空闲。IEEE 802.15.4定义了三种空闲信道评估模式:第一种简单判断信道的信号能量,当信号能量低于某一门限值就认为信道空闲;第二种是通过判断无线信号的特征,这个特征主要包括两方面,即扩频信号特征和载波频率;第三种模式是前两种模式的综合,同时检测信号强度和信号特征,给出信道空闲判断。 1.物理层的载波调制 PHY层定义了三个载波频段用于收发数据。在这三个频段上发送数据使用的速率、信号处理过程以及调制方式等方面存在一些差异。三个频段总共提供了27个信道(channel):868MHz频段1个信道,915MHz频段10个信道,2450MHz频段16个信道。具体分配如表 在868MHz和915MHz这两个频段上,信号处理过程相同,只是数据速率不同。处理过程,首先将物理层协议数据单元(PHY protocol data unit,PPDU)的二制数据差分编码,然后再将差分编码后的每一个位转换为长度为15的片序列(chip sequence),最后BPSK调制到信道上。 差分编码是将数据的每一个原始比特与前一个差分编码生成的比特进行异或运算:En=Rn⊕En-1 ,其中En是差分编码的结果,Rn为要编码的原始比特,En-1是上一次差分编码的结果。对于每个发送的数据包,R1是第一个原始比特,计算E1时假定E0=0。差分解码过程与编码过程类似: Rn=En⊕En-1,对于每个接收到的数据包, E1是第一个需要解码的比特,计算R1时假定E0=0。 差分编码以后,接下来就是直接序列扩频。每一个比特被转换为长度为15的片序列。扩频过程按下表进行,扩频后的序列使用BPSK调制方式调制到载波上。            868/915MHz比特到片序列转换表 输入比特 片序列值(C1 C2……C14) 01 111101011001000000010100110111 2.4GHz频段的处理过程,首行将PPDU的二进制数据中每4位转换为一个符号(symbol),然后将每个符号转换成长度为32的片序列。 在把符号转换片序列时,用符号在16个近似正交的伪随便噪声序列的映射表,这是一个直接序列扩频的过程。扩频后,信号通过O-QPSK调制方式调制到载波上。 2.物理层的帧结构 物理帧第一个字段是四个字节的前导码,收发器在接收前导码期间,会根据前导码序列的特征完成片同步和符号同步。帧起始分隔符(start-of-frame delimiter, SFD)字段长度为一个字节,其值固定为0xA7,标识一个物理帧的开始。收发器接收完前导码后只能做到数据的位同步,通过搜索SFD字段的值0xA7才能同步到字节上。帧长度(frame length)由一个字节的低7位表示,其值就是物理帧负载的长度,因此物理帧负载的长度不会超过127个字节。物理帧的负载长度可变,称之为物理服务数据单元(PHY service data unit, PSDU),一般用来承载MAC帧。 传感器网络标准方案--IEEE 802.15.4/ZigBee 低成本、低功耗、应用简单的IEEE 802.15.4/ZigBee协议的诞生为无线传感器网络及大量基于微控制的应用提供了互联互通的国际标准,也为这些应用及相关产业的发展提供了一个契机。 近两年 无线传感器网络的飞速发展,大量无线终端诞生。这些以传感器和远程控制为代表的无线应用不需要较高的传输带宽,而需要较低的传输延时和极低的功率消耗,使用户能拥有较长的电池寿命和较多的器件阵列。蓝牙技术在这方面有很大的发展空间,但它不是一种符合传感器和低端面向控制等简单应用的专用标准,对那些在功耗或网络性能要求较高的个人无线应用就显得无能为力了。 IEEE 802.15.4/ZigBee协议的出现正好解决了这一问题。 核心内容 2003年10月,就在IEEE推出802.15.4协议标准的同时,ZigBee联盟也开始酝酿与之相配套的网络层及应用层的协议,目的并不是为了推出一项具体的技术,而是为了给传感器网络和控制系统推出一个标准的解决方案。 IEEE 802.15.4/ZigBee协议是由IEEE 802.15.4标准的PHY和MAC层再加上ZigBee的网络和应用支持层所组成的,其突出的特点是网络系统支持极低成本、易实现、可靠的数据传输、短距离操作、极低功耗、各层次的安全性等。该标准一出现就引起了业界的广泛重视,短短一年多的时间内便有上百家集成电路、运营商等宣布支持IEEE 802.15.4/ZigBee,并且很快在全球自发成立了若干联盟。 IEEE 802.15.4/ZigBee协议中明确定义了三种拓扑结构:星型结构(Star)、簇状结构(Cluster tree)和网状结构(Mesh),如图1所示。协议定义了两种相互配合使用的物理设备——全功能设备和削减功能设备: ● 全功能设备(Full function device, FFD),可以支持任何一种拓扑结构,可以作为网络协商者和普通协商者,并且可以和任何一种设备进行通信。 ● 削减功能设备(Reduced function device, RFD),只支持星型结构,不能成为任何协商者,可以和网络协商者进行通信,实现简单。 IEEE 802.15.4/ZigBee网络需要至少一个全功能设备作为网络协商者,终端节点一般使用削减功能设备来降低系统成本和功耗,提高电池使用寿命。另外所有设备必须使用一个64位的IEEE地址;可以使用16位短地址来减少数据包大小;寻址模式可以为网络增加设备标识符的星型结构,以及源和目标标识符的点到点结构两种。 物理层的设计是面向低成本和更高层次的集成需求的,对大部分较低端的实现来说,直接序列(Direct Sequence)的应用使得采用模拟电路变得非常简单,具有更高的容错性能;MAC层的设计不但使得多种拓扑结构网络的应用变得简单,可以实现非常有效的功耗管理,而不需要在很多管理模式之间切换。MAC层可以使用一种削减功能设备,由于其结构简单,不需要大量的Flash、ROM和RAM等存储设备,从而保证了较长的电池寿命。MAC还进行了特别的设计,可以支持极大数目的网络节点,而不需要对它们进行包装处理;网络层的设计支持网络规模在空间上的增长,而不需要使用高功耗的中继器,而且网络层在较少网络负载的条件下可以支持更大数目的网络节点。 主要特点 ● 低功耗、实现简单。设备可以在电池的驱动下,运行数月甚至数年。低功耗意味着较高的可靠性和可维护性,更适合体积小的大量日常应用。另外,非电池供电的设备同样需要考虑能量的问题,因为功耗关系着成本等一系列问题。 ● 低成本。对用户来说,低成本意味着较低的设备费用、安装费用和维护费用。ZigBee设备可以在标准电池供电的条件下(低成本)工作,而不需要任何重换电池或充电操作(低成本、易安装),ZigBee在内部自动可配置和网络设备的冗余等方面的简化更是提供了较低的维护费用。 ● 单个网络中可容纳更高密度的节点。ZigBee通过使用IEEE 802.15.4标准的PHY和MAC层,支持几乎任意数目的设备,这对于大规模传感器阵列和控制尤其重要。 ● 协议简单,国际通用。ZigBee协议栈平均只有Bluetooth或其他IEEE 802.11的1/4,这种简化对低成本、可交互性和可维护性非常重要。IEEE 802.15.4的PHY层的使用可以支持欧洲的868MHz的频段、全球美洲和澳大利亚的915MHz的频段和现在已经被广泛使用的2.4GHz的频段,使该协议具有更旺盛的生命力。 帧结构 IEEE 802.15.4/ZigBee帧结构的设计原则是保证网络在有噪音的信道上以足够健壮的传输的同时将网络的复杂性降到最低。每一后继的协议层都是在其前一层添加或者剥除了帧头和帧尾而形成,IEEE 802.15.4的MAC层定义了4种基本帧结构: ● 信标帧,供协商者使用。 ● 数据帧,承载所有的数据。 ● 响应帧,确认帧的顺利传送。 ● MAC命令帧,用来处理MAC对等实体之间的控制传送。 另外,IEEE 802.15.4标准,即LR-WPAN(低数据率的无线个人网)标准还支持可选的超帧结构。该超帧结构的格式是由协商者来定义,绑定了网络信标帧,并由协商者来使用。超帧被划分为16个大小相等的时隙,信标帧在每一个超帧的第一个时隙中进行传输,如果协商者不希望使用超帧结构,可以关掉信标帧的传输。信标帧可以用来同步网络中的设备,识别PAN并且描述超帧结构。在冲突访问阶段,任何一个设备如果想进行通信,必须与其他设备使用CSMA-CA的机制,而且所有的事务必须在下一个网络信标帧到来前完成。 对于低延迟或者有特殊数据带宽要求的应用,PAN的协商者可以利用部分活动的超帧结构来做到,它们被称为确保服务的同步时隙(Guaranteed Time Slot,GTS) ,这些时隙是由信道无竞争周期(Contention Free Period,CFP)组成。CFP一般出现在活动的超帧尾端,前面一般跟随着一些信道竞争访问周期(Contention Access Period,CAP)。一个PAN协商者可能包括少于7个的GTS,而每个GTS一般占用不止一个时隙。但是协商者中还必须保留一定的时隙作为其他网络设备访问或者一个新的设备访问该网络进行通信之用。正是由于标准中定义的这种超帧结构,才保证了该协议具有极低的功耗特性。 安全性 安全性一直是个人无线网络中的极其重要的话题。IEEE 802.15.4/ZigBee协议使用MAC层的安全机制,来保证MAC命令帧、信标帧和响应帧的安全性。单跳的数据消息是通过对MAC层的安全来做到的,而多跳的消息报文一般是通过更上层(如网络层)的安全机制来保证的。 ZigBee的MAC层使用了一种被称为高级加密标准(Advanced Encryption Standard,AES)的算法进行加密的,并且它基于AES算法生成一系列的安全机制,用来保证MAC层帧的机密性(Confidentiality)、一致性(Integrity)和真实性(Authenticity)。虽然这些安全性是在MAC层上进行处理的,但是上一层(网络层)控制着安全性的整个过程,主要包括密钥的产生和安全级别的使用。当MAC层传输(接收)一个带有安全性的帧时,它首先检查该帧的目标地址(源地址),并检索到和该目标地址(源地址)相对应的密钥,然后利用该密钥和相对的安全级别所对应的安全机制来进行逆向处理。每一种安全机制都将对应着一个密钥,而在MAC层帧头中有一位直接指明该帧是否使用安全机制。 如果应用中有一致性方面的要求,那么在传输一个帧时就可以利用MAC层的头和净荷来计算4字节、8字节或者16字节的消息完整性代码(Message Integrity Code,MIC),如图2所示,MIC直接被加到MAC层净荷的后面,如果有真实性的要求,MAC层的左边会被加入帧和序列记数器,用来对该净荷进行加密,并保证其新颖性。当接收到包括了MIC的帧时,会对它进行一定的验证;同样如果接收到的帧的净荷被加密,则需要进行一定的解密操作。 MAC层的安全性有三种模式:利用了AES进行加密的CTR模式(Counter mode)、利用了AES保证一致性的CBC-MAC模式(Cipher Block Chaining密码分组链接),以及以上两者均使用的CTR和CBC-MAC模式,被称为CCM模式。