首页 > 解决方案 > 如何在 Castalia Simulator 的 Mac 802.15.4 中分配 GTS 插槽?

问题描述

过去几周,我试图了解 Castalia Simulator 中 802.15.4 mac 协议(Mac802154.cc 等文件)的实现。

我面临一些困难,这些困难如下:-

1) 根据 IEEE 802.15.4 标准,协调器 (FFD) 节点根据 FCFS 方法将可用的 GTS 时隙分配给节点(请求 GTS 时隙)。我试图找出协调节点(FFD)如何在 Mac802154.cc 文件中将 GTS 插槽分配为 FCFS 基础,但我无法理解。

2)协调器(FFD)节点如何决定节点的顺序(顺序),即请求 Mac802154.cc 文件中的 GTS 插槽,我如何更改 GTS 请求节点的顺序(顺序)?

提前致谢,

最好的问候,古尔山索尼

标签: zigbee

解决方案


自从我阅读 802.15.4 标准以来已经有很多年了,但是从记忆中,它没有指定 GTS 插槽是如何分配的。您提到的 FCFS 方法只是最简单(更直接)的方法,通常在有人需要实现 802.15.4 标准时使用,因为我们需要决定如何分配 GTS 插槽。但是标准本身并没有指定分配插槽的特定方式(或者至少在过去没有,也许事情已经改变了)。

我假设您使用的是最新版本的 Castalia(GitHub 中主分支的 HEAD)或至少标记为 3.3 的版本。

从 Castalia 3.3 开始,我们决定将基本的 802.15.4 协议与 GTS 插槽的分配方式明确分开。通过这种方式,您可以轻松实现自己的分配方案。您会注意到,在node/communication/mac/mac802154/目录中您可以获得协议的基本功能。这部分只是基线。它不是一个完整的协议,因为它没有定义分配槽的方法。分配槽的最简单方法是在子目录中定义的staticGTS802154。这里的“静态”只是意味着我们得到了一个简单的 FCFS 方案,并且分配不会因帧而异。

当您想在模拟中使用 802.15.4 时,您必须命名一个实际的 GTS 分配模块。唯一公开可用的是 staticGTS802154。


推荐阅读