目录
zigbee/802.15.4与蓝牙(802.15.1)的区别
技术标准的意义
因为没有通用的互用性标准,不同设备就不可以很好的通讯,导致部署智能城市的市政府就必须花费更多的成本来整合不同厂商的不同系统和设备。
无线传感器网络主要标准:
1.IEEE 1451接口标准
2.IEEE 802.15.4低速率无线个域网协议
- IEEE 802.15.4:定义了短距离无线通信的物理层以及链路层规范
- zigbee:定义了网络互联、传输和应用规范
IEEE 1451系列标准
目前市场上在通讯方面所遵循的标准主要包括
- IEEE 802.3(以太网)
- IEEE 802.4(令牌总线)
- IEEE FDDI(光纤分布式数据接口)
- TCP/IP(传输控制协议/互联协议)
以此来连接各种变送器(包括传感器和执行器),要求所选的传感器/执行器必须符合上述标准总线的有关规定。
由于各种现场总线标准的不统一(互不兼容)带来不利,所以IEEE1451致力于定义一套通用的通信接口,使得变送器(传感器/执行器)能够独立于网络,并与现有的基于微处理器的系统、仪器仪表和现场总线相连接,解决兼容问题。
不同的IEEE 1451系列标准
- IEEE 1451.2标准称为变送器与微处理器通信协议和变送器电子数据表格式。
- IEEE 1451.3标准称为分布式多点系统数字通信和变送器电子数据表格式。
- IEEE 1451.4标准称为混合模式通信协议和变送器电子数据表格式。这是一项实用的技术标准,它使变送器电子数据表格与模拟测量相兼容。
IEEE 1451.5
(1)主要用于利用电脑等主机设备综合管理建筑物内各传感设备获得的数据。
(2)IEEE 1451.5提议标准主要是为智能传感器的连接提供无线解决方案,尽量减少有线传输介质的使用。
.2 .3 .4 .6 是有线方式;
.5 .7 是无线方式;
IEEE 802.15.4标准
IEEE 802.15工作组是为了完成WPAN(无限个域网)而专门设置的,且已经完成一系列相关标准的制定工作,其中就包括了被广泛用于传感器网络的底层标准IEEE 802.15.4。
IEEE 802.15任务组
- TG1:制定IEEE 802.15.1标准(蓝牙无线个人区域网络标准);中等速率、近距离的WPAN网络标准。
- TG2:制定IEEE 802.15.2标准,研究IEEE 802.15.1与IEEE 802.11(无线局域网标准)的共存问题
- TG3:制定IEEE 802.15.3标准,研究高传输速率WPAN标准。
- TG4:制定IEEE 802.15.4标准,研究低速WPAN标准。
zigbee/802.15.4与蓝牙(802.15.1)的区别
虽然两种技术在应用上相似,但不同的技术特点决定了各自的侧重。
- Zigbee / 802.15.4:具有低功耗、低速率、低成本特点,更适合于工业控制、传感器网络和家庭网络的应用。
- 蓝牙:则更适合于语音业务和需要更高数据量的业务,如移动终端、 耳机、PDA 联网等。
zigbee的两种设备类型
全功能设备(FFD,Router):适用于任意网络,可以作为网络协商者和普通协商者,并且可以和所有设备进行通信,设备功能完备,可接有线电源
精简功能设备(RFD):仅用于星形结构,不能成为任何协商者,只和网络协商者进行通信,电池供电,但是实现简单。
FFD 与RFD 的差别:
FFD 有能力成为协调者并选取一个频道建立新的网络,而RFD 只能透过向协调者注册并连接后才能使用网络
zigbee的三种设备角色:
1、端设备 End device (RFD or FFD):只具有简单的收发功能,不能进 行分组的转发。
2、协调器 Coordinator (FFD):通常通过发送信标实现与周围节点的同步,且具有转发分组的功能。
3、网络协调器 PAN Coordinator (FFD):为整个网络的主控节点,并且每个IEEE 802.15.4网络只能有一个网络协调点。
两种拓扑结构:
1、星型拓扑结构
(1)只存在一个网络协调点,其它节点均为普通节点
(2)所有设备都与中心设备PAN网络协调器通讯
(3)网络协调器持续供电,其他设备电池供电
(4)适合家庭自动化、个人计算机外围设备、个人康护护理等小范围的室内应用
2、点到点拓扑结构
(1)任何两个设备之间都可以通讯
(2)网络协调器负责管理链路状态信息、认证设备身份等功能
(3)允许多跳路由的方式传输数据
(4)适合于设备分布范围广的应用(工业检测与控制)
IEEE 802.15.4标识&地址
Pan标识:
- PanID唯一标识一个Pan,同一个Pan中的所有device使用同一个PanlD。
- PanlD由两个字节组成,其中0xFFFF表示广播地址。当MAC帧首部的目的PanlD字段为OxFFFF时,表示这个帧是发给所有Pan的。
- 在实际应用中,PanlD一般由Pan Coordiantor选取。Pan Coordiantor在发起一个Pan之前,首先调用MAC层的scan原语,执行passive scan和active scan,获得了周围节点使用的PanlD。Pan Coordiantor据此选择一个与周围节点不同的PanlD,发起自己的Pan。
节点的地址:
- 节点的长地址长度为64比特,用于唯一标识一个节点。在实际应用中,一般把它存放在节点的ROM中,它不会随网络拓扑的改变而改变。类似于物理地址
- 节点的短地址长度为16比特,它通常是在节点加入网络时,由父节点分配的。
- 合法的短地址范围是0x0000—0xFFFD。0xFFFE表示节点已经加入了网络但没有从父节点处获得短地址,这时节点只能用自己的长地址收发数据包。0xFFFF是广播地址。节点加入网络时,首先执行passive scan或active scan,收集周围Coordiantor的信息。然后选择一个Coordiantor作为父节点,并调用MAC层的MLME-ASSOCIATE.request 原语加入网络。这时父节点可以根据地址分配算法为子节点分配一个16位短地址(0x0000—0xFFFD),或不分配地址(返回0xFFFE)。当子节点获得了短地址之后,就可以使用短地址传输数据包了。
使用短地址的好处与不足:
- 使用短地址的好处:它可以减少MAC报文头部地址字段的数据开销;同时,短地址可以提供路由信息。例如ZigBee的短地址是按照树状拓扑来分配的,因此可以很容易的根据短地址计算出树状路由中MAC层的下一跳地址。
- 不足:与长地址不同,短地址会因为节点的失效、退出、重新加入等原因而改变。
IEEE 802.15.4标准功能概述
- 超帧结构
- 数据传输模型
- MAC层帧结构
- 数据可靠传输机制
- 低功耗策略
- 数据的安全服务
MAC层协议两种运行模式:
- 信标使能网络 (Beacon mode) :PANCoordinator定时广播信标帧(同步PAN网络中设备的通信,基于时隙的CSMA-CA)。
- 信标不使能网络 (Non-beacon mode):不发送信标帧,使用非时隙的CSMA-CA机制访问信道。
1.时隙CSMA/CA算法
回退时隙的边界必须与超帧时隙的边界对齐。
每个设备的初次退避边界必须与信标帧的起始时间对齐。
在竞争过程中,每个设备需要维持3个变量:
NB: 回退次数,当前CSMA/CA算法已经回退了多少次。如果超过最大回退次数,则认为接入失败。
BE: 回退指数,决定了当前按照CSMA/CA算法进行回退时需要回退多少个时隙,每次回退都在0~2BE-1内随机选择。
CW: 竞争窗口长度(802.15.4的特别设计)
- 当回退结束后发现信道为闲时,仍然暂不发送,而是再执行CW次信道探测动作,如果仍空闲,才发送数据。
- 初始值为2,任何时刻如果发现信道忙,则将其重置为2.
IEEE 802.15.4MAC层所采用的CSMA/CA算法的最大特殊性:一个设备必须检测两次(检测信道空闲)CCA,且两次CCA均为空闲时才能成功接入信道。
探测信道前先回退,回退后如果探测信道为闲,则再次探测一次,两次都为闲才发数据。如果任何一次为忙,则将回退指数加1,重新进行回退。
2.非时隙CSMA/CA
非时隙模式下,不使用CW。
探测信道前先回退,回退后如果探测信道为闲,则立刻发送;为忙则将回退指数加1。
超帧:
定义:(信标使能模式下)每个超帧都以网络协调器发出信标帧(beacon)开始,在信标帧中包含了超帧将持续的时间以及对这段时间的分配等信息。实现协调器和设备的时间同步、识别PAN及实现设备之间的通信。
PAN通过定义信标帧的内容来实现对超帧的控制,并周期性的广播。在竞争访问阶段(Contention Access Period)采用时隙CSMA/CA进行通信,非信道访问周期(Contention Free Periods)采用时隙GTS机制(Guaranteed Time Slots)通信。
超帧的内容:超帧将时间分为活跃时间和不活跃时间,不活跃时间PAN网络内的设备不会相互通信,从而可以进入休眠以便节省能量。
超帧将活跃时间分为三段/16个等长的时槽(slot):
- 信标帧发送阶段
- 竞争访问阶段
- 非竞争访问阶段
每个阶段分配多少个时槽由PAN Coordinator决定。非竞争访问阶段,协调器根据上一个超帧内申请GTS的情况,将CFP时期划分为若干GTS,每个GTS由若干slot组成,slot数由设备申请GTS时指定。
物理层功能:
IEEE 802.15.4标准规定物理层负责如下任务:
- ① 激活和去活无线收发器;
- ② 当前信道的能量检测;
- ③ 发送链路质量指示;
- ④ CSMA/CA的空闲信道评估;
- ⑤ 信道频率的选择;
- ⑥ 数据发送与接收。
MAC子层功能
- (1)如果设备是协调器,那么就需要产生网络信标;
- (2)信标的同步;
- (3)支持个域网络的关联和去关联;
- (4)支持设备安全规范(AES-128加密);
- (5)执行信道接入的CSMA-CA机制;
- (6)处理和维护GTS机制;
- (7)提供等MAC实体间的可靠连接;
MAC子层服务规范
MAC层提供两种服务,分别通过两个服务接入点进行访问:
- (1)MAC数据服务,它是通过MAC公用部分子层(MCPS)数据服务接入点(MCPS-SAP)进行访问;
- (2)MAC管理服务,通过介质访问控制层管理实体—数据服务接入点(MLME-SAP)进行访问
MAC帧结构:
信标帧结构:
数据帧格式:
确认帧结构:
命令帧格式:
重点:
- 两种设备类型(FFD\RFD)、三种设备角色(End Device\Coordinator\PAN Coordinator)、两种拓扑结构(星型拓扑结构\点到点拓扑结构)
- 标识和地址(短地址、长地址)
- 物理层功能,链路层功能
- 超帧
- MAC帧结构
ZigBee标准
zigbee的传输速率低(10kbps~250kbps),专注于低传输应用,而且他的有效范围比较小(有效覆盖范围10~75m之间),但是他的工作频段灵活(如下),省电、可靠、成本低(免专利费)、时延短、网络容量大(一个区域可同时布置100个zigbee网络,每个网络可有多大254个从设备和一个主设备)、安全(AES-128加密算法提供),并且是802.15.4的信标使能网络。
Zigbee的工作频段
频率 | 频带 | 使用范围 | 数据传输率 | 信道数 |
2.4GHZ | ISM | 全世界 | 250kbps | 16 |
868MHZ | 欧洲 | 20kbps | 1 | |
915MHZ | ISM | 北美 | 40kbps | 10 |
物理层 爱用DSSS直接序列扩频,使得模拟电路的设计简单,且具有更高容错性。
Zigbee的传输范围
ZigBee设备类型
1. ZigBee协调器(Coordinator):主要用于启动网络初始化、组织网络节点和存储节点信息
2. ZigBee路由器(Router):管理每对节点的路由信息
3. ZigBee终端设备(End-device):对于维护这个网络设备没有具体的责任,所以它可以睡眠和唤配,可以作为电池供电节点
zigbee的组网过程
组建网络:组建Zigbee网络的内容包括网络初始化和节点加入网络两个步骤。而节点加入网络又有通过协调器加入网络和通过已有节点入网两种方式。
1)初始化网络
作为一个节点,上电之后首先判断自己是不是功能健全的点(FFD),然后看看我的主是谁(我通过发送信标请求命令,要是没人回我,那我就是孤儿),如果我虽然是孤儿但是我功能健全,那么我就可以猴子称霸王,建立zigbee网络!我先翻个筋斗云四处看看(扫描信道),如果找到合适的洞穴(信道),并且知道其他洞穴的名字不叫“水帘洞”(扫描信道时候也知道了其他的PAN ID),我就创建水帘洞(PAN ID),不断的广播信标,召集其他孤猴,加入网络,建立花果山内的水帘洞(该地区的一个zigbee网络)。
2)通过协调器入网
小猴子(节点)加入水帘洞(入网)也是需要按规矩的,小猴子确定美猴王(协调器)的身份之后,需要向美猴王申请加入水帘洞即提出入洞请求(提出关联请求),然后美猴王根据洞中的资源(协调器资源)、猴位情况(网络配置等情况)再决定是否允许入洞(关联),然后响应小猴子的入洞请求。
3)通过已存在的FFD节点入网
小猴子成为水帘洞一员之后就可以作为其他小小猴子的爸爸(?),小小猴子就可以通过亲属关系入驻水帘洞(哈哈哈)
意思是节点和协调器关联成功之后,处于这个网络覆盖范围内的其他节点就可以以这些FFD节点作为父节点加入网络。
Zigbee路由协议
Zigbee标准支持树型路由协议、AODV路由协议、混合路由协议等。
AODV路由协议
简介:
适用于拓扑结构动态变化的无线网络(Ad hoc网络)。
考虑了速度受限和能量受限的情况。
是一种按需分配的路由协议,即只有当有节点想给某一个目标节点发送数据时,才会找出一条通往目标节点的路径。
无线传感器网络最重要的路由协议之一。
Zigbee对AODV协议进行了标准化,但具体帧结构和运行细节有所区别,这里主要介绍AODV路由协议的基本原理。
基本原理
(a) A在它的辐射范围内广播路由请求帧(ROUTE REQUEST)。
(b) B和D收到A的广播帧(ROUTE REQUEST)。
(c) C、F、G收到A的广播帧。
(d) E、H、I收到A的广播帧。
阴影节点表示新的接收节点,箭头表示反向路由。
正向路由请求帧传播过程:
ROUTE REQUEST到达某个节点的时候,节点查找本地历史纪录,如果处理过该帧,丢弃;否者将一对信息(源地址,请求ID【唯一的标识一个ROUTE REQUEST帧】)写入历史纪录中(用于识别将来可能重复的帧),然后查询自己路由表是否已有路径,如果查到一条比较新的路径(即路由表中的目标序列号【标记源节点看到过的最近的到达目标节点的路由的序列号值】大于等于ROUTE REQUEST中的目标序列号),则返回一个ROUTE REPLY。如果节点不知道较新路径,则增加跳计数域【记录帧经过了多少跳】,并且重新广播ROUTE REQUEST。
反向路径建立:
ROUTE REPLY由目标节点I发出后,沿着逆向路径返回到 源节点A,在每一个节点上,跳计数域都加1,这样每个节点都可以看到自己距离目标I有多远。
回程中每个节点都检查ROUTE REPLY帧,并更新自己到达目标I的路由信息,相当于所有节点都能捎带的得到了通往I的路由路径。
下面是实例:(左到右,上到下)
6LowPan草案
不想看了