Skip to content

Latest commit

 

History

History
47 lines (36 loc) · 1.66 KB

08_B210.md

File metadata and controls

47 lines (36 loc) · 1.66 KB

B210 integration

The project so far has focused on generating a PRN generator and the carrier signal using one FPGA, and recording the radiofrequency signal for post-processing with an Ettus Research B210 SDR transceiver. The B210 FPGA however still has plenty of space left, so that the PRN generation gateware can be merged with the datastream handling functions provided by Ettus Research. Since the two functions are running independently, the Amaranth generate Verilog code is merged next to the original B210 software and the resulting program is synthesized to produce a single bitstream.

Putting the resulting usrp_b210_fpga.bin in /usr/share/uhd/images/ will tell UHD to configure the B210 FPGA with the updated bitstream which is generated according to the following procedure.

B210 bitstream generation

A patch is provided to modify B210 firmware:

git clone https://github.com/EttusResearch/uhd.git
cd uhd
git checkout VERSION -b VERSION
patch -p1 < /somewhere/amaranth_twstft/0001-VERSION-b200-add-pps_gen-stream-tag-and-twstft-amaranth.patch

VERSION may be v4.1.0.5, v4.3.0.0 or v4.4.0.0.

cd fpga/usrp3/top/b200
make B210 [TAPS=XXX] [NOISELEN=YYY] [BITLEN=ZZZ] [INVERT_FIRST_CODE=1]

Note: TAPS NOISELEN and BITLEN are used to select a specific taps and to configure PRN length before reinit. INVERT_FIRST_CODE is used to apply a xor for the first code after PPS rise.

Pin functions

The input and output signals are available on the GPIO header J504 next to the FPGA:

  • PPS in to be connected to the corresponding SMA
  • fp_gpio 1: enable
  • fp_gpio 3: output signal
  • fp_gpio 5: pps out
  • fp_gpio 7: switch BPSK/QPSK