在 UHD 下使用 USRP 母板

UHD - USRP1 Application Notes


明确非标映像文件 - Specify a non-standard image


标准的 USRP1 的映像文件安装包包含两个 FPGA 映像文件:
  • usrp1_fpga.rbf: 2 DDCs + 2 DUCs
  • usrp1_fpga_4rx.rbf: 4 DDCs + 0 DUCs

USRP1 的缺省的配置是 2 个 DDCs 和 2 个 DUCs 构建的 FPGA 映像文件。然而,一个设备的地址参数

By default, the USRP1 uses the FPGA image with 2 DDCs and 2 DUCs. However, a device address parameter can be used to override the FPGA image selection to use an alternate or a custom FPGA image. See the images application notes for installing custom images.

Example device address string representations to specify non-standard firmware and/or FPGA images:

fpga=usrp1_fpga_4rx.rbf

-- OR --

fw=usrp1_fw_custom.ihx

-- OR --

fpga=usrp1_fpga_4rx.rbf, fw=usrp1_fw_custom.ihx

明确所使用的子设备 - Specifying the subdevice to use


The USRP1 has multiple daughterboard slots, known as slot A and slot B. The subdevice specification can be used to select the daughterboard and subdevice for each channel. For daughterboards with one one subdevice, the subdevice name may be left blank for automatic selection.

Ex: The subdev spec markup string to select a WBX on slot B. Notice the use of the blank subdevice name for automatic selection.

B:
-- OR --
B:0
Ex: The subdev spec markup string to select a BasicRX on slot B. Notice that the subdevice name is always specified in the 3 possible cases.
B:AB
-- OR --
B:A
-- OR --
B:B

优劣特性 - Missing and emulated features


The USRP1 FPGA does not have the necessary space to support the advanced streaming capabilities that are possible with the newer USRP devices. Some of these features are emulated in software to support the API.

优势特性清单 - List of emulated features

  • Setting the current device time
  • Getting the current device time
  • Transmitting at a specific time
  • Transmitting a specific number of samples
  • Receiving at a specific time
  • Receiving a specific number of samples
  • End of burst flags for transmit/receive

Note: These emulated features rely on the host system's clock for timed operations, and therefore may not have sufficient precision for the application.

势特性清单 -List of missing features

  • Notification on late stream command
  • Notification on late transmit packet
  • Notification on broken chain error
  • Notification on underflow or overflow
  • Start of burst flags for transmit/receive

明晰操作系统的注解 - OS specific notes


Linux - 设备管理器的配置(setup ude)

On Linux, udev handles USB plug and unplug events. The following commands create a udev rule for the USRP1 so that non-root users may access the device:

echo 'ACTION=="add", BUS=="usb", SYSFS{idVendor}=="fffe", SYSFS{idProduct}=="0002", MODE:="0666"' > tmpfile
sudo chown root.root tmpfile
sudo mv tmpfile /etc/udev/rules.d/10-usrp.rules
sudo udevadm control --reload-rules

Windows - 驱动的安装

On Windows, a driver must be installed the first time the USRP1 is attached to the host computer. A download link for this driver can be found on the UHD wiki page. Download and unpack the driver, and direct the Windows driver install wizard to the .inf file.

硬件配置的注解 - Hardware setup notes


外部时钟的修改 - External clock modification

The USRP can be modified to accept an external clock reference instead of the 64MHz onboard reference.

  • Solder SMA (LTI-SASF54GT) connector to J2001
  • Move 0 ohm 0603 resistor R2029 to R2030
  • Move 0.01uF 0603 capacitor C925 to C926
  • Remove 0.01uF 0603 capacitor C924

The new external clock needs to be a square wave between +7dBm and +15dBm

After the hardware modification, the user should burn the setting into the EEPROM, so UHD can initialize with the correct clock rate. Run the following commands to record the setting into the EEPROM:

cd <install-path>/share/uhd/utils
./usrp_burn_mb_eeprom --args=<optional device args> --key=mcr --val=<rate>






注:
UHD - USRP Application Notes(原文出处,翻译整理仅供参考!)