在 UnetStack 中实现 TDMA
Implementing TDMA in UnetStack
我想为水下通信网络模拟一个简单的 TDMA 协议,其中每个节点定期传输。我如何在 UnetStack 中实现它?
UnetStack document on MAC 给出了简单和节流 MAC 协议的示例,但是我怎样才能让节点定期传输?
使用 UnetStack 编写的典型代理可以添加 new behaviors to itself.
为了按照 TDMA 类协议中节点的要求定期传输,您的代理可以指示 PHY agent 定期传输。这可以使用代码行为来实现。
A TickerBehavior 以指定的调用间隔重复运行。可以使用以下代码将 TickerBehavior 添加到您的代理中:
add new TickerBehavior(1000*slotlength, {
phy << new TxFrameReq(to: nodeAddress, type: Physical.DATA)
})
其中 slotlength
以秒为单位,nodeAddress
是您尝试将信息传输到的节点的地址。有关 TxFrameReq you can check out the documentation.
的更多信息
我想为水下通信网络模拟一个简单的 TDMA 协议,其中每个节点定期传输。我如何在 UnetStack 中实现它?
UnetStack document on MAC 给出了简单和节流 MAC 协议的示例,但是我怎样才能让节点定期传输?
使用 UnetStack 编写的典型代理可以添加 new behaviors to itself.
为了按照 TDMA 类协议中节点的要求定期传输,您的代理可以指示 PHY agent 定期传输。这可以使用代码行为来实现。
A TickerBehavior 以指定的调用间隔重复运行。可以使用以下代码将 TickerBehavior 添加到您的代理中:
add new TickerBehavior(1000*slotlength, {
phy << new TxFrameReq(to: nodeAddress, type: Physical.DATA)
})
其中 slotlength
以秒为单位,nodeAddress
是您尝试将信息传输到的节点的地址。有关 TxFrameReq you can check out the documentation.