AnyMath 文档
Notebook

节奏SDR USRP入门

本文讨论了一个通过库将RHYTHM SDR USRP与Engee开发环境集成的实际示例。 ritm_sdr_core.jl,这是一个软件接口,用于管理高性能软件和硬件平台RHYTHM SDR USRP。 该平台基于Xilinx Zynq UltraScale+SNC和ADRV9009RF收发器的组合。 它支持在广泛的无线电频率范围(从75MHz到6GHz)中运行,瞬时带宽高达450MHz,使其成为开发和测试现代无线系统的理想工具。

这篇文章始终涵盖了工作的关键方面:

  1. 与RHYTHM SDR USRP建立网络连接。
  2. 通过库[Engee.Integration]进行网络交互的机制(https://engee.com/helpcenter/stable/ru/engee-hardware/engee-integrations.html
  3. 主要功能的综合健康检测。

与设备的所有交互都通过网络接口进行。 关键组件之间的连接和数据交换的体系结构是Engee web环境,Engee实用程序。PC和SDR USRP本身的集成如下图所示。 从图中可以看出,在这种情况下 ritm_sdr_core.jl 它是一个软件"层",允许与SDR USRP系统进行TCP/IP通信,该系统反过来连接到预装了Engee应用程序的计算机。整合。

Схема взаимодействия компонентов_ веб-среда Engee, Engee Device Manager на ПК и РИТМ SDR USRP

连接设置

通过Engee库实现与RHYTHM SDR USRP的交互。集成,它提供了用于处理网络连接的功能。 有两个选项可供用户启动Engee。整合。 本文讨论了它在Windows操作系统中的应用。:

  1. *图形界面–-通过可执行文件启动应用程序 engee-device-manager.exe.

Подключение.png
2. 命令提示符–从带有标志的终端启动 -d 获取有关连接的详细信息: ./engee-device-manager.exe -d.

使用命令行时,必须首先在程序文件夹中打开终端或导航到它。 标志模式 -d 提供高级日志记录,这对于调试连接非常有用。 要运行,请使用类似UNIX的环境的命令行shell,例如Git Bash

image.png

要成功将客户端连接到RHYTHM SDR USRP,您必须首先在PC和设备之间设置物理连接。 这是通过几个步骤完成的:

  1. **物理连接:**使用以太网电缆将PC的网络端口连接到调试卡上的PS ETH端口。
image.png
  1. PC上的网络设置通过指定以下参数手动配置卡连接到的PC的网络接口:
    *IP地址:192.168.2.1;
    *子网掩码:255.255.255.0;
    *主网关:不需要(可以留空)。
0170dabe-ea9f-4ebe-ae48-188963a8ddc6.png
  1. **RHYTHM SDR USRP地址:**默认情况下,RHYTHM SDR USRP上的SDR服务器按IP地址等待连接 192.168.2.70 和港口 12345. 这些值在客户端中设置为默认常量。

与节奏SDR USRP交互的主库函数分析

此测试旨在演示用于RHYTHM SDR USRP支持的库的操作,并使用以下一组函数: rf_switch_set_tx_fddtdd_sw1/2, is_ORX_DMA_transfer_end, receive_file_ORX_to_RAM, set_frequency, set_transceiver, set_tx_attenuation, set_ip_core, manual_calibrate_orx, agc_set_mode, get_temperatures, stop_transmission, disconnect.

In [ ]:
include("ritm_sdr_core.jl")
✓ Библиотека клиента RITM SDR USRP готова

在192.168.2.70处初始化到SDR服务器的连接,之后执行对服务器软件版本的请求。

In [ ]:
@log_on
client = RITMClient("192.168.2.70")
!connect(client) && (@logmsg "连接错误"; return);
Логирование включено
✓ Подключено к 192.168.2.70:12345
In [ ]:
@logmsg "服务器版本:$(get_version(client))"
Версия сервера: v5.1.5

RF切换测试:循环控制FDD(接收和发送的频率分离)/TDD(接收和发送的时间分离)开关,它们分别是SW1和SW2。

In [ ]:
rf_switch_set_tx_fddtdd_sw1(client, true)
rf_switch_set_tx_fddtdd_sw2(client, true)
Out[0]:
true
In [ ]:
rf_switch_set_tx_fddtdd_sw1(client, false)
rf_switch_set_tx_fddtdd_sw2(client, false)
Out[0]:
true

检查反馈通道(ORX):监控反向通道(DMA ORX)的直接内存访问系统的状态,接收RAM中的数据(SDR USRP

In [ ]:
result = is_ORX_DMA_transfer_end(client)
Out[0]:
true
In [ ]:
receive_file_ORX_to_RAM(client, 1, 100)
Out[0]:
true

主要参数的配置:设置2400MHz的频率,选择TX1-发射器或RX1-接收器路径,设置发射器的衰减。

In [ ]:
set_frequency(client, 2400.0)
Out[0]:
true
In [ ]:
set_transceiver(client, 1, 1)
Out[0]:
true
In [ ]:
set_tx_attenuation(client, "TX1", 5.0)
Out[0]:
true

使用IP核:将测试值写入寄存器。

In [ ]:
set_ip_core(client, "0x80080114", "0x1")
Out[0]:
true

校准ORX1和配置AGC

In [ ]:
manual_calibrate_orx(client, "ORX1")
Out[0]:
true
In [ ]:
agc_set_mode(client, 0)
Out[0]:
true

温度监测:

*RPU(实时处理单元)-R5实时处理器上的温度传感器
*TRX(发射器-接收器)-收发器上的温度传感器
*PL(可编程逻辑)-FPGA上的温度传感器

In [ ]:
temps = get_temperatures(client)
for (dev, temp) in temps
    println("$dev: $(temp)°C")
end
RPU: 39.025756°C
TRX: 71.0°C
PL: 40.990248°C

停止传输,关闭连接。

In [ ]:
stop_transmission(client)
Out[0]:
true
In [ ]:
disconnect(client)
✓ Соединение закрыто
In [ ]:
close_log();
Лог-файл закрыт: logs/log_2026-02-27_13-48-07.log

结论

本文提供了一个将RHYTHM SDR USRP与Engee开发环境集成的示例。 在工作期间,所有关键步骤都得到了一致的考虑:从将设备物理连接到PC并配置网络接口到通过Engee配置连接。整合。

最终的结果是所有基本功能的成功实施,这在实践中证实了连接的正确性,网络交互的稳定性以及客户端库对RHYTHM SDR USRP硬件平台的全面管理的准备。 特别是,功能的操作,如: rf_switch_set_tx_fddtdd_sw1/2, is_ORX_DMA_transfer_end, receive_file_ORX_to_RAM, set_frequency, set_transceiver, set_tx_attenuation, set_ip_core, manual_calibrate_orx, agc_set_mode, get_temperatures, stop_transmission, disconnect.

因此,所提供的材料可作为现成的分步指南,允许工程师快速部署开发环境,建立与设备的稳定连接并开始使用它。