ZigBee协议栈速读 我们无法预料将来ZigBee会基于怎样的底层技术,只好从它现在的底层——IEEE 802.15.4开始了解,IEEE 802.15.4包括物理层和MAC层两部分。ZigBee工作在三种频带上,分别是用于欧洲的868MHz频带,用于美国的915MHz频带,以及全球通用的2.4GHz频带,但这三个频带的物理层并不相同,它们各自的信道带宽分别是0.6MHz, 2MHz和5MHz,分别有1个,10个和16个信道。不同频带的扩频和调制方式也有所区别,虽然都使用了直接序列扩频(DSSS)的方式,但从比特到码片的变换方式有比较大的差别;调制方面都使用了调相技术,但868MHz和915MHz频段采用的是BPSK,而2.4GHz频段采用的是OQPSK。我们可以以2.4GHz频段为例看看发射机基带部分的框图(如图1),可以看到物理层部分非常简单,而IEEE 802.15.4芯片的低价格正是得益于底层的简单性。可能我们会担心它的性能,但我们可以再看看它和Bluetooth/IEEE 802.15.1以及WiFi/IEEE 802.11的性能比较(如图2),在同样比特信噪比的情况下,IEEE 802.15.4要优于其他两者。直接序列扩频技术具有一定的抗干扰效果,同时在其他条件相同情况下传输距离要大于跳频技术。在发射功率为0dBm的情况下,Bluetooth通常能有10m作用范围,而基于IEEE 802.15.4的ZigBee在室内通常能达到30~50m作用距离,在室外如果障碍物较少,甚至可以达到100m作用距离;同时调相技术的误码性能要优于调频和调幅技术。因此综合起来,IEEE 802.15.4具有性能比较好的物理层。另一方面,我们可以看到IEEE 802.15.4的数据速率并不高,对于2.4GHz频段只有250kb/s,而868MHz频段只有20kb/s,915MHz频段只有40kb/s。因此我们完全可以把它归为低速率的短距离无线通信技术。
图1 IEEE 802。15.4 物理层2.4GHz频段发射机基带框图 图2 几种无线通信技术性能比较 物理层的上面是MAC层,它的核心是信道接入技术,包括时分复用GTS技术和随机接入信道技术CSMA/CA。不过ZigBee实际上并没有对时分复用GTS技术进行相关的支持,因此我们可以暂不考虑它,而专注于CSMA/CA。ZigBee/IEEE 802.15.4的网络所有节点都工作在同一个信道上,因此如果邻近的节点同时发送数据就有可能发生冲突。为此MAC层采用了CSMA/CA的技术,简单来说,就是节点在发送数据之前先监听信道,如果信道空闲则可以发送数据,否则就要进行随机的退避,即延迟一段随机时间,然后再进行监听,这个退避的时间是指数增长的,但有一个最大值,即如果上一次退避之后再次监听信道忙,则退避时间要增倍,这样做的原因是如果多次监听信道都忙,有可能表明信道上的数据量大,因此让节点等待更多的时间,避免繁忙的监听。通过这种信道接入技术,所有节点竞争共享同一个信道。在MAC层当中还规定了两种信道接入模式,一种是信标(beacon)模式,另一种是非信标模式。信标模式当中规定了一种“超帧”的格式,在超帧的开始发送信标帧,里面含有一些时序以及网络的信息,紧接着是竞争接入时期,在这段时间内各节点以竞争方式接入信道,再后面是非竞争接入时期,节点采用时分复用的方式接入信道,然后是非活跃时期,节点进入休眠状态,等待下一个超帧周期的开始又发送信标帧。而非信标模式则比较灵活,节点均以竞争方式接入信道,不需要周期性的发送信标帧。显然,在信标模式当中由于有了周期性的信标,整个网络的所有节点都能进行同步,但这种同步网络的规模不会很大。实际上,在ZigBee当中用得更多的可能是非信标模式。 |