基于 Linux 的 USRP 工具链路搭建:安装UHD 与 GNU Radio(USRP B210/USRP B220)

前言

本教程适用于在 Linux 上搭建 USRP 的基本工具链路,需要安装 UHD(USRP Hardware Driver,即USRP硬件驱动程序)和 GNU Radio(一个免费的软件开发工具包,提供信号处理模块来实现软件无线电) 。

本教程使用包管理器快速安装,能够满足大部分实验和应用需求,建议初学者使用这种方法。

如果是想要进行深度开发,并且有特殊的自定义要求,参考以下两个链接从源代码构建和安装:

Building and Installing the USRP Open-Source Toolchain (UHD and GNU Radio) on Linux - Ettus Knowledge Base

GNU Radio + NI USRP B210模拟物理层(一):安装UHD与GNU Radio_ubuntu b210-优快云博客

此外,本教程分为两部分,第一部分是常规的安装流程,第二部分是针对我自己买的这块板子的安装流程(因为我的这块板子在安装时需要替换一个文件,按照网上的教程是无法正常安装的)。 如果按照第一部分的常规安装流程能够成功安装并正常使用的话,就不用看第二部分,如果不成功,可以参考下第二部分。

我的环境

操作系统:Ubantu 22.04.5 LTS 物理机(虚拟机也可以)

USRP 型号:USRP B220 mini

PS:也适用于Ubantu 20.04 系统;Ubantu 18.04 系统可以尝试一下。

安装 UHD

1 常规安装流程

在 ubantu 中打开终端(Ctrl+Alt+T),首先更新软件包列表:

sudo apt update

安装 UHD 软件包:

sudo apt-get install libuhd-dev uhd-host
  • libuhd-dev 是开发包,包含头文件、静态库和编译UHD应用程序所需的开发工具。
  • uhd-host 是运行时包,包含UHD工具和运行时库。

安装 UHD 固件(下载 UHD FPGA 镜像):

sudo uhd_images_downloader

将 USRP 设备插入电脑(如果是USB连接,需要USB3.0),验证 UHD 是否成功安装:

uhd_find_devices

如果成功运行,说明系统可以正确识别到 USRP 设备:

验证 USRP 设备能否正常使用:

uhd_usrp_probe

如果成功运行,说明 UHD 固件没有问题,板子可以正常使用,直接跳到 GNU Radio的安装:

但如果出现以下错误 `fx3 is in state 5`,可以参考第二部分我的安装流程:

2 我的安装流程

首先确保 `sudo uhd_images_downloader` 及之前的命令都已经正确执行完。

出现上图所示的错误表明 FPGA 配置文件有问题,需要更新相应的配置文件(配置文件在文末自取)。

方法一:用新的 bin 文件替换掉无法加载的 bin 文件

 可以看到问题出在镜像文件 usrp_b210_fpga.bin 上,所以用提供的新文件 libresdr_b210.bin 来替换掉这个无法加载的镜像文件即可。

首先将 libresdr_b210.bin 文件复制到 usrp_b210_fpga.bin 文件所在的目录中 “/usrp/share/uhd/images/”,然后将 usrp_b210_fpga.bin 文件删掉,将 libresdr_b210.bin 文件重命名为 usrp_b210_fpga.bin,文件就替换成功了。

方法二:使用脚本文件进行更新

将提供的 patch 文件夹拷贝到任意目录下,我这里拷贝到了主目录下,在终端中可以看到:

进入 patch 文件夹:

cd patch

添加运行权限:
chmod +x patch.sh

用 sudo 权限运行 chmod +x patch.sh:

sudo chmod +x patch.sh

这个地方权限不够不知道是为什么,但是不影响。

验证 UHD 是否成功安装且板子是否可以正常使用:

uhd_find_devices
uhd_usrp_probe

安装 GNU Radio

在终端中继续执行命令:

sudo apt install gnuradio

测试

需要测试 GNU Radio 是否可以和 USRP 设备正常搭配使用:

uhd_fft -f 2450M

如果弹出下面的窗口,就大功告成了:

还可以在 GNU Radio 里面测试,参考USRP零基础入门1. 安装gnuradio与uhd_哔哩哔哩_bilibili最后的测试部分。


文中所用配置文件:https://pan.baidu.com/s/1Kd5EALa39VCP6jF_qAHeDw?pwd=6kqe 提取码: 6kqe

### USRP B210 使用指南 #### Linux 系统配置驱动安装 对于USRP B210设备,在Linux环境下操作前需确保操作系统已正确设置并安装必要的驱动程序。针对Ubuntu 16.04环境,建议使用的UHD版本为3.14.1.1L以及GNU Radio版本应为3.7.13.5[^1]。 为了使USRP B210能够正常工作于Linux平台之上,必须通过USB线将其连接至计算机的USB 3.0/3.1端口来完成供电及高速数据传输功能[^2]。 #### 安装步骤概述 在准备就绪之后,可以按照如下方法来进行具体的操作: - **更新系统包管理器** ```bash sudo apt-get update && sudo apt-get upgrade -y ``` - **添加Ettus Research官方源** ```bash sudo add-apt-repository ppa:ettusresearch/uhd-release sudo apt-get update ``` - **安装依赖库** ```bash sudo apt-get install libboost-all-dev cmake g++ git python-cheetah ``` - **下载并编译UHDGNU Radio** ```bash git clone https://github.com/EttusResearch/uhd.git cd uhd/host mkdir build cd build cmake .. make -j$(nproc) sudo make install sudo ldconfig ``` 同样地,对于GNU Radio也需要执行类似的克隆、构建过程: ```bash git clone https://github.com/gnuradio/gnuradio.git cd gnuradio mkdir build cd build cmake .. make -j$(nproc) sudo make install sudo ldconfig ``` 以上命令将会把最新的UHDGNU Radio安装到系统中去。 #### 测试USRP B210 设备连通性 当所有的软件都成功部署完毕后,可以通过运行`uhd_find_devices`工具来验证硬件是否被识别出来。如果一切顺利的话,则应该能看到关于所连接USRP器件的信息输出。 ```bash uhd_find_devices ``` 此命令会尝试枚举所有可用的USRP装置,并显示它们的相关属性,比如序列号等信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值