一、X410套件内容
X410
NI Ettus USRP X410
直流电源 (12V, 20A)
1 条千兆以太网 Cat-5e 电缆(3m)
USB-A 转 USB-C 数据线 (1m)
入门指南 URL(二维码)
安全、环境和法规信息

二、模式
对于网络模式:具有可用 1 或 10 Gb 以太网接口的主机,用于样本流传输。除了用于采样流的以太网接口外,您的主机还需要一个单独的 1 Gb 以太网接口用于命令和控制流。
对于独立嵌入式模式:具有可用 1 Gigabit 以太网端口或 USB 2.0 端口的主机,用于远程访问在 ARM CPU 上运行的嵌入式 Linux 操作系统。
三、适当的保养和处理
所有 Ettus Research 产品在发货前都经过单独测试。USRP 保证在客户收到时可以正常工作。不当使用或处理 USRP 会导致设备无法正常工作。采取以下预防措施以防止损坏本机。
通电时切勿让金属物体接触电路板。
始终使用天线或 50Ω 负载正确端接发射端口。
始终使用适当的防静电方法处理电路板。
切勿让电路板直接或间接接触任何电压尖峰。
切勿让任何水或冷凝湿气与设备接触。
始终谨慎对待 FPGA、固件或软件修改。
注意:切勿向任何射频输入施加超过 +14 dBm 连续 <=3GHz、+17 dBm 连续 >3GHz 或 +20dBm 超过 5 分钟 >3GHz 的功率。
注意:如果在环回配置中运行,请始终使用至少 30dB 衰减
四、在主机上安装和设置软件工具
为了使用您的通用软件无线电外设 (USRP?),您必须在主机上正确安装和配置软件工具。在Linux、OS X和Windows应用说明 上构建和安装 USRP 开源工具链(UHD 和 GNU Radio)中提供了执行此操作的分步指南。
要查找 UHD 的最新版本,请参阅位于https://github.com/EttusResearch/uhd的 UHD 存储库。
USRP X410 需要 UHD 版本 4.1 或更高版本。
当您收到全新设备时,强烈建议您从 Ettus Research 网站下载最新的文件系统映像更新设备。不建议您按原样使用工厂的文件系统。下面列出了有关下载最新文件系统映像和更新它的说明。
请注意,如果您在网络模式下操作设备,则主机上运行的 UHD 版本和 USRP X410 必须匹配。
五、组装 X410
在套件中,您会找到 X410 和 X410 电源。将它们插入,将 1GbE RJ45 接口连接到您的网络,然后按电源按钮打开设备电源。
六、STM32微控制器
STM32 微控制器(也称为“SCU”)控制 X4x0 系列主板的各种低级功能:它控制电源排序、读取风扇速度和一些温度传感器。它通过 I2C 总线连接到 RFSoC。它正在运行基于 Chromium EC 的软件。
可以使用串行接口登录 STM32(请参阅连接到微控制器)。这将允许某些低级控制,例如如果 CPU 由于某种原因变得无响应,则可以进行远程电源循环。
七、更新 SCU
可写 SCU 映像文件存储在 /lib/firmware/ni/ec-titanium-revX.RW.bin 下的文件系统中(其中 X 是修订兼容性编号)。要更新,只需将 .bin 文件替换为更新版本并重新启动。
八、eMMC 存储
USRP 的主要非易失性存储是 16 GB eMMC 存储。通过后面板上的 USB-OTG 连接器,可以将该存储设备作为 USB 大容量存储设备进行访问。
整个根文件系统(Linux 内核、库)和任何用户数据都存储在 eMMC 上。它分为四个分区:
引导分区(包含引导加载程序)。这个分区通常不需要修改。一个数据分区,挂载在 /data 中。这是文件系统更新期间唯一没有被擦除的分区。两个相同的系统分区(根文件系统)。这些包含操作系统和主目录(安装在 / 下的任何不是数据或引导分区的内容)。其中有两个原因是为了启用远程更新: 在一个分区上运行的更新可以更新另一个分区,而不会对当前运行的系统产生任何影响。请注意,系统分区在更新期间会被擦除,因此不适合永久存储信息。注意:可以通过挂载访问当前不活动的根文件系统。使用串行控制台或 SSH 登录设备后(请参阅以下两节),
$ mkdir temp
$ mount /dev/mmcblk0p3 temp # This assumes mmcblk0p3 is currently not mounted
$ ls temp # You are now accessing the idle partition:
bin data etc lib media proc sbin tmp usr boot dev home lost+found mnt run sys uboot var
mount 命令中的设备节点可能会有所不同,具体取决于当前已挂载的分区。
九、通过 USB 访问 eMMC
虽然 Mender 应该用于例行文件系统更新(请参阅更新文件系统),但也可以通过 USB 从外部主机访问 X410 的内部 eMMC。这允许访问或修改文件系统,以及使用全新文件系统刷新设备的能力。
为此,您需要一台带有两个 USB 端口的外部计算机,以及两根 USB 电缆将计算机连接到 X410。下面的说明假设一台 Linux 主机。
首先,以 115200 的波特率连接到 APU 串行控制台。启动设备,并通过在提示符下键入 noautoboot 来停止启动序列。然后,在 U-boot 命令提示符下运行以下命令:
ums 0 mmc 0
这将启动 USB 大容量存储小工具以将 eMMC 公开为 USB 大容量存储设备。您应该会在控制台上看到一个旋转指示器,这表明该小工具处于活动状态。
接下来,使用 OTG 电缆将外部计算机连接到 X410 的 USB 到 PS 端口。您的计算机应该将 X410 识别为大容量存储设备,并且您应该在内核日志 (dmesg) 中看到如下所示的条目:
usb 3-1: New USB device found, idVendor=3923, idProduct=7a7d, bcdDevice= 2.23
usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 3-1: Product: USB download gadget
usb 3-1: Manufacturer: National Instruments
sd 6:0:0:0: [sdc] 30932992 512-byte logical blocks: (15.8 GB/14.8 GiB)
sdc: sdc1 sdc2 sdc3 sdc4
sd 6:0:0:0: [sdc] Attached SCSI removable disk
确切的输出取决于您的机器,但从该日志中您可以看到 X410 已被识别,并且 /dev/sdc 是代表 eMMC 的块设备,检测到 4 个分区(有关分区布局的详细信息,请参阅 eMMC 存储)。
现在可以像对待任何其他 USB 驱动器一样对待 X410 的 eMMC:可以安装和访问各个分区,或者可以读取/写入整个块设备。
通过 USB 完成对设备的访问后,可以通过在 APU 串行控制台上按 Ctrl-C 来停止 u-boot 小工具。
十、刷入 eMMC
一旦可以通过 USB 访问 X410 的 eMMC,就可以使用 bmaptool 写入文件系统映像。您可以通过运行以下命令获取最新的文件系统映像:
uhd_images_downloader -t sdimg -t x4xx
此命令的输出将指示可以找到下载图像的位置。
跑:
sudo bmaptool /path/to/usrp_x4xx_fs.sdimg.bz2 /dev/sdX
使用此映像刷新 eMMC(将 /dev/sdX 替换为 X410 的 eMMC 的块设备,如内核日志所示)。
十一、使用 UHD 的 USRP X4x0
与任何其他 USRP 一样,所有 X4x0 USRP 均由 UHD 软件控制。要将 USRP X4x0 集成到您的 C++ 应用程序中,您将像生成任何其他 USRP 一样生成 UHD 设备:
auto usrp = uhd::usrp::multi_usrp::make("type=x4xx");
有关可以将哪些参数传递给 make() 的列表,请参阅设备参数部分。
十二、更新文件系统
Mender 是第三方软件,无需物理访问设备即可远程更新根文件系统(另请参阅 Mender 网站)。Mender 可以在设备上本地执行,也可以设置一个 Mender 服务器,用于远程更新任意数量的 USRP 设备。Mender 服务器可以是自托管的,也可以由 Mender 托管(请参阅 mender.io 了解定价和可用性)。
使用 Mender 更新文件系统时,该工具将覆盖当前未挂载的根文件系统分区(注意:板载闪存包含两个独立的根文件系统分区,一次只能使用一个)。存储在该分区上的任何数据都将永久丢失,包括当前加载的 FPGA 映像。更新该分区后,它将重新启动到新更新的分区。只有当用户确认更新后,更新才会永久生效。这意味着如果更新失败,设备将始终能够重新启动到最初启动更新的分区(可能处于工作状态)。现在可以启动另一个更新来纠正先前失败的更新,直到它起作用。
要从设备本身启动更新,请下载包含更新本身的 Mender 工件。这些是带有 .mender 后缀的文件。可以使用 uhd_images_downloader 实用程序下载它们:
$ uhd_images_downloader -t mender -t x4xx
附加 -l 开关以仅打印出 URL:
$ uhd_images_downloader -t mender -t x4xx -l 然后在命令行运行mender:
$ mender install /path/to/latest.mender
工件也可以存储在远程服务器上:
$ mender install http://server.name/path/to/latest.mender
此过程需要一段时间。如果新文件系统需要更新 MB CPLD,请在继续之前参阅更新主板 CPLD。在 mender 记录成功更新后,重新启动设备:
$ reboot
如果重新启动成功,并且设备似乎可以正常工作,请提交更改,以便引导加载程序知道永久引导到该分区:
$ mender commit
要从命令行识别当前安装的 Mender 工件,可以查询以下文件:
$ cat /etc/mender/artifact_info
如果您正在运行托管服务器,则可以从 Web 仪表板启动更新。从那里,您无需登录设备即可开始更新,并且只需在 Web GUI 中单击几下即可更新 USRP 组。仪表板还可用于检查 USRP 的状态。这是一种使用自定义文件系统更新机架式 USRP 组的简单方法。
十三、网络接口
Ettus USRP X410 有多种网络接口:
eth0:RJ45 端口。
RJ45 端口带有默认的 DHCP 配置,它将从您的 DHCP 服务器请求一个网络地址(如果在您的网络上可用)。该接口与 FPGA 图像风格无关。
int0:嵌入式ARM处理器和FPGA之间网络通信的内部接口。
内部网络接口配置了一个静态地址:169.254.0.1/24。该接口与 FPGA 图像风格无关。
sfpX [, sfpX_1, sfpX_2, sfpX_3]:QSFP28 网络接口,基于实现的协议,最多四个(每个通道一个)。
每个 QSFP28 端口都有四个高速收发器通道。因此,根据 FPGA 映像风格,每个 QSFP28 端口最多可存在四个不同的网络接口,第一个通道使用 sfpX,其他三个通道使用 sfpX_1-3。每个网络接口都有一个默认的静态 IP 地址。请注意,对于多通道协议,例如 100 GbE,使用单个接口 (sfpX)。这些网络接口的配置文件存储在:/etc/systemd/network/

十四、网络连接
X410 启动后,通过在主机上运行 uhd_find_devices 确定 IP 地址并验证网络连接:
$ uhd_find_devices
-- UHD Device 0
Device Address: serial: 1234ABC addr: 10.2.161.10 claimed: False mgmt_addr: 10.2.161.10 product: x410 type: x4xx
默认情况下,X410 将使用 DHCP 来尝试查找地址。
此时,您应该运行:
uhd_usrp_probe --args addr=<IP address> 以确保设备的功能。
注意:如果您收到以下错误:
Error: RuntimeError: Graph edge list is empty for rx channel 0 那么您将需要按照更新 FPGA 中所述或使用以下命令下载与 UHD 兼容的 FPGA(假设之前已使用 uhd_images_downloader 下载了 FPGA 图像,或者该命令在设备本身上运行):
uhd_image_loader --args type=x4xx,addr=<ip address>,fpga=X4_200 在设备上运行时,127.0.0.1用作 IP 地址。
您现在可以使用现有的 UHD 示例或应用程序(例如 rx_sample_to_file、rx_ascii_art_dft 或 tx_waveforms)或其他 UHD 兼容应用程序开始使用设备进行接收和传输。
有关 X410 上可用的各种网络接口的更多详细信息,请参阅网络接口。
十五、网络状态 LED
Ettus USRP X410 为其支持网络的端口配备状态 LED:RJ45 和 QSFP28,请参阅相应的 RJ45 LED 行为和 QSFP28 LED 行为。
RJ45 LED 行为
RJ45 端口有两个独立的 LED:绿色(右)和黄色(左)。下表总结了 LED 的行为。请注意,当前不支持链接速度指示。

QSFP28 LED 行为
每个 QSFP28 连接器都有四个 LED,每个高速收发器通道一个。下表总结了 LED 的行为,请注意,对于多通道协议,例如 100 GbE,相应的 LED 组合在一起。在同一映像中,不支持同一端口上的多个速度(例如,10 GbE 和 100 GbE),因此不支持链路速度指示。

十六、安全相关设置
X410 出厂时未设置 root 密码。只需以 root 身份连接即可通过 ssh 进入设备,从而获得对所有子系统的访问权限。要设置密码,请运行命令
$ passwd 在设备上。
十七、串行连接
可以使用串行终端仿真器访问设备。为此,需要将 USB 调试端口连接到单独的计算机以获取访问权限。大多数 Linux、OSX 或其他 Unix 风格都有一个名为“screen”的工具,可用于此目的,通过运行以下命令:
$ sudo screen /dev/ttyUSB2 115200 在此命令中,我们在前面加上“sudo”来提升用户权限(默认情况下,普通用户无法访问串行端口),我们指定设备节点(在本例中为 /dev/ttyUSB2)和波特率(115200 )。
确切的设备节点取决于您的操作系统的驱动程序和其他可能已连接的 USB 设备。现代 Linux 系统提供了简单尝试设备节点的替代方案;相反,操作系统可能在 /dev/serial/by-id 下有一个符号链接目录:
$ ls /dev/serial/by-id usb-Digilent_Digilent_USB_Device_2516351DDCC0-if02-port0 usb-Digilent_Digilent_USB_Device_2516351DDCC0-if03-port0
注意:确切名称取决于主机操作系统版本,并且可能会有所不同。
第一个(带有 if02 后缀)连接到 STM32 微控制器 (SCU),而第二个(带有 if03 后缀)连接到在 RFSoC APU 上运行的 Linux。
$ sudo screen /dev/serial/by-id/usb-Digilent_Digilent_USB_Device_2516351DDCC0-if03-port0 115200 输入用户名 root 后(默认未设置密码),您应该会看到类似于以下内容的 shell 提示:
root@ni-x4xx-1234ABC:~# 在此提示下,您可以输入任何可用的 Linux 命令。使用默认配置,串行控制台还将显示所有内核日志消息(例如,与使用 SSH 时不同),并允许访问引导加载程序(U-boot 提示符)。与通过 SSH 登录相比,这可用于更有效地调试内核或引导加载程序问题。
十八、连接到微控制器
微控制器(控制电源排序等)也有一个可用的串行控制台。要连接到微控制器,请使用其他 UART 设备。在上面的例子中:
$ sudo screen /dev/serial/by-id/usb-Digilent_Digilent_USB_Device_2516351DDCC0-if02-port0 115200
它提供了一个非常简单的提示。命令“帮助”将列出所有可用的命令。与微控制器的直接连接可用于硬重置设备,而无需物理访问它和其他低级诊断。例如,运行命令 reboot 将模拟按下重置按钮,重置设备状态,而命令 powerbtn 将模拟按下电源按钮,再次打开设备。
十九、SSH 连接
USRP X410 有两个网络连接:双 QSFP28 端口和一个 RJ45 连接器。后者默认由 DHCP 配置;通过将其插入支持 DHCP 的网络上的 1 Gigabit 交换机,它将被分配一个 IP 地址,因此可以通过 ssh 访问。
如果您的网络设置不包括 DHCP 服务器,请参阅串行连接部分。串行登录可用于手动分配 IP 地址。
设备获得 IP 地址后,您可以通过键入以下命令从 Linux 或 OSX 机器登录:
$ ssh root@ni-x4xx-1234ABC # Replace with your actual device name! 根据您的网络设置,使用 .local 域可能有效:
$ ssh root@ni-x4xx-1234ABC.local 当然,如果知道IP地址也可以直接连接(或者使用串口控制台手动设置)。
注意:默认情况下,设备的主机名源自其序列号 (ni-x4xx-$SERIAL)。您可以通过修改 /etc/hostname 文件并重新启动来更改主机名。
在 Microsoft Windows 上,可以使用 PuTTY 等工具建立连接,方法是选择不带密码的 root 用户名。
与串行控制台一样,您应该看到如下提示:
root@ni-x4xx-1234ABC:~#
二十、更新 FPGA
只需使用 uhd_image_loader 即可更新 FPGA:
uhd_image_loader --args type=x4xx,addr=<IP address of device> --fpga-path <path to .bit> 或者
uhd_image_loader --args type=x4xx,addr=<IP address of device>,fpga=FPGA_TYPE UHD 安装可能会在 /usr/share/uhd/images/ 中有预构建的图像。可以使用 uhd_images_downloader 脚本下载最新的图像:
uhd_images_downloader 会将图像下载到 /usr/share/uhd/images/ (路径可能不同,具体取决于 UHD 的安装方式)。
另请注意,USRP 已经在设备上附带了兼容的 FPGA 映像 - 这些映像可以通过 SSH 加载到设备中并运行:
uhd_image_loader --args type=x4xx,mgmt_addr=127.0.0.1,fpga=X4_200
二十一、FPGA 图像风味
与 USRP X310 或其他第三代 USRP 设备不同,FPGA 图像风格不仅对 QSFP28 连接器的配置方式进行编码,而且对可用的主时钟速率进行编码。这是因为数据转换器配置是 FPGA 映像的一部分(X410 上的 ADC/DAC 与 FPGA 位于同一芯片上)。图像风格由两个短字符串组成,用下划线分隔,例如 X4_200 是一种图像风格,包含 4x 10 GbE,可以处理 200 MHz 的模拟带宽。前两个字符描述了 QSFP28 端口的配置:“X”代表 10 GbE,“C”代表 100 GbE。有关详细信息,请参阅下表。
1 个 10 GbE(通道 0)
模拟带宽决定了可用的主时钟速率。从 UHD 4.1 开始,只有 X4_200 映像带有 UHD,它允许 245.76 MHz 或 250 MHz 主时钟速率。其他图像被认为是实验性的(不支持)。
二十二、设备参数

二十三、全球定位系统
USRP X410 包括一个 Jackson Labs LTE-Lite GPS 模块。它的天线端口位于后面板上(请参阅前面板和后面板)。当 X410 可以访问 GPS 卫星信号时,它可以使用该模块来读取当前的 GPS 时间和位置以及训练板载 OCXO。
要将 GPS 用作时钟和时间参考,只需使用 gpsdo 作为时钟或时间源。或者,将 gpsdo 设置为同步源:
// Set clock/time individually: usrp->set_clock_source("gpsdo"); usrp->set_time_source("gpsdo"); // This is equivalent to the previous commands, but faster, as it sets // both settings simultaneously and avoids duplicating settings that are shared // between these calls. usrp->set_sync_source("clock_source=gpsdo,time_source=gpsdo");
请注意,GPS 模块并非始终启用。可以使用 gps_enabled GPS 传感器查询其开机状态(另请参阅传感器 API)。禁用时,所有传感器都不会返回有用的(如果有的话)值。
选择GPSDO作为时钟源时,将始终启用GPS。请注意,启用 GPS 后获取 GPS 锁定可能需要一些时间,因此如果 UHD 应用程序动态启用 GPS,则可能需要一些时间才能报告 GPS 锁定。
二十四、前面板可编程 GPIO
USRP X410 有两个 HDMI 前面板连接器,连接到 FPGA。
尚不支持将这些与 UHD 一起使用。
二十五、子开发规范
X410 + ZBX 前面板上的射频端口对应以下子开发规范:

子开发规范插槽标识符“A”和“B”不会反映在前面板上。它们被设置为匹配以前 USRP 的有效子开发规范,保持向后兼容性。
这些值可用于 uhd::usrp::multi_usrp::set_rx_subdev_spec() 和 uhd::usrp::multi_usrp::set_tx_subdev_spec() 与其他 USRP 一样。
后面板状态 LED
USRP X410 配备了位于设备后面板上的四个 LED。每个 LED 支持四种不同的状态:关闭、绿色、红色和琥珀色。一个 LED (PWR) 指示设备的电源状态(请参阅下面的电源 LED)。其他三个 LED(LED 0、LED 1 和 LED 2)是用户可配置的,每个 LED 都支持不同的行为(请参阅下面的用户可配置 LED)。

电源 LED USRP X410 的 PWR LED 保留用于直观地指示用户设备的电源状态。电源 LED 行为描述了每个 LED 状态所代表的内容。
电源 LED 行为

用户可配置的 LED
USRP X410 的用户可配置后面板状态 LED(LED 0、LED 1 和 LED 2)允许用户对各种设备状况进行视觉指示。支持的 LED 行为提供每个用户可配置 LED 的支持行为的完整列表。默认情况下,这些 LED 的配置如 LED 默认行为中所述。
用户可以临时或永久更改默认 LED 行为,请参阅 UHD 手册中的临时更改 LED 行为或永久更改以相应更改 LED 行为。