Changes
Page history
initial copy from 2022 documentation wiki
authored
Feb 28, 2023
by
Glenn Bradford
Show whitespace changes
Inline
Side-by-side
bladerf.md
0 → 100644
View page @
7f268110
# Nuand bladeRF 2.0 micro
The bladeRF 2.0 micro is the second generation of highly capable SDRs produced
by Nuand, LLC. It will be the main SDR used for the CDC design project.
## Content
1.
[
Overview
](
#overview
)
2.
[
Command Line Interface
](
#command-line-interface
)
3.
[
SoapySDR Block
](
#soapysdr-block
)
-
[
Block Configuration
](
#block-configuration
)
-
[
Message Port Interface
](
#message-port-interface
)
-
[
Stream Tag Interface
](
#stream-tag-interface
)
4.
[
libbladeRF
](
#libbladerf
)
5.
[
Performance
](
#performance
)
## Overview
The key component on the bladeRF 2.0 board is an Analog Devices AD9361 wideband
transceiver, an RFIC which is also found in many other common SDRs (Ettus
USRP B series and ADALM PlutoSDRs).
The following is a list of useful references for understanding and using the
bladeRF. The bladeRF wiki is the best place to start.
-
[
bladeRF 2.0 micro
](
https://www.nuand.com/bladerf-2-0-micro/
)
-
[
bladeRF wiki
](
https://github.com/Nuand/bladeRF/wiki
)
-
[
libbladeRF documentation
](
https://nuand.com/bladeRF-doc/libbladeRF/v2.2.1/
)
-
[
bladeRF source code
](
https://github.com/Nuand/bladeRF
)
-
[
bladeRF 2.0 Schematic
](
datasheets/bladeRF-micro.pdf
)
To use the bladeRF within our Ubuntu environment, it first must be connected to
the VM by selecting:
*Devices > USB > Nuand bladeRF 2.0*
In CDC we will use the
*xA9*
version of the board, where board versions vary
only in the size of the onboard FPGA.
<div
align=
"center"
>
| Version | Logic Elements |
| ------- | :------------: |
| xA4 | 49k |
| xA5 | 77k |
| xA9 | 301k |
</div>
> **Important Note:** To avoid violating governmental regulations and damaging
> the hardware, please acknowledge and adhere to the following guidelines:
> - Never transmit or receive on any band on which you are not licensed to
> operate
> - Always terminate TX and RX ports with a 50 Ohm load (either an antenna or SMA
> terminator)
> - Never connect a TX port directly to an RX port without proper attenuation
> at least 30 dB)
## Command Line Interface
The
`bladeRF-cli`
command line utility can be used to verify device connectivity
as well as query and set device parameters. For complete information, see the
following references.
-
[
Verifying Basic Device Operation
](
https://github.com/Nuand/bladeRF/wiki/Getting-Started%3A-Verifying-Basic-Device-Operation
)
-
[
bladeRF CLI Tips and Tricks
](
https://github.com/Nuand/bladeRF/wiki/bladeRF-CLI-Tips-and-Tricks
)
For our purposes, we will only use
`bladeRF-cli`
to verify connectivity and not
to set device parameters. To ensure the bladeRF is correctly attached, the
`--probe`
or
`-p`
command can be used.
```
$ bladeRF-cli -p # probe for connected bladeRF devices
Description: Nuand bladeRF 2.0
Backend: libusb
Serial: 991431a963384f8289baea2ba586720d
USB Bus: 2
USB Address: 2
```
The command line tool also has an interactive mode, which can be a more
convenient way of querying and configuring the board.
```
$ bladeRF-cli -i # enter interactive mode
```
Within interactive mode you can check the bladeRF driver, device firmware, and
FPGA versions currently loaded.
```
bladeRF> version
bladeRF-cli version: 1.8.0-0.2019.07.rbuild1
libbladeRF version: 2.2.1-0.2019.07-4build1
Firmware version: 2.3.2
FPGA version: 0.11.0 (configured by USB)
```
You can also read expanded device information.
```
bladeRF> info
Board: Nuand bladeRF 2.0 (bladerf2)
Serial #: 991431a963384f8289baea2ba586720d
VCTCXO DAC calibration: 0x1d11
FPGA size: 301 KLE
FPGA loaded: yes
Flash size: 128 Mbit
USB bus: 2
USB address: 2
USB speed: SuperSpeed
Backend: libusb
Instance: 0
```
See
`bladeRF --help`
for a full list of possible commands.
## SoapySDR Block
TODO
## libbladeRF
The bladeRF device can be controlled directly from Python and C/C++ programs
using the libbladeRF library.
-
[
libbladeRF documentation
](
https://nuand.com/bladeRF-doc/libbladeRF/v2.2.1/
)
## Performance
This section will describe procedures for characterizing performance of the
bladeRF boards and report typical results.
Metrics:
-
USB throughput
-
Noise figure/floor
-
Frequency Stability
-
DC offset
-
IQ imbalance