USRP相关报错解决办法

简介: USRP相关报错解决办法

前言

在进行 USRP 开发时遇到了一些报错,这里做个记录解决问题的方法。


一、本地环境

  • 电脑操作系统:Windows11
  • MATLAB 版本:MATLAB 2021a
  • USRP 型号:USRP-N320
  • USRP 固件版本:UHD_3.15.0.0-vendor

二、相关报错信息

报错1:

Checking radio connections…

---------- begin libuhd error output ----------

Exception caught in safe-call.

in __cdecl ctrl_iface_impl<0>::~ctrl_iface_impl(void)

at B:\3p\sources\UHD\lib\rfnoc\ctrl_iface.cpp:52

this->send_cmd_pkt(0, 0, true); -> EnvironmentError: IOError: Block ctrl (CE_01_Port_40) packet parse error - EnvironmentError: IOError: Expected packet index: 425 Received index: 426

---------- end libuhd error output ----------

discover radio!

警告: SerialNum 属性与 System object 的此配置无关。

位置:matlab.system.SystemProp/setProperties

位置: comm.internal/SDRuBase

位置: comm/SDRuTransmitter

位置: test (第 24 行)

报错2:

Checking radio connections…

---------- begin libuhd error output ----------

Exception caught in safe-call.

in __cdecl lmx2592_impl::~lmx2592_impl(void)

at B:\3p\sources\UHD\lib\usrp\common\lmx2592.cpp:155

_regs.powerdown = 1; commit(); -> EnvironmentError: IOError: Block ctrl (CE_01_Port_40) packet parse error - EnvironmentError: IOError: Expected packet index: 376 Received index: 375

---------- end libuhd error output ----------

警告: An error occurred: Could not execute UHD driver command in ‘createDriver_c’: Could not create a UHD driver using IP addr ‘192.168.10.2’. Attach a device at the

specified address, correct the specified address to match an already attached device, or continue to work in off-line mode.

Error from UHD: EnvironmentError: IOError: Block ctrl (CE_01_Port_40) packet parse error - EnvironmentError: IOError: Expected packet index: 375 Received index: 376.

位置:coder.internal.warning (第 8 行)

位置: reportSDRuStatus (第 104 行)

位置: findsdru (第 205 行)

位置: mytransmitter (第 127 行)

错误使用 mytransmitter (第 146 行)

no discover radio!

报错3:

错误使用 comm.SDRuTransmitter/stepImpl

Transmit unsuccessfully: Could not execute UHD driver command in ‘sendData_c’: EnvironmentError: IOError: Block ctrl (CE_01_Port_40) packet parse error -

EnvironmentError: IOError: Expected packet index: 451 Received index: 452

出错 test (第 35 行)

tx(modSignal);

错误 3 可以尝试释放资源,再次运行。

二、解决办法

1、更换电脑操作系统

实验室一台 Win10 台式电脑可以正常驱动 USRP 工作且不报错,我的电脑操作系统是 win11,因此怀疑是操作系统的原因,因此安装了个 win10 的虚拟机进行开发 USRP,果不其然,问题游刃而解

2、升级最新版固件

可以尝试一下将 MATLAB 升级到 2023b,然后也将 USRP 的固件烧录成和 MATLAB 对应的版本 UHD_4.2.0.0-vendor

目录
相关文章
|
算法 C++ 索引
GNURadio+USRP+OFDM实现文件传输(一)
GNURadio+USRP+OFDM实现文件传输(一)
3190 1
|
传感器 人工智能 物联网
HarmonyOS NEXT~鸿蒙操作系统功耗优化特性深度解析
本文深入解析了华为鸿蒙(HarmonyOS)操作系统的功耗优化特性,涵盖低功耗设计原理、核心技术及实际应用效果。通过与Android对比,展现其在待机功耗、CPU调度效率和内存占用上的优势。文章重点阐述分布式任务调度、微内核架构及智能感知技术,并针对智能穿戴、物联网和智能手机等场景优化进行分析,同时为开发者提供优化建议。未来,鸿蒙将探索AI预测性管理等新技术,进一步提升能效表现。
2559 30
|
6月前
|
算法 C++ 异构计算
南京观海微电子---Vitis HLS设计流程(实例演示)——Vitis HLS教程
本课时通过一个具体实例,演示Vitis HLS的设计流程,包括工程创建、仿真、综合与协同仿真,并介绍如何通过不同Solution对比优化结果,帮助理解HLS从C++代码到RTL的转换过程及关键注意事项。
南京观海微电子---Vitis HLS设计流程(实例演示)——Vitis HLS教程
|
算法 数据安全/隐私保护 异构计算
基于FPGA的64QAM基带通信系统,包含testbench,高斯信道模块,误码率统计模块,可以设置不同SNR
本文介绍了基于FPGA的64QAM调制解调通信系统的设计与实现,包括信号生成、调制、解调和误码率测试。系统在Vivado 2019.2中进行了仿真,通过设置不同SNR值(15、20、25)验证了系统的性能,并展示了相应的星座图。核心程序使用Verilog语言编写,加入了信道噪声模块和误码率统计功能,提升了仿真效率。
399 4
|
算法
GNURadio+USRP+OFDM实现文件传输(二)
GNURadio+USRP+OFDM实现文件传输(二)
1963 1
|
索引
使用MATLAB驱动USRP-N320实现OFDM自收自发
使用MATLAB驱动USRP-N320实现OFDM自收自发
827 0
|
异构计算 Windows
使用MATLAB连接USRP
使用MATLAB连接USRP
908 2
GNURadio+USRP+OFDM实现文件传输(三)
GNURadio+USRP+OFDM实现文件传输(三)
1290 0
|
编解码 算法 异构计算
m基于CCSDS标准的LDPC编码器的FPGA实现,包含testbench,码长1024,码率0.5
在Vivado 2019.2中进行的LDPC码仿真展示了算法的良好效果。LDPC码是一种1962年由Gallager提出的稀疏校验矩阵线性分组码,利用Tanner图表示编码解码结构。CCSDS标准定义的LDPC(1024,512)码具有准循环结构,适用于空间通信,其编码通过填充信息比特和校验节点的线性组合实现。Verilog代码示例展示了TEST_encoder_top模块,用于控制LDPC编码过程,包括时钟、复位信号处理和中间数据读取。
454 1