|Version 11 (modified by 4 years ago) ( diff ),|
Getting started with RFNoC X310
Table of Contents
- SDR Tutorials
- Multi Channel Sample Processing & Visualization
- Plot the IQ Constellation of received signal
- Full-Duplex Wireless using USRP N210
- Hardware / Software Resources Utilized
- Set Up
- Run the Experiments
- Example Experiment 1: A Real-Time Full-Duplex Radio with OFDM PHY (GNU …
- Example Experiment 2: A Simple Full-Duplex Radio Experiment (Terminal …
- Full-Duplex Wireless using USRP N210
This tutorial is a guide for getting started with RFNoC using an USRP X310 on ORBIT grid. Before starting to experiment with RFNoC, here are a couple of useful presentations, write ups from Ettus Research, that one should go through.
- Make a reservation on the Orbit Scheduler for using the grid.
- Load baseline-rfnoc-labtools.ndz on an ORBIT node with USRP X310.
omf load -i baseline-rfnoc-labtools.ndz -t node18-20
- Once imaging is done, turn the node on
omf tell -a on -t node18-20
- Wait for the node to turn on and log in
Testing the installation
The image that was loaded, contains UHD rfnoc-devel branch installation as mentioned in the RFNoC getting started guide.
- Run uhd_find_devices - you can see that the UHD version is shown as UHD_003.010.rfnoc-285-gb9765c42
root@node18-20:~# uhd_find_devices --args="addr=192.168.10.2" linux; GNU C++ version 4.8.2; Boost_105400; UHD_003.010.rfnoc-285-gb9765c42 -------------------------------------------------- -- UHD Device 0 -------------------------------------------------- Device Address: type: x300 addr: 192.168.10.2 fpga: HGS name: hakuna matata serial: F4FD2A product: X310
- Run uhd_usrp_probe. This might throw an error as shown below, as the X310 might contain a firmware build that is not compatible with the RFNoC UHD installation.
root@node18-20:~# uhd_usrp_probe --args="addr=192.168.10.2" linux; GNU C++ version 4.8.2; Boost_105400; UHD_003.010.rfnoc-285-gb9765c42 -- X300 initialization sequence... -- Determining maximum frame size... 8000 bytes. -- Setup basic communication... ========================================================= Warning: Expected FPGA compatibility number 1000, but got 9: The FPGA image on your device is not compatible with this host code build. Download the appropriate FPGA images for this version of UHD. Please run: "/usr/local/lib/uhd/utils/uhd_images_downloader.py" Then burn a new image to the on-board flash storage of your USRP X3xx device using the image loader utility. Use this command: "/usr/local/bin/uhd_image_loader" --args="type=x300,addr=192.168.10.2" For more information, refer to the UHD manual: http://files.ettus.com/manual/page_usrp_x3x0.html#x3x0_flash========================================================= Error: RuntimeError: Expected firmware compatibility number 4.0, but got 3.0: The firmware build is not compatible with the host code build. Please run: "/usr/local/lib/uhd/utils/uhd_images_downloader.py"
- In case of the above error, you can burn the appropriate FPGA image using uhd_image_loader as shown above, or using usrp_x3xx_fpga_jtag_programmer.sh found in uhd/tools.When the jtag programmer is used, the FPGA image is lost on power cycling.
root@node18-20:~/uhd/tools# ./usrp_x3xx_fpga_jtag_programmer.sh --fpga-path="/usr/local/share/uhd/images/usrp_x310_fpga_HGS.bit" ======================================= Copyright 2014 Ettus Research LLC JTAG Programming Tool ======================================= ==== Generating impact batch file 1eRfmtCb.impact.cmd... ==== Running impact -- loading /usr/local/share/uhd/images/usrp_x310_fpga_HGS.bit into the FPGA...
- Now running uhd_usrp_probe should print out a lot of messages with this at the end : the list of RFNoC blocks in the current FPGA image.
-- ========== Full list of RFNoC blocks: ============ -- * 0/Radio_0 -- * 0/Radio_1 -- * 0/AddSub_0 -- * 0/FIR_0 -- * 0/FFT_0 -- * 0/Window_0 -- * 0/NullSrcSink_0 -- * 0/LogPwr_0 -- * 0/MovingAverage_0 -- * 0/VectorIIR_0 -- * 0/KeepOneInN_0 -- * 0/fosphor_0 -- * 0/FIFO_0