# 2xB210 boards via USB 3.0 (UHD C++)

**URL:** <https://www.ruby-forum.com/t/2xb210-boards-via-usb-3-0-uhd-c/233857>\
**Category:** GNU Radio\
**Created:** [January 17, 2015, 12:55pm UTC](https://www.ruby-forum.com/t/2xb210-boards-via-usb-3-0-uhd-c/233857 "2015-01-17T12:55:28Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![addis\_a](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/c4cdca/32.png) [@addis\_a](https://www.ruby-forum.com/u/addis_a)\
**Post date:** [January 17, 2015, 12:55pm UTC](https://www.ruby-forum.com/t/2xb210-boards-via-usb-3-0-uhd-c/233857/1 "2015-01-17T12:55:28Z")

</div>

Greetings,

Any one trying to connect two of those boards to collect samples from 4  
channels simultaneously?

One of ettus examples says that:

Specify --args to select multiple motherboards in a configuration.\n" "  
Ex:  
–args="addr0=192.168.10.2, addr1=192.168.10.3"\n"

but what should i pick in my case? Does USB connection sould have an  
adress?

Right now im doing this that way:

string adress = “”;  
uhd::usrp::multi\_usrp::sptr usrp = uhd::usrp::multi\_usrp::make(adres);

but it’s not the correct one for my purpose ☹

Using usrp-\>get\_pp\_string() returns only 1 mboard (mboard 0:b210).  
Using usrp-\>get\_rx\_num\_channels() returns 2 channels only (instead of  
4);

Best,  
Ernest

–  
View this message in context:  
[http://gnuradio.4.n7.nabble.com/2xB210-boards-via-USB-3-0-UHD-C-tp52027.html](http://gnuradio.4.n7.nabble.com/2xB210-boards-via-USB-3-0-UHD-C-tp52027.html)  
Sent from the GnuRadio mailing list archive at [Nabble.com](http://Nabble.com).

---

<div class="post-metadata">

**Author:** ![ernest\_s](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/e/779978/32.png) [@ernest\_s](https://www.ruby-forum.com/u/ernest_s)\
**Post date:** [January 18, 2015, 9:38am UTC](https://www.ruby-forum.com/t/2xb210-boards-via-usb-3-0-uhd-c/233857/2 "2015-01-18T09:38:28Z")

</div>

Hey Ernest,

the B210 does not currently have this capability. You’ll need to create  
2  
separate usrp\_sources (but that won’t get you MIMO alignment  
automatically).

You didn’t mention anything about clock distribution – how were you  
planning to synchronize the boards?

M

---

<div class="post-metadata">

**Author:** ![ernest\_s](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/e/779978/32.png) [@ernest\_s](https://www.ruby-forum.com/u/ernest_s)\
**Post date:** [January 18, 2015, 1:24pm UTC](https://www.ruby-forum.com/t/2xb210-boards-via-usb-3-0-uhd-c/233857/3 "2015-01-18T13:24:17Z")

</div>

Hello Martin,

Thanks for your reply. I made this yesterday (as you said, 2 different  
usrp  
object’s, 2 different streamer object’s etc.). Finnaly got 4 separated  
channels, using two separated boards.

As we are talking about synchronization im planning to follow UHD API  
hint:

- external 10 MHz ref clock
- external 1 PPS source

and a nice quote from API:

In order to achieve phase alignment between USRP devices, the CORDICS in  
both devices must be aligned with respect to each other. This is easily  
achieved by issuing stream commands with a time spec property, which  
instructs the streaming to begin at a specified time. Since the devices  
are  
already synchronized via the 10 MHz and PPS inputs, the streaming will  
start  
at exactly the same time on both devices. The CORDICs are reset at each  
start-of-burst command, so users should ensure that every start-of-burst  
also has a time spec set.

Would it be sufficient?

–  
View this message in context:  
[http://gnuradio.4.n7.nabble.com/2xB210-boards-via-USB-3-0-UHD-C-tp52027p52032.html](http://gnuradio.4.n7.nabble.com/2xB210-boards-via-USB-3-0-UHD-C-tp52027p52032.html)  
Sent from the GnuRadio mailing list archive at [Nabble.com](http://Nabble.com).
