在UnetStack中实现TDMA



我想模拟一个简单的水下通信网络TDMA协议,其中每个节点定期传输。如何在UnetStack中实现这一点?

MAC 上的 UnetStack 文档给出了简单和受限制的 MAC 协议的示例,但是如何让节点定期传输?

使用 UnetStack 编写的典型代理可以向自身添加新行为。

为了按照类似 TDMA 协议中的节点的要求定期传输,您的代理可以指示 PHY 代理定期传输。这可以使用股票代码行为来实现。

TickerBehavior 以指定的调用延迟重复运行。可以使用以下代码将 TickerBehavior 添加到代理中:

add new TickerBehavior(1000*slotlength, {
   phy << new TxFrameReq(to: nodeAddress, type: Physical.DATA)
})

其中slotlength以秒为单位,nodeAddress是您尝试向其传输信息的节点的地址。有关 TxFrameReq 的更多信息,您可以查看文档。

相关内容

  • 没有找到相关文章

最新更新