2017-01-19 7 views
1

각 노드가 일정한 간격으로 전송하는 수중 통신 네트워크를위한 간단한 TDMA 프로토콜을 시뮬레이션하고 싶습니다. UnetStack에 어떻게 구현합니까?UnetStack에서 TDMA 구현하기

UnetStack document on MAC은 간단하고 스로틀 MAC 프로토콜의 예를 제공하지만, 내가 어떻게 일정한 간격으로 전송하는 노드는받을 수 있나요? UnetStack를 사용하여 작성

답변

1

전형적인 에이전트는 new behaviors to itself를 추가 할 수 있습니다.

프로토콜과 같은 TDMA의 노드에서 요구하는 일정한 간격으로 전송하기 위해서는, 당신의 에이전트는 정기적으로 전송하는 PHY agent을 지시 할 수 있습니다. 티커 동작을 사용하여 구현할 수 있습니다.

호출 사이에 지정된 지연 반복적으로 TickerBehavior 실행됩니다. TickerBehavior이 코드를 사용하여 에이전트에 추가 할 수 있습니다

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

nodeAddress는에 정보를 전송하려고하는 노드의 주소입니다. TxFrameReq you can check out the documentation에 대한 자세한 내용.