Z-STACK网络建立过程

http://blog.21ic.com/user1/6983/archives/2010/73870.html


先看看Packet Sniffer抓取的网络建立过程的图片,这里有一个Coordinator和一个Router。

 

从上面可以看到建立网络的整个过程如下

1.Coordinator首先上电,完成网络的初始化,选择一个合适的信道,并且为自己的网络选择一个PAN_ID(网络标识符),然后周期的向周围发生beacon request的包。

2.这时间将Router上电,这样Router会首先向周围的环境做一个信道能量扫描选择一个能量比较合适的信道进行网络搜寻。这里需要注意的是信道能量是有一个等级的,在ZSTACK里面会有一个门限值,当这个能量低于这个门限会被认为没有网络,在这不我们卡了很久。当信道选择好之后,Router也会周期性的向周围发送beacon request的包来寻求Coordinator的回复。

3.当Coordinator接受到Router的beacon request包之后会发送一个包含自己IEEE MAC地址的超帧。主要目的是为了将自己的MAC地址(64位)交给Router,以便后续的通信。

4.Router接受到超帧之后,将Coordinator的MAC地址保存,并利用这个地址向Coordinator发生一个Association Request的包,这个包目的是寻求加入网络。收到Coordinator的MAC层的确认帧之后,紧接着发生一个Data Request的包来寻求Coordinator给其分配的16位网络短地址。

5.上述工作做完网络就已经建立一大半了,当Coordinator接收到Data Request之后,首先经过NWK层的算法为其分配一个唯一的网络短地址,然后向Router发送一个包含其网络短地址的包,这个包是通过MAC地址发送的。

6.当Router接受到这个包之后,配置自己的短地址为XXXX,然后就可以利用这个短地址和Coordinator进行应用层的通信了,走到这步就表示Router已经成功加入到网络了。

 

这里面涉及到的东西有:ZigBee帧类型,ZigBee地址类型会在下一次说明。


你可能感兴趣的:(ZigBee)