WARP Project Forums - Wireless Open-Access Research Platform

You are not logged in.

#1 2016-Jun-14 07:14:06

ofka3419
Member
Registered: 2015-Nov-20
Posts: 13

Share timestamp between nodes

Hi

Ive read few posts similar but haven't found a good solution.

I want to share the same timestamp value between multiple nodes using the 802.11 framework. From this post you recommend using beacon tim updates to correct local timer.

How accurate is this function? Does it take account of preamble duration? There is no way to account for propagation delay obviously

So is there a better way to share timestamp? Wires are not impossible. Perhaps a 64bit wide bus between two nodes?

Offline

 

#2 2016-Jun-14 08:43:54

murphpo
Administrator
From: Mango Communications
Registered: 2006-Jul-03
Posts: 5159

Re: Share timestamp between nodes

How accurate is this function? Does it take account of preamble duration? There is no way to account for propagation delay obviously

In our experience this approach is robust if the STA receives beacons with high probability. The STA code adjusts the RX_START_TIMESTAMP value by its own Rx PHY start delay. This accounts for the preamble duration and the SIGNAL field decoding latency. This adjustment is implemented in wlan_mac_dcf.c : frame_receive(). You're right that this approach cannot account for propagation delay.

So is there a better way to share timestamp?

The ref design also supports setting node MAC times via wlan_exp. The wlan_exp package includes a util method broadcast_cmd_set_mac_time(). This method uses a broadcast Ethernet packet to set the MAC times of all nodes with a single command. This approach avoids any wireless propagation times. But it will exhibit jitter due to different propagation times of the broadcast Ethernet packet to each node. For example, some Ethernet switches implement broadcast packets by forwarding the packet to each port sequentially, while some switches pipeline this process with very small skew across ports.

Also keep in mind that each node maintains its MAC time via its local oscillator. The TCXO on WARP v3 is spec'd to ±3ppm. Thus, if you do not re-synchronize nodes via one of the methods above, you should expect each node's MAC time to drift by a few µsec per second. If you resync timestamps every ~100msec (via beacons, for example), the worst-case inter-beacon drift will be <1µsec.

Offline

 

#3 2016-Jun-14 17:55:30

ofka3419
Member
Registered: 2015-Nov-20
Posts: 13

Re: Share timestamp between nodes

Thank you for this reply. I will use broadcast_cmd_set_mac_time() to try.

Offline

 

Board footer