ZigBee概述 点击:801 | 回复:2



流浪红舞鞋

    
  • 精华:1帖
  • 求助:1帖
  • 帖子:13帖 | 125回
  • 年度积分:0
  • 历史总积分:497
  • 注册:2013年8月01日
发表于:2013-10-31 14:29:43
楼主

ZigBee是Zigzag和Bee的合成词,这个合成词形象地表述了两个含义:其一是ZigBee就像蜜蜂一样,具有小巧而敏捷的无线感知功能;其二是ZigBee系统就像蜜蜂交换信息一样,能够通过蜿蜒曲折(Zigzag)的线路将数据传输到目的地,即ZigBee是一种采用多跳技术传输数据的通信方式。

虽然传感器和测控系统对数据传输速率的要求并不不高,但是低成本和由于电池驱动所要求的低功耗是首要考虑的条件。在ZigBee规范出现之前,因为没有一个能够满足上述要求的技术标准,所以市场上出现的无线测控产品都是装配了厂商自己的协议,这种情况使产品的相互运用和新技术的引入遇到了许多障碍。

针对上述问题,全球性的无线传感器网络业界标准组织:ZigBee联盟对无线传感器网络进行了标准化活动,制定了ZigBee规范。通常,ZigBee就是指ZigBee 无线传感器网络(ZigBee WirelessSensor Networks,ZigBee WSN)。另一方面,因为ZigBee采用多跳方式传输数据,结点之间直接通信的距离(一跳距离)通常小于100米,即使是Jennic公司提供的高功率模块,在空旷区域内的实际的直接通信距离也小于1000米,所以ZigBee也是一种短距离通信规范。

ZigBee规范是一个面向传感器及测控无线网络的国际标准化技术,这个规范能够满足如下四点要求。

(1)低消耗功率:用无线方式取代感测信号线,并且不需要电源线。即使是普通电池,其寿命也要求以年为计算单位。

(2)低成本:不仅要求设备成本低,而且要求装配、维护等运营成本费也尽可能低。

(3)网络容量大:设想网络中包含许多传感器结点,一个单一的ZigBee网络最少容纳数百个以上的结点。

(4)相互接续性好:设想ZigBee产品可由多个厂商提供,可以采用多个厂商的设备构筑一个可以用简单的协议确保相互运用的网络。

在ZigBee 联盟成员企业的努力下,2004年12月发表了第一个ZigBee 规范(ZigBee v.1.0 draft ratified),此后,经过多次修改,于2006年10月发表了ZigBee-2006 v.r13。一个月之后(2006年11月9日)发表了ZigBee-2007 v.r14。ZigBee-2007 v. r14发表之后,又经过了多次勘误和改进, 2006年12月发表了ZigBee-2007 v. r15,2007年5月发表了ZigBee-2007 v.r16,2007年10月发表了ZigBee-2007 v. r17。目前,最新的版本就是ZigBee-2007v. r17。

在ZigBee-2007规范中包含ZigBee功能子集和ZigBee PRO功能子集两个子集的定义,这两个子集的主要功能如表2-1所示。由该表可见,两个子集的功能不尽相同。例如,ZigBee功能子集支持mesh网络及树状网络,ZigBee PRO功能子集仅支持mesh网络;ZigBee功能子集中单个网络可以支持数百个结点,而ZigBeePRO功能子集中单个网络可以支持数千个结点。两个子集的设备在一定的条件下是可以相互运用的,具体表现在:

(1)ZigBee设备可以作为终端设备加入PRO网络,ZigBee PRO设备也可以作为终端设备加入ZigBee网络。

(2)在同一个网络的应用级,ZigBee设备和ZigBeePRO设备完全可以相互运用。

(3)在网络中使用标准的安全模式时,ZigBee设备和ZigBeePRO设备完全可以相互运用。

2.1ZigBee通信模型

ZigBee的通信模型如图2-1所示,图中给出了ZigBee模型与国际标准化组织(InternationalOrganization for Standardization,ISO)提出的OSI参考模型(Open System Interconnection Basic Reference Model)的对应关系。根据网络功能,OSI参考模型分为7层,其中ZigBee模型的第1层和第2层对应于OSI参考模型的第1层和第2层,在上面所述的各种ZigBee版本中都采用IEEE802.15.4-2003通信标准(本书所讲到的IEEE802.15.4专指IEEE 802.15.4-2003);第3层和第4层对应于OSI参考模型的第3层,第4层对应于OSI参考模型的4~7层,采用ZigBee联盟制定的标准。与第1层和第


2层不同的是,对于不同的ZigBee 版本其功能所有差异,即随着版本升级功能在不断优化,需要注意的是虽然各个版本的基本功能差别不大,但是高版本不一定与低版本兼容,例如在ZigBeeV1.0中支持键值对(Key Value Pair,KVP)和消息帧(Message,MSG)两种帧格式,而在ZigBee-2006之后的规范中只支持MSG帧结构。APL层是由应用框架(application framework,AF)、ZigBee设备对象(ZigBee deviceobjects ,ZDO)及应用支持子层(applicationsupport sub-layer,APS层)共同构成的。ZigBee应用层与OSI参考模型中的应用层的定义不太一致,在OSI参考模型中,应用完全是由用户自己开发的,而ZigBee规范中给用户提供了许多应用接口。下面简要说明ZigBee通信模型中各层的功能。

表2-1 ZigBee 功能子集和ZigBee  PRO功能子集的主要特征及其差异  



(1) 物理层

物理层(PHYsical layer ,PHY)规定了无线通信中所需要采用的媒体,例如,采用的频率、信道、调制方式以及帧结构。

(2) 媒体接入控制层

媒体接入控制层(Medium Access Control,MAC)规定了在电波直接到达范围内(一跳范围)的消息传输方法。例如,由于干扰电波等原因导致通信错误时,对错误进行检测、纠正、重发请求以及正确接收消息情况下的ACK应答等都属于MAC层的功能。

(3) 网络层

网络层(Network,NWK)规定了网络管理、路由管理及网络内的消息传输方式。网络管理是指通过建立网络、结点加入网络、网络地址分配等过程使网络结点相互认识的功能。路由管理是指在电波不能直接到达目标结点的情况下,需要由中继结点将消息进行转发,对能够可靠转发消息的路径进行选择和维护的功能。

(4) 应用支持子层(APS)

应用支持子层(Application Support,APS)虽然在网络层确定了结点之间的通信路径,但有时一个结点会承担多个应用。在这种情况下,就需要像TCP port那样,在多个应用之间建立逻辑通信路径。所以APS层的主要功能之一就是支持这种作为逻辑子信道的Endpoint(第6章介绍Endpoint的详细定义)。另一个问题是,网络层能够传输的信息只是一定长度以下的二进制数据的有效载荷。因为用户的应用是多种多样的,所以要求传输的数据格式也各不相同。例如,如果应用只是监测环境温度,只需要传输温度数据;如果应用需要监测温度和湿度,就需要同时传输温度和湿度数据。因此,APS层的第二个功能是将来自应用层的发送数据变换为网络层所要求的帧格式,或者将来自网络层的有效载荷数据变换为应用层能够理解的消息。并且,通信帧的收信确认和重发请求也是APS层的功能。

(5) 应用层框架和ZigBee设备对象

如图2-1所示,ZigBee应用层(Application ,APL)是由应用框架(Application Framework, AF)、ZigBee设备对象(ZigBee Device Object, ZDO)以及APS层组合构成的。除了上面所述APS层的功能外,AF为用户构建了应用骨架,用户可以根据需求在骨架内添加、改写或删除应用程序;ZDO为用户提供了管理网络的接口,可以避免直接操作协议栈的底层带来的麻烦。换言之,ZigBee应用层与OSI参考模型中的应用层不同,OSI参考模型中的应用层完全由用户自己开发,而ZigBee应用层并非全部由用户自己开发,ZigBee协议栈已经为用户提供了大量的应用接口。






流浪红舞鞋

  • 精华:1帖
  • 求助:1帖
  • 帖子:13帖 | 125回
  • 年度积分:0
  • 历史总积分:497
  • 注册:2013年8月01日
发表于:2013-10-31 14:32:32
1楼

2.2ZigBee 设备类型

2.2.1 ZigBee硬件与协议栈

一般来讲,嵌入式系统的装配方法有两种类型,其一是像半导体集成电路那样的硬件装配方法,其二是称为协议栈的微处理器程序软件的装配方法。半导体集成电路的开发成本高,但可以获得良好的性能。软件装配虽然难以获得像硬件那样的性能,但是灵活性强。因此,在能够保证性能要求的情况下,为了降低成本,用软件装配的方法是比较合理的。


IEEE 802.15.4 ·ZigBee的装配形态如图2-2所示。对于市场上出售的IEEE802.15.4标准产品,其物理层的功能基本上都是由CMOS等硬件实现的,MAC层的功能大都由半导体集成电路和协议栈共同分担。为了提高处理速度,MAC层的前半

部分装配集成电路,例如:ACK的自动发送,加密处理等。而网络层以上的各层,毫无例外地装配协议栈。因为微处理器中的程序被保存在闪存中,所以,程序所需容量也就是栈的大小对传感器网络产品的成本是极其重要的。除了用户应用程序之外,装配IEEE802.15.4·ZigBee 的全部规范所需栈的大小总计约为50KB以上。其中,IEEE802.15.4 的MAC层的库约占20 KB,剩余是ZigBee规范所需部分。为此,对于简单的IEEE802.15.4·ZigBee 应用,可以采用内置64KB闪存的微处理器,当然,如果采用128KB闪存的微处理器,就具有较大的余量,能够实现复杂的应用。

上面从嵌入式系统的装配方法描述了硬件和协议栈的概念,然而,在ZigBee规范的文档中,将PHY层、MAC层、NWK层、及APL层的集合称为协议栈,也就是说协议栈包含了硬件(PHY和MAC层的前半部分)和软件两大部分。ZigBee规范中定义的协议栈结构如图2-3所示。对于构成协议栈的每一层,不论其构建形态是硬件还是软件都是实现某些特定功能的实体,并且,每一层又可从功能上分为数据实体和管理实体。数据实体完成数据传输服务,管理实体完成空闲信道判定、电场能量测量、网络建立、结点入网等数据传输之外的其他服务。相邻层之间通过称为服务接入点(Service Access  Point,SAP)的接口进行信息交换,进一步讲,每个SAP支持实现某种功能的若干原语(Primitive),相邻层之间使用原语交换信息。表2-2给出了协议栈中各种SAP的说明。




2.2.2逻辑设备类型和物理设备类型

1.逻辑设备类型

在IEEE 802.15.4标准中,根据功能的不同,把逻辑设备分别定义为个域网(Private Area Network,PAN)、协调器(Coordinator)及网络设备(Network Device)三种类型。而在ZigBee规范中,名称略有不同,分别称为ZigBee协调器(ZigBee Coordinator)、ZigBee 路由器(ZigBeeRouter)以及ZigBee终端设备(ZigBeeEnd Device)三种类型(见表2-3)。在本书中采用ZigBee规范中采用的名称。

2. 物理设备类型

为了提供低成本的无线传感器网络设备,IEEE 802.15.4定义了全功能设备( Full-Function Device,FFD)和功能限定设备(Reduced-Function Device,RFD)两种物理设备类型。FFD和RFD的最大差别在于有无路由功能。具有路由功能的FFD能够作为星状网、网状网(meshNetwork)等拓扑结构中的设备,可以用于所有的逻辑设备。而对于低成本的RFD,因为没有路由功能只能和父结点通信,所以只能作为终端设备使用。FFD和RFD的差别见表2-4。表2-4中给出的MAC层栈的尺寸,它是ZigBee公开的预想的所需大小。实际上,由于程序代码的优劣、微处理器的类型及编译器的性能,得到的协议栈的大小也不相同。


流浪红舞鞋

  • 精华:1帖
  • 求助:1帖
  • 帖子:13帖 | 125回
  • 年度积分:0
  • 历史总积分:497
  • 注册:2013年8月01日
发表于:2013-10-31 14:35:20
2楼

2.3 原语

如2.1节所述,ZigBee通信模型是一种分层结构,低层为相邻高层提供服务。例如,物理层为MAC层提供服务,MAC层为NWK层提供服务……。为了表述网络中各层提供服务的接口,IEEE802.2 LAN/MAN标准委员会提出了原语(Primitive)的概念。对所有的服务,在相当于客户机的服务请求端和相当于服务器的服务提供端之间通过原语传递信息。

根据不同的目的,把原语分为请求(Request)原语、通知(Indication)原语、应答(Response)原语及确认(Confirm)原语,这些原语的类型及说明如表2-5所示。但是,并非所有的服务中都需要4种原语,有时只使用部分原语。

表 2-5  原语的类型

原语   原语装配端   方向   目的  

Request   服务请求端   上层——>服务层   服务请求  

Confirm   服务请求端   服务层——>上层   服务结果确认  

Indication   服务提供端   服务层——>上层   服务要求通知  

Response   服务提供端   上层——>服务层   对服务要求的响应  


图2-4给出了原语的概念,原语按照如下的步骤实现服务:

[1] 由服务请求端的上层向服务层发布服务请求原语,要求提供服务。服务层将该请求继续传输给下层。当服务层是最下层的物理层时,用电波发送请求消息,向服务提供端提出服务请求。

[2] 服务请求端明确了服务执行结果时,作为确认服务结果的原语,传输到上层。

[3] 服务提供端接收到来自下层的服务请求时,将该请求作为通知原语,向上层发送通知。一般情况下,通知是以回调(Callback)的形式发生事件并向上层传输。

[4] 服务提供端的上层将被请求的服务的结果作为响应原语,返回给下层。当下层是物理层时,以电波发送结果给服务请求端。

在IEEE 802.15.4和ZigBee规范中,原语采用规定的格式表示,下面给出两个原语的例子,对于其他原语虽然功能不同,但表示格式是相同的。

例1.物理层的数据通信请求原语

PD-DATA.request (

psduLength,  //物理层数据有效载荷的长度

psdu        //物理层数据有效载荷

)                                

例2.结点加入网络的确认原语

NLME-JOIN.confirm {

Status,           // 结点入网请求的状态

NetworkAddress,  //  网络地址

ExtendedPANID,  //  IEEE PAN ID

ActiveChannel    //  加入网络的信道

}

在上面给出的两个例子中,由大写字母组成的字符串表示原语的基本含义。如PD-DATA表示物理层数据通信,NLME-LEAVE表示网络层的结点离网。小写字母组成的字符串表示原语的类型。如request表示请求原语,confirm表示确认原语。括号内的字符串表示原语使用的参数。由上面两个例子可以看出,在IEEE802.15.4规范和ZigBee规范中,表示原语的格式略有不同,即IEEE802.15.4使用圆括号,而ZigBee规范使用花括号。

原语描述了相邻层之间的接口关系,就像API (Application Programming Interface)。但是,它并不是实际的软件接口,而仅仅是规定了必要的功能。在实际的协议栈或软件设计中,需要根据原语规定的功能编写实现相关功能的程序代码。




热门招聘
相关主题

官方公众号

智造工程师