Zigbee | Ember | 调用emberTick()的频率
来源:互联网 发布:腾讯抄袭知乎 编辑:程序博客网 时间:2024/05/17 07:06
标题的问题,也可以理解为,如何提高ember zigbee设备大规模组网的处理能力。
尽可能的调用emberTick函数,可以让协议栈保持良好时序,并和802.15.4 MAC兼容。至少,在每个while的周期内,应该调用该函数一次
如果当网络信息非常繁重的时候,尤其在接受端,该函数应该更多的被调用。理想情况是,当收到一个packet时,你应该在500ms内调用该函数,这样,就可以有大量的时间来进行ACK的回复,以避免发送端没有收到ACK,并达到传输时间上限(1.28s). 在最坏的情况下,只要你的接受消息队列没有溢出,就应该调用这个足够多次,更多的packet缓冲意味着在溢出前调用emberTick函数更多的灵活性。如果不能达到理想的情况,就意味着更多的信息retry,这样就会导致更多的交通堵塞以及更高概率的丢失信息。如果不能达到最差的情况,意味着你会丢失接受消息,有可能丢失所有的协议栈buffer。
需要牢记的是,调用emberTick次数较多时,也只有很少的影响,因为协议栈如果没在pending状态,协议栈会立即返回而不影响其他程序执行。当然,如果调用太频繁了,则会导致丢失信息,以及buffer的不足,也会增加路由包的发送延迟。
补充的个人观点:
对于ZED设备来说,每个while循环调用一次emberTick,一般足够。但是对于ZC设备,根据在大规模组网的实际测试情况来看,retry现象会很明显,甚至导致信息发送不正确。此时,多次调用emberTick将会是一个很不错的选择。
1 1
- Zigbee | Ember | 调用emberTick()的频率
- zigbee | Ember | EPID和PID
- 动态调节ZigBee终端节点POLL频率的应用
- Zigbee | Ember | 3种广播方式
- Silicon Lab Ember zigbee学习杂谈----Tokens
- PMON主动调用的频率控制
- Zigbee | Ember | polling 机制与协调器管理子节点
- Silicon Lab Ember Zigbee学习杂谈------zcl extension
- Silicon Lab Ember zigbee学习杂谈----------cli 扩展
- silicon lab ember zigbee学习杂谈 --------- 发送zcl command
- Silicon Lab Ember zigbee学习杂谈---zcl frame解析
- Silicon Lab Ember zigbee学习杂谈----simulated eeprom
- Silicon Lab Ember zigbee学习杂谈----custom event
- Silicon Lab Ember zigbee学习杂谈----profile、cluster、attribute、command
- zigbee中有几个不同的频率,是啥意思?有啥联系和区别
- Ember
- zigbee组网调用
- Ember.js 的初学者指南
- C变量和函数的存储类型
- 配置JSP的默认首页
- WCF入门教程一[什么是WCF]
- 拓补排序
- WCF入门教程二[WCF应用的通信过程]
- Zigbee | Ember | 调用emberTick()的频率
- HDU5410 CRB and His Birthday
- WCF入门教程三[WCF的宿主]
- C语言内存分布(BSS段、数据段、代码段、堆与栈)
- 我的C++ primer plus第3章作业总结
- WCF入门教程四[WCF的配置文件]
- c# http get post 用法
- WCF入门教程五[WCF的通信模式]
- ACM到底该不该坚持??