我是靠谱客的博主 还单身牛排,这篇文章主要介绍Zigbee/SiliconLabs解读sdk文档(1) —— Mesh网络特性1. 背景介绍2. 目标和方法3. 测试结果4. 总结,现在分享给大家,希望可以做个参考。

本文目的:了解zigbee的mesh网络特性,比如多跳的延时、传输距离、丢包率等,有助于评估网络的适用场景和性能是否异常。

参考官方文档:an1138-zigbee-mesh-network-performance.pdf

目录

1. 背景介绍

1.1底层物理层和数据包结构

1.2网络路由差异

2. 目标和方法

2.1其他性能测试

3. 测试结果

3.1 测试配置

4. 总结


1. 背景介绍

1.1底层物理层和数据包结构

网络性能基于有效载荷大小,因为应用程序的使用不考虑数据包开销。

Zigbee 使用 IEEE 802.15.4 2006 和 127 字节数据包,底层数据速率为 250 kbps。 Zigbee 数据包格式如下所示,并产生 68 字节的有效负载。对于 68 字节以上的

有效载荷,Zigbee 将其分成多个数据包。我们的性能数据基于有效载荷大小,因为这是构建应用程序时需要关注的设计参数。

1.2网络路由差异

 Zigbee 支持多种路由技术,包括用于路由发现或组消息的网格泛洪、用于网格中受控消息的下一跳路由以及到网关的多对一路由,然后网关使用源路由到设备。 Zigbee 网络同时使用这些方法是正常的。

网络将较大的消息分割成较小的消息。对于 Zigbee,分片是在应用层完成的,从源端到目的端是端到端的。

对于这些网络中的单播转发,一旦设备准备好发送,消息就会被转发。对于多播转发,通常对如何转发消息有网络要求。对于 Zigbee 设备,组播消息仅在最多 64 毫秒的抖动后由设备转发。但是,发起设备在重新传输初始消息之前有 500 毫秒的间隙。

注意:此性能数据适用于 Silicon Labs 实施的这些网状网络堆栈。正如为本次测试提供的测试网络和基础设施所示,没有对其他堆栈或系统执行任何测试。

2. 目标和方法

评估网状网络性能、可扩展性和可靠性的测试。通常,在分析网络性能数据时,我们会考虑可以对网络进行哪些改进以提高性能。存在以下问题:

• 其他网络流量,因为可能有许多相互干扰的子网

• 来自普通建筑 Wi-Fi 基础设施的 Wi-Fi 干扰,因为这些技术通常在 2.4 GHz ISM 频段运行。

• 网络吞吐量和延迟以及大型网络多播延迟和可靠性,因为多播通常用于密集办公环境中的照

2.1其他性能测试

 没有特定的、已定义的方法来评估和报告大型网络的可靠性、可扩展性或延迟。该测试的重点是设备行为和对电池寿命的影响,以及网络吞吐量和延迟。大规模多播测试还需要从大型分布式网络中捕获准确的时间和可靠性信息。所有测试均使用 Silicon Labs 的 Wireless Gecko SoC 平台进行,该平台能够运行 Zigbee、Thread、蓝牙 Mesh 和专有 RF 协议,以消除设备本身作为测试的差异。

Table 2.1. Packet Loss for Distance and Average Round Trip

Distance Average Round Trip Packet Loss

20 meters 18.0 milliseconds 0%

50 meters 17.9 milliseconds 0%

75 meters 17.9 milliseconds 0.75%

85 meters 18.6 milliseconds 1.65%

该测试针对 50 字节的有效负载单播,间隔为 100 毫秒,安全关闭。请注意,Zigbee 不允许关闭安全性。结果显示 1 跳测试始终需要约 18 毫秒的往返时间。该测试在室内以各种干扰条件重复进行,但 1 跳的往返时间与 18 毫秒相差不大。

(剩下一写siliconlabs对自家模组的测试方法,这里略过)

3. 测试结果

3.1 测试配置

测6跳,一个源节点,一系列路由

此测试使用以下配置完成:

1. Zigbee 应用层消息

2. 延迟测试的数据包有效负载从 50 字节到最多 300 字节,以 50 字节为增量 3. 使用安全性完成测试

4. 从 1 到 6 跳

5. 在飞行中使用 2 个数据包(当从第一个…收到 ack 时发送第 3 个数据包)

6. 在给定 ack 时间的情况下尽可能快地发送

7. 以毫秒为单位测量往返延迟(源到目标到源)对于这些不同的网状网络中的每一个,如上所述,随着我们增加有效负载大小,数据包碎片会发生不同的情况。使用更大的数据包大小取决于应用程序层,但我们在此处提供比较数据以指示发生碎片时的相对性能。

在这个多跳延迟测试中,有几个项目值得注意,如下所示:

• 对于 250 字节的 1 跳有效负载,我们看到非常低的延迟(60 毫秒)。

• 使用 50 字节的有效负载(包含在 1 个数据包内),Zigbee 将延迟保持在 6 跳以下 140 毫秒以下。

• 延迟保持在 200 毫秒以下,除非负载超过 150 字节并且跳数超过 5。

4. 总结

Zigbee 表现出出色的可靠性和延迟,低于人类与设备交互通常所需的 200 毫秒时间。

Zigbee 网络在我们测试的 192 个节点网络中表现良好,除非广播频率被推得太高,然后 Zigbee 显示延迟增加。

随着网络规模扩大,增加的跳数和广播拥塞会导致延迟增加。随着数据包负载的增加,整个网络的延迟也会增加,但在测试 5、25 和 50 字节的负载时影响较小。当广播间隔降低到 1 秒时,最大延迟会增加,这对于某些应用程序可能是不希望的。

最后

以上就是还单身牛排最近收集整理的关于Zigbee/SiliconLabs解读sdk文档(1) —— Mesh网络特性1. 背景介绍2. 目标和方法3. 测试结果4. 总结的全部内容,更多相关Zigbee/SiliconLabs解读sdk文档(1)内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(46)

评论列表共有 0 条评论

立即
投稿
返回
顶部