说明
USRP-X 系列设备包含两个用于两个以太网通道的 SFP+ 端口。由于 SFP+ 端口支持 1 千兆 (SFP) 和 10 千兆 (SFP+) 收发器,因此 UHD 附带了多个 FPGA 图像,以确定上述接口的行为。
注意:Aurora 图像需要从 FPGA 源代码手动构建。
FPGA 图像有两种格式:
- LVBITX:LabVIEW FPGA 配置比特流格式(用于 PCI Express 和以太网)
- BIT:Xilinx 配置比特流格式(用于以太网和 JTAG)
要获取最新图像,只需使用 uhd_images_downloader 脚本。在 Unix 系统上,使用此命令:
uhd_images_downloader
在 Windows 上,使用:
<path_to_python.exe> <install-path>/bin/uhd_images_downloader.py
使用 PCI Express 加载 FPGA 图像
UHD 需要有效的 LabVIEW FPGA 配置比特流文件 (LVBITX) 才能通过 PCI Express 总线使用 USRP-X 系列设备。LabVIEW FPGA 不需要将UHD 与 USRP-X 系列设备一起使用。由于 FPGA 配置是 PCI Express 上正常操作的一部分,因此在运行 UHD 之前无需进行任何设置。
可以在传递的可选设备参数中设置fpga标签,以向 UHD 指示 FPGA 图像风格。如果指定了上述标签,UHD 将尝试从 UHD 图像目录中加载具有请求风格的 FPGA 图像。如果未指定标签,UHD 将自动检测图像的风格并尝试将相应的配置比特流加载到设备上。请注意,如果 UHD 检测到请求的图像已加载到 FPGA 上,则它不会重新加载它。
使用JTAG加载FPGA图像
USRP-X 系列设备具有板载 USB-JTAG 编程器,可通过设备前面板访问。有多种工具可通过 JTAG 连接器访问 FPGA(请参阅板载 JTAG 编程器)。
如果您安装了 Vivado,我们会提供命令行脚本来刷新图像。确保您的 X3x0 已通电并使用前面板 USB JTAG 连接器连接到您的计算机(USB 2.0 即可)。前往 X3x0 FPGA 目录,然后运行以下命令:
$ cd uhd/fpga/usrp3/top/x300 # Assuming this is where the FPGA code is checked out
$ source ./setupenv.sh
$ viv_jtag_program /path/to/bitfile.bit
如果你已经安装了 iMPACT,则可以使用该impact_jtag_programmer.sh工具安装镜像。然后运行该工具:
<path_to_uhd_tools>/impact_jtag_programmer.sh --fpga-path=<fpga_image_path>
安装vivado:
https://china.xilinx.com/support/download/index.html/content/xilinx/zh/downloadNav/vivado-design-tools/archive.html
将图像加载到板载闪存中
要更改板载闪存中存储的 FPGA 映像,可以通过网络或 PCI Express 对 USRP-X 系列设备进行重新编程。将映像编程到闪存中后,该映像将在设备启动过程中自动加载到 FPGA 上。
注意:不同的硬件版本需要不同的 FPGA 映像。从设备背面的标签上确定修订号。如果您手动指定 FPGA 路径,则实用程序不会尝试检测您的设备信息,您需要使用此编号来选择要刻录的映像。
注意:如果未指定自定义 FPGA 图像路径,图像加载器实用程序将默认使用适当的 BIT 文件,但它与 BIN、BIT 和 LVBITX 图像兼容。
通过以太网使用图像加载器
Automatic FPGA path, detect image type:
uhd_image_loader --args="type=x300,addr=<IP address>"
Automatic FPGA path, select image type:
uhd_image_loader --args="type=x300,addr=<IP address>,fpga=<HG or XG>"
Manual FPGA path:
uhd_image_loader --args="type=x300,addr=<IP address>" --fpga-path="<path to FPGA image>"
Use the image loader over PCI Express
Automatic FPGA path, detect image type:
uhd_image_loader --args="type=x300,resource=<NI-RIO resource>"
Automatic FPGA path, select image type:
uhd_image_loader --args="type=x300,resource=<NI-RIO resource>,fpga=<HG or XG>"
Manual FPGA path:
uhd_image_loader --args="type=x300,resource=<NI-RIO resource>" --fpga-path="<path to FPGA image>"
设备恢复和变砖
加载坏映像(“变砖”)可能会使设备处于不可用状态。幸运的是,可以使用 USB-JTAG 接口暂时为 USRP-X 系列设备加载好映像。一旦启动到安全映像,用户就可以再次通过以太网或 PCI Express 将映像加载到设备上。
请参阅使用 JTAG 加载 FPGA 映像部分,了解如何使用 JTAG 接口将 FPGA 映像加载到设备上。运行 JTAG 进程后,可以使用常规程序将新映像刷入设备上,以永久恢复设备。
设置网络
USRP-X 系列仅支持千兆和万兆以太网,不能与 10/100 Mbps 接口一起使用。
请注意,10 千兆以太网定义了协议,而不一定定义了介质。例如,您可以使用光纤 SFP+ 收发器模块通过光纤使用 10GigE。
设置主机接口
USRP-X 系列通过千兆和十千兆以太网在 IP/UDP 层进行通信。USRP X300/X310 设备的默认 IP 地址取决于所使用的以太网端口和接口。您必须将主机以太网接口配置为与所连接设备位于同一子网上的静态 IP 地址,才能实现通信,如下表所示:
如您所见,X300/X310 实际上存储了不同的 IP 地址,这些地址都以不同的方式对设备进行寻址:每个以太网端口和接口类型(即千兆或十千兆)的组合都有自己的 IP 地址。例如,当通过 1 千兆以太网在其第一个端口(端口 0)上寻址设备时,相关 IP 地址是使用密钥存储在 EEPROM 中的 IP 地址ip-addr0,或默认为 192.168.10.2。
请参阅配置主机的 IP 地址以了解如何更改机器的 IP 地址和 MTU 大小以便与 X300 很好地配合使用。
变砖之后
确保已经安装了vivado 20119.1
jtag连接线把计算机和设备连接到一起。
1、启动vivado:
2、点击Open Hardware Manager:
3、在弹出的界面选择Tools->Auto Connect,
4、选中xc7k410t_0(1),右击,选择Program Device:
5、选择Bitstream file文件,这里以x310的HG为例,文件目录为xxxxxxxxxx /images/usrp_x310_fpga_HG.bit,选好后点击ok,点击Program:
6、完成之后关闭vivado工具,用千兆网线连接x310和主机,然后打开终端,输入uhd_find_devices:
看到主机之后,x310恢复正常,接下来重新烧写固件。
uhd_image_loader --args="type=x300,addr=192.168.10.2" --fpga-path="<path to FPGA image>"