如何通过多协议蓝牙和Zigbee连接扩展设备功能?
|
Silicon Labs多协议调度考虑了要调度的协议,并使用基于优先级的调度方法。蓝牙需要固定的连接间隔才能有效运行,而采用MAC重传方法的Zigbee更加宽容。因此,对于Zigbee和蓝牙多协议操作,蓝牙以更高的优先级运行。由于使用RAIL、无线电调度器和Micrium OS的无线协议栈具有统一的体系结构,该系统能够使用基于优先级的调度方法来平衡Zigbee和蓝牙操作。
在单个无线电上进行Zigbee和蓝牙操作的调度要求 许多调度方案可能都要求使用单个无线电实现Zigbee和蓝牙的正确操作。调度器可以配置成使得任一协议在无线访问方面具有更高的优先级。但是,最可能的配置是使蓝牙连接和信标具有更高的优先级,并且在不执行其他任何操作时将无线电保持在Zigbee接收模式。 ![]() 具有优先权的Bluetooth LE和Zigbee后台接收 在上图中,我们可以看到低优先级的Zigbee接收是默认的,但是当需要Zigbee传输时,它将中断该过程。这是Zigbee设备的正常行为。当Bluetooth LE连接被调度时,采用先例,调度器要及时退出Zigbee接收模式,以用于蓝牙连接。如果调度器要求进行Zigbee传输的请求超过下一个蓝牙连接或信标发出之前无线电上可用的时间,则调度器将重新安排Zigbee传输以在蓝牙活动完成之后进行。 如果Zigbee数据包的传输时间超出了预期,可能是由于退避或清除信道评估所致,调度器可以中断该传输并切换到蓝牙。如图2所示,对于Zigbee协议栈来说,这看起来像是一次失败的尝试,因此它进行了重传,这次成功了。 ![]() 蓝牙连接中断Zigbee传输 同样,如果远程Zigbee节点在处于蓝牙连接或信标中间时尝试将数据包发送到设备,则该设备将无法接收该数据包,但是发送设备将重传(IEEE 802.15.4 MAC重传),数据包将在第二次尝试时被接收。另外,如果在建立蓝牙连接或信标时设备正处于接收Zigbee数据包的中间,调度器可能会中断数据包的接收,并且发送设备将不会收到确认。因此,它将重传并在第二次尝试时被成功接收。图3显示了这两种情况。
无线电调度器必须处理各种情况,以管理无线协议之间的冲突,但是各个协议栈彼此并不会有任何察觉,只是他们必须请求访问无线电并且判断它们的发送或接收是否成功。 评估动态多协议性能 为了了解运行多协议时的设备行为,重要的是测量和比较多种配置下的性能。对于在同一SoC和单个无线电上运行Zigbee和蓝牙的情况,方案可能包括: Zigbee吞吐量对比蓝牙连接和/或广播间隔 Zigbee延迟对比蓝牙连接和/或广播间隔 Zigbee吞吐量或延迟对比变化的蓝牙数据包类型和大小 Zigbee重试和网络行为对比变化的蓝牙连接和/或广播 ![]() 动态多协议测试设置 使用图4中概述的测试设置,在Silicon Labs Wireless Gecko STK板上使用辐射测试设置执行的示例测试给出以下结果: 对于显示结果,我们使能了802.15.4 MAC和Zigbee NWK层重传,但未使能Zigbee APS层重传。该设备配置为在单个跳跃点上传输70个字节的有效负载,同时在指定的连接间隔内保持蓝牙连接并保持活动状态。随着蓝牙连接间隔的减小,由于Zigbee网络上无线电时间的减少,蓝牙连接事件的数量增加,Zigbee吞吐量降低。需要注意的是,这里获得了100%的端到端消息可靠性,并且虽然由于较长的数据传输时间导致吞吐量降低,但没有丢失Zigbee应用消息。
(编辑:52刷机网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |






