- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
如何开发更具鲁棒性的ZigBee解决方案
2. 采用模块
模块提供了比芯片组更多的优点。选用模块可以为开发商节省成本,省去痛苦的RF前端设计、样机设计、产品测试和EMC测试。模块提供商已经通过了严格的应用测试和网络协议栈测试,并且已经加入简化ZigBee接口的一些功能。特别是MaxStream XBee模块还提供了固件,这些固件提供了鲁棒性的网状组网、可靠寻址甚至信道迁移策略,为的是解决尚未解决的ZigBee问题。
如果模块固件不能满足某个特定应用的需求,某些模块提供商还提供了一个灵活的选择。某些情况下(包括MaxStream XBee模块),设计师能够在模块硬件上开发自己的应用,并定制满足其需求的ZigBee应用。这样的方案虽然需要一些固件开发,但仍然节省了与RF设计、样机设计和EMC测试相关的时间和成本。
3. 采用芯片组
如果采用芯片组,设计师必须准备支持无线设计所需的大量设计、测试和生产要求。在定制板上使用芯片组要求支持硬件生产工艺,包括板级测试、调试和返工。如果选用此方案,必须从IEEE获得一个24位的OUI,以便为每个设备分配一个唯一的6?位地址。
当定制板采用芯片组时,设计师还必须选用一个ZigBee网络层协议栈。设计师必须将协议栈连接到他们的硬件上,细心地测试ZigBee应用,并评估网络性能。上述未解决的许多问题甚至所有的ZigBee问题都必须在应用中解决,这将大大地增加研发时间方面的开销。
4. 设备开发
如果必须在芯片组或模块平台上开发定制固件,下面的步骤将会有用。
5. 选择框架类型
在着手开发ZigBee设备前,设计师必须确定是公共框架还是专用框架更能满足需求。设备是需要与与其它普通的ZigBee产品兼容,还是只适合特定的应用?协议栈参数是否需要调整到最佳性能?如果专用框架更合适,就需要向ZigBee联盟申请一个专用框架。
6. 确定路由策略
开发商应该清楚是否允许使用树状路由。对于简单的静态网络,树状路由将足够。如果某些节点有可能去掉,或者需要可靠的数据传输,树状路由就显得不足了。此时,就需要花些时间对协议栈何时调用路由发现进行评估。
如果所选的ZigBee协议栈符合增强型ZigBee规范,应用层就可以利用路由发现请求原语和nwkUseTreeRouting属性来控制路由发现和去除树状路由。如果采用的是网状路由,开发商应该考虑当所有的路由表入口都被占用的情况下系统将如何执行。因为ZigBee规范并不对老化路由和过期路由表条目进行监管,因此一些ZigBee协议栈实现不会去除旧的路由表条目。一旦所有的路由表条目被占用,设备将不能再参与路由发现。如果协议栈无法老化或取代过期条目,应用层就应该加入自己的监管措施来实现。
7. 考虑固定信道操作
对于许多应用,即便是存在突发干扰,ZigBee网络也可以可靠地工作在固定信道上。但是,对于那些必须与其它系统共同工作在同一频段的系统,或者无法允许数据包偶然丢失的系统,则有必要支持信道的迁移。因为目前的ZigBee规范还没有定义信道迁移机制,应用开发商可以自行决定将网络迁移到一个新信道的条件,并开发相应的实现方案。
8. 克服寻址限制
在许多应用中,目前的网络地址分配机制是足够的。但是,为了防止地址重复的可能,更具鲁棒性的ZigBee解决方案应具有复位网络地址的能力(如协调器被替换时)。