IEEE 802.15.4为什么是一个低功耗协议(原创)

转自: http://hi.baidu.com/a263238386/item/e51e5a9cc5b1fadf1e42712a


半年以来一直在做IEEE 802.15.4,对 IEEE 802.15.4为什么是一个低功耗协议 这个问题有了一点看法。

这个问题困扰了本人好久,大家都在做zigbee,但zigbee到底哪里好,为什么都要用zigbee的问题还是比较迷糊。等到比着规范看完了协议代码,才有了一丝明悟。

从两个方面说吧 ,屋里层低功耗,和MAC层低功耗

1.物理层
首先IEEE 802.15.4目标是为在个人操作空间(personal operating space, POS)内相互通信的无线通信设备提供通信标准。POS一般是指用户附近10米左右的空间范围,在这个范围内用户可以是固定的,也可以是移动的。
因为其范围小,所以需要的发射功率就小,众所周知发射功率随着距离的增长呈指数级增长,而发射功率是整个无线节点耗电量最大的,发射功率较低无疑是从根本上决定了这是一个低功耗的协议。

2.MAC层
个人认为zigbee协议最重要的就是MAC层了,它控制着节点接入无线信道的方法,发起网络,关联等一些核心操作都是MAC层完成的,而且正是因为有个IEEE 802.15.4的MAC层,才更决定了这是一个低功耗协议。

要说MAC层的低功耗,不得不提的一个概念是 超帧

首先说明一个点,超帧不是一个 实际的物理层帧,而是一种时隙划分方式

分析一下无线网络系统之中功耗的因素,无线收发模块肯定是耗电大户,所以尽可能的让无线收发机处于不工作状态是我们的目标,但是收发机不工作了,就没办法接收数据了,我们怎么才能让节点自己知道我该什么时候开启无线收发机,这就是超帧的作用了。

IEEE 802.15.4为什么是一个低功耗协议(原创)_第1张图片 

在竞争访问时段,IEEE 802.15.4网络设备使用带时槽的CSMA-CA机制,并且任何通信都必须在竞争访问时段结束前完成。
在非竞争时段,协调器根据上一个超帧期间PAN网络中设备申请GTS(Guaranteed Time Slots)的情况,将非竞争时段划分为若干个GTS。每个GTS由若干个时槽组成,时槽数目在设备申请GTS时指定。如果申请成功,申请设备就拥有了它指定的时槽数目


上面那个图太过专业,下面来个简单易懂的

IEEE 802.15.4为什么是一个低功耗协议(原创)_第2张图片 
listen期间,收发机开启,可以通过RF中断接受数据,sleep期间,收发机关闭


超帧的时隙划分是有几个参数决定的
Beacon Order(BO)称信标级数,它决定着信标的发送周期(Beacon Interval,BI), BI = aBaseSuperframeDuration × 2BO 。
Superframe Order (SO) 称超帧级数,它决定着超帧中活跃期持续的时间(Superframe Duration,SD), SD= aBaseSuperframeDuration × 2SO 。
aBaseSuperframeDuration  为MAC 协议PIB中的一个常量值,它是当超帧级数为 0 时形成一个超帧所占的符号数。 
aBaseSuperframeDuration被规定为960 symbols;
BO的取值范围为0到14,当BO为15时,表示不使用超帧结构;
SO的取值范围也是0到14,但必须保证SO不大于BO,当SO等于BO时,表示该超帧中不包含非活跃期。


协调器通过发送信标帧的方式,将这个参数发送出去,每个节点在收到信标的时候就可以根据这几个参数来知道当前网络内的时隙划分了,从而也就知道自己什么时候该开收发机接受数据了

你可能感兴趣的:(IEEE 802.15.4为什么是一个低功耗协议(原创))