| Version 30 (modified by , 5 years ago) ( diff ) |
|---|
[[Include(WikiToC)]]
== Using Sivers mmWave equipment on COSMOS SandBox1 ==
=== Description ===
A pair of Sivers EVK06002s, evaluation kits for Sivers IMA TRX BF/01, are deployed on COSMOS SandBox1. TRX BF/01 is a 16+16 IEEE802.11ad Beamforming Transceiver with a complete Radio front-end with 57-66 GHz mmWave frequency range.
Current mmWave setup in COSMOS SB1 looks as shown in the figure below.
|| [[Image(MISO_tutorial.jpg, 900px)]] ||
Baseband data samples to Sivers front-ends are fed by USRP X310s with BasicTX and BasicRX daughtercards. BasicTX (https://www.ettus.com/all-products/basictx/) daughtercard is a simple wideband (250MHz) interface to the raw DAC signals from USRP. Similarly BasicRX (https://www.ettus.com/all-products/basicrx/) provides a simple, wideband interface to USRP ADCs. The raw data can be generated/processed in the FPGA on USRP X310 and can be transferred to the host servers srv1-lg1, srv2-lg1 over 10G Ethernet link for further processing/storage.
Control software for Sivers front-ends runs on srv3-lg1 and srv4-lg1. srv3-lg1 is directly connected to Sivers SN0243 and srv4-lg1 is connected to Sivers SN0240. These servers also have a direct USB connection to the X310s, for JTAG programming.
This tutorial demonstrates how to transmit and receive a signal in the 60GHz mmWave spectrum using these Sivers front-ends.
=== Prerequisites ===
In order to access the test bed, create a reservation and have it approved by the reservation service. Access to the resources is granted after the reservation is confirmed. Please follow the process shown on [wiki:cosmos_workflow the COSMOS work flow page] to get started.
=== Resources required ===
4 servers srv1-lg1 to srv4-lg1, 2 USRP X310s rfdev3-1, rfdev3-2 and both the Sivers platforms rfdev3-5, rfdev3-6 on COSMOS SB1.
=== Setup ===
=== Execution ===
==== Prepare the host nodes ====
The image sivers_sb1_cosmos.ndz, has UHD and Sivers control software installed.
* Load sivers_sb1_cosmos.ndz on srv3,srv4
{{{#!shell-session
prasanthi@console:~$ omf load -i sivers_sb1_cosmos.ndz -t srv3-lg1,srv4-lg1
}}}
* If using an example application from UHD, sivers_sb1_cosmos.ndz can be used on srv1 and srv2 as well. If using a custom UHD application or Gnuradio application, please load baseline_sdr_1804.ndz.
{{{#!shell-session
prasanthi@console:~$ omf load -i sivers_sb1_cosmos.ndz -t srv1-lg1,srv2-lg1
}}}
{{{#!shell-session
prasanthi@console:~$ omf load -i baseline_sdr_1804.ndz -t srv1-lg1,srv2-lg1
}}}
* Turn the servers on
{{{#!shell-session
prasanthi@console:~$ omf tell -a on -t srv1-lg1,srv2-lg1,srv3-lg1,srv4-lg1
}}}
* Turn the X310s and Sivers 60GHz frontends on
{{{#!shell-session
prasanthi@console:~$ omf tell -a on -t rfdev3-1,rfdev3-2,rfdev3-5,rfdev3-6
}}}
* Check the status
{{{#!shell-session
prasanthi@console:~$ omf stat -t system:topo:allres
<...snipped...>
-----------------------------------------------
Node: rfdev1-1.sb1.cosmos-lab.org State: POWERON
Node: rfdev1-2.sb1.cosmos-lab.org State: POWERON
Node: rfdev2-1.sb1.cosmos-lab.org State: POWERON
Node: rfdev2-2.sb1.cosmos-lab.org State: POWERON
Node: rfdev3-1.sb1.cosmos-lab.org State: POWERON
Node: rfdev3-2.sb1.cosmos-lab.org State: POWERON
Node: rfdev3-3.sb1.cosmos-lab.org State: POWERON
Node: rfdev3-4.sb1.cosmos-lab.org State: POWERON
Node: rfdev3-5.sb1.cosmos-lab.org State: POWERON
Node: rfdev3-6.sb1.cosmos-lab.org State: POWERON
Node: sdr1-md1.sb1.cosmos-lab.org State: POWERON
Node: sdr1-s1-lg1.sb1.cosmos-lab.org State: POWERON
Node: sdr2-md1.sb1.cosmos-lab.org State: POWERON
Node: sdr2-s1-lg1.sb1.cosmos-lab.org State: POWERON
Node: srv1-lg1.sb1.cosmos-lab.org State: POWERON
Node: srv2-lg1.sb1.cosmos-lab.org State: POWERON
Node: srv3-lg1.sb1.cosmos-lab.org State: POWERON
Node: srv4-lg1.sb1.cosmos-lab.org State: POWERON
-----------------------------------------------
}}}
* ssh to the nodes, use option -Y if using GUI.
* The IP addresses for Ethernet Port 1(10G) on the X310s sdr2-md2 and sdr2-md3 were hard-coded to 10.115.2.2 and 10.115.2.3 respectively. To access them from srv1-lg1 or srv2-lg2, configure the network interface eno2 as follows
{{{#!shell-session
root@srv2-lg1:~# ifconfig eno2 10.115.1.1 netmask 255.255.0.0 mtu 9000 up
root@srv2-lg1:~# ifconfig -a
eno1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::9a03:9bff:fe61:b0b0 prefixlen 64 scopeid 0x20<link>
ether 98:03:9b:61:b0:b0 txqueuelen 1000 (Ethernet)
RX packets 802837 bytes 110409834 (110.4 MB)
RX errors 0 dropped 691507 overruns 0 frame 0
TX packets 22003 bytes 6983546 (6.9 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
eno2: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 9000
inet 10.115.1.1 netmask 255.255.0.0 broadcast 10.115.255.255
inet6 fe80::9a03:9bff:fe61:b0b1 prefixlen 64 scopeid 0x20<link>
ether 98:03:9b:61:b0:b1 txqueuelen 1000 (Ethernet)
RX packets 4661357820 bytes 37005247545892 (37.0 TB)
RX errors 0 dropped 692293 overruns 0 frame 0
TX packets 59454137 bytes 3576874343 (3.5 GB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
enp94s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.113.1.2 netmask 255.255.0.0 broadcast 10.113.255.255
inet6 fe80::6a05:caff:fe1e:e595 prefixlen 64 scopeid 0x20<link>
ether 68:05:ca:1e:e5:95 txqueuelen 1000 (Ethernet)
RX packets 2580061 bytes 179676082 (179.6 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 3041138 bytes 918629092 (918.6 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 38 memory 0xb8880000-b88a0000
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 190683 bytes 17539929 (17.5 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 190683 bytes 17539929 (17.5 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
}}}
* Run uhd_find_devices to check if the X310s can be reached
{{{#!shell-session
root@srv2-lg1:~# uhd_find_devices --args="addr=10.115.2.3"
[INFO] [UHD] linux; GNU C++ version 7.4.0; Boost_106501; UHD_3.14.1.1-release
--------------------------------------------------
-- UHD Device 0
--------------------------------------------------
Device Address:
serial: 31B6FFA
addr: 10.115.2.3
fpga: HG
name: sdr2-md3
product: X310
type: x300
}}}
==== Prepare Sivers front-ends ====
* To demonstrate the experiment here, we use Sivers front-end SN0243 as transmitter and SN0240 as receiver
* Configure SN0243 as transmitter using "TX enable" on the GUI
{{{#!shell-session
root@srv3-lg1:~/ederenv# ./start_mb1.sh --gui SN0243
}}}
|| [[Image(Sivers_TX_GUI.jpg, 500px)]] ||
* Configure SN0240 as receiver using "RX enable" on the GUI on srv4-lg1
{{{#!shell-session
root@srv4-lg1:~/ederenv# ./start_mb1.sh --gui SN0240
}}}
|| [[Image(Sivers_RX_GUI.jpg, 500px)]] ||
==== Run the experiment ====
* Start transmit application on the TX node(srv1-lg1). Run UHD application tx_waveforms to transmit a sine wave.
{{{#!shell-session
root@srv1-lg1:~/uhd/host/build/examples# ./tx_waveforms --args="addr=10.115.2.2" --freq 100e6 --rate 200e6 --ant AB --subdev A:AB --wave-freq 1e6 --wave-type SINE
}}}
* Start receive application on the RX node(srv2-lg1). Run rx_ascii_art_dft to observe the sinewave as shown in the picture below
{{{#!shell-session
root@srv2-lg1:~# /usr/lib/uhd/examples/rx_ascii_art_dft --args="addr=10.115.2.3" --freq 100e6 --rate 200e6 --ref-lvl -20 --ant AB --subdev B:AB
}}}
|| [[Image(mmWave_sinewave_rx.jpg, 700px)]] ||
Attachments (11)
- mmWaveSB1_withSW.jpg (55.7 KB ) - added by 6 years ago.
- mmWave_sinewave_rx.jpg (78.0 KB ) - added by 6 years ago.
- Sivers_RX_GUI.jpg (142.9 KB ) - added by 6 years ago.
- Sivers_TX_GUI.jpg (139.8 KB ) - added by 6 years ago.
- Sivers_TX_SN0240.jpg (162.6 KB ) - added by 5 years ago.
- MISO_tutorial.jpg (256.2 KB ) - added by 5 years ago.
- sb1_benchtop_mmwave.jpg (271.3 KB ) - added by 4 years ago.
- mmWave_sinewave_rx.2.jpg (177.6 KB ) - added by 4 years ago.
- sb1_benchtop_mmwave.JPG (166.4 KB ) - added by 4 years ago.
- sivers_rx_SN0240.PNG (176.6 KB ) - added by 20 months ago.
- sivers_tx_SN0243.PNG (200.8 KB ) - added by 20 months ago.
Download all attachments as: .zip
Note:
See TracWiki
for help on using the wiki.
