FPGA sample timestamps

Hi all,

For one of our applications we think we need timestamps for some or all
samples coming across the USB bus. I know there was some mention of this
a while ago on the list, but I didn’t find an open ticket on Trac.

Obviously we would submit our changes back to gnuradio for inclusion in
the project. For this reason, I’d like to know what requirements
gnuradio has for FPGA timestamps, and what work, if any, has been done
on this so far.

Thanks,
Roshan B.

Hi Roshan,

With the in-band signaling implementation we have added timestamps to
all data across the USB bus. You can find the new packet structure
here:
http://gnuradio.org/trac/browser/gnuradio/trunk/usrp/doc/inband-signaling-usb

I’m not sure what kind of application you want to create or use, but if
you’re building something from scratch you can use some of the test
files we have created as the base framework:
http://gnuradio.org/trac/browser/gnuradio/trunk/usrp/host/apps-inband

If you take a look at test_usrp_inband_rx.cc, it extracts the timestamp
here:
http://gnuradio.org/trac/browser/gnuradio/trunk/usrp/host/apps-inband/test_usrp_inband_rx.cc#L308

A more extensive use of the timestamp field on the transmit side is
here:
http://gnuradio.org/trac/browser/gnuradio/trunk/usrp/host/apps-inband/test_usrp_inband_timestamps.cc

It uses timestamps to space out transmissions on the USRP.

The caveat is that this code is written using the new m-block, and there
is still no connection between m-block’s and standard GR blocks yet.
pings Eric :slight_smile:

The in-band signaling uses new FPGA code for handling the new USB block
format and the RBF is not provided anywhere in the source tree. If you
choose to use this, you can either build the FPGA code yourself using
the ‘inband-usb’ code, or you can just e-mail me and I will send you our
newest prebuilt RBF.

The final warning is that the FPGA code in the trunk has an RX problem
which causes it to lock up. The code in
‘branches/developers/zhuochen/inband’ includes the fix, we are waiting
for 1 more piece of code to be implemented before merging down. (just in
case you want to try and build yourself)

  • George