关于zigbee的同步机制

2025-03-12 02:53:41
推荐回答(3个)
回答1:

按照ZIGBEE的标准,默认情况下协调器要求要求终端给协调器发送DATA_REQUEST之后协调器才将数据发送给终端,协调器同时间只能处理一个数据请求,所以如果采集节点是终端是不能同时收到指令的。如果要达到这样的要求且供电不是问题你可以将采集节点配置成路由。

回答2:

“所有的终端同一时刻进行采集”这个同一时刻要求很严格吗
因为不管你是网状物还是树状网,严格意义上为避免通信的冲突,消息传送是分时的。
你所说的功能一般是通过广播实现的,从我以往的实验来看,它们能在比较宽泛的程度上达到同时接收到指令并进行采集。
如果需要较严格的同步,需要另外自己做工作,zigbee协议里好像没有这一块。
我用的TI的Z-STACK

回答3:

Zigbee的广播机制:
广播数据在发出后,其余有广播能力的节点如rouer在收到后会转发这个广播包,如此一层层往后跳以保证整个网络都能收到这个广播。同时,任何一个节点在发送或转发这个广播包的时候会监听自己的邻居有没有进行转发,如有没进行转发的,说明该邻居可能没有收到,会进行重发。
如此,一旦网络规模大了整个广播包会在空中存在较长时间,所以Zigbee联盟设定了nwkBroadcastDeliveryTime这个属性,用来说明一个广播包最多有效的时间。而在这段时间内,发起者都会保留这个广播包放在一个table中。比如这个table默认最多能存10个这样的包,所以连续发送的话,发送10个时候这个table就存满了,新的包就不能发送了,必须等待有数据过期后才有新的数据能发出。