过去几周,我试图了解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请求节点的顺序(顺序)?
预先感谢
最好的问候, 古尔山索尼人
答案 0 :(得分:0)
自从我阅读802.15.4标准以来已经有很多年了,但是从内存来看,它没有指定如何分配GTS插槽。您提到的FCFS方法只是最简单(更直接)的方法,通常在需要实现802.15.4标准的情况下使用,因为我们需要决定如何分配GTS插槽。但是该标准本身并未指定分配插槽的特定方法(或者至少在过去没有,可能情况有所改变)。
我假定您使用的是Castalia的最新版本(GitHub上master分支的HEAD)或至少标记为3.3的版本。
自Castalia 3.3起,我们决定将基本的802.15.4协议与GTS插槽的分配方式明确分开。这样,您可以轻松实现自己的分配方案。您会注意到,在node/communication/mac/mac802154/
目录中,您可以获得该协议的基本功能。这部分只是基线。它不是完整的协议,因为它没有定义分配插槽的方法。分配插槽的最简单方法是在子目录staticGTS802154
中定义。在这里,“静态”只是意味着我们得到了一个简单的FCFS方案,并且分配在帧与帧之间没有变化。
如果要在仿真中使用802.15.4,则必须命名实际的GTS分配模块。唯一公开可用的是staticGTS802154。