USRP Class

This document details the current USRP base class, and as we proceed will contain details on the new USRP base class with support for in-band signaling. The current USRP base class is found in [source:/gnuradio/trunk/usrp/host/lib/usrp_basic.cc usrp_basic.cc] as usrp_basic. More information about the class can be found in the usrp_basic doxygen documentation. The inheritance diagram for the usrp_basic class is as follows:

http://gnuradio.org/doc/doxygen/classusrp+basic+inherit+graph.png

Some functionality that the base class gives access to are the FPGA registers, AD9862 registers, I2C peripheral, DAC/ADC, and the EEPROMs for the motherboard and daughterboards.

Initialization of usrp_basic

1. Load the USRP firmware with usrp_load_firmware_nth()

1. Load the FPGA bitstream with usrp_load_fpga()

1. Initialize the common RX and TX AD9862 registers

Initialization of usrp_standard_rx

1. Set the format of the RX data via the control register (FR_RX_FORMAT)

1. Set the number of channels (FR_TX_MUX)

1. Set the decimal rate between 4 and 256 (FR_DECIM_RATE)

1. Set the mux (FR_RX_MUX)

1. Set the FPGA mode (FR_MODE)

1. For each channel, initialize the RX frequencies and the DDC phases to 0 (FR_RX_FREQ_* FR_RX_PHASE_*)

Initialization of usrp_standard_tx

1. Initialize AD9862 TX registers

1. Set the number of channels (FR_TX_MUX)

1. Set transmission interpolation rate from 4 to 512, a multiple of 4 (FP_INTERP_RATE)

1. Set the mux (FR_TX_MUX)

1. For each channel, initialize the TX frequency to 0 (FR_TX_FREQ_*)






注: USRP Class (原文出处,翻译整理仅供参考!