zigbee - 如何在 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 请求节点的顺序(顺序)?
提前致谢,
最好的问候,古尔山索尼
解决方案
自从我阅读 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。
推荐阅读
- jquery - 插入按钮后按钮单击功能将不起作用
- reactjs - redhat centos 7如何重启tomcat服务器?
- arrays - 似乎无法让这个数组与 splice 一起使用
- javascript - 日期转换导致时区问题
- reactjs - 使用 React 测试库和 Jest 测试悬停在悬停操作之前显示属性
- c# - 机器人遇到错误或错误。要继续运行此机器人,请修复机器人源代码
- php - MySQL 查询以获取最新帖子 wrt 创建日期和回复日期
- amazon-cloudwatch - 使用 CLI 从 Cloudwatch 获取 Container Insight 日志
- jsonschema - 在 IF 条件中引用内部属性 - JSON Schema
- python - 如何使用三位数密码暴力破解受密码保护的 zip 文件?