节奏SDR USRP入门
本文讨论了一个通过库将RHYTHM SDR USRP与Engee开发环境集成的实际示例。 ritm_sdr_core.jl,这是一个软件接口,用于管理高性能软件和硬件平台RHYTHM SDR USRP。 该平台基于Xilinx Zynq UltraScale+SNC和ADRV9009RF收发器的组合。 它支持在广泛的无线电频率范围(从75MHz到6GHz)中运行,瞬时带宽高达450MHz,使其成为开发和测试现代无线系统的理想工具。
这篇文章始终涵盖了工作的关键方面:
- 与RHYTHM SDR USRP建立网络连接。
- 通过库[Engee.Integration]进行网络交互的机制(https://engee.com/helpcenter/stable/ru/engee-hardware/engee-integrations.html
- 主要功能的综合健康检测。
与设备的所有交互都通过网络接口进行。 关键组件之间的连接和数据交换的体系结构是Engee web环境,Engee实用程序。PC和SDR USRP本身的集成如下图所示。 从图中可以看出,在这种情况下 ritm_sdr_core.jl 它是一个软件"层",允许与SDR USRP系统进行TCP/IP通信,该系统反过来连接到预装了Engee应用程序的计算机。整合。
连接设置
通过Engee库实现与RHYTHM SDR USRP的交互。集成,它提供了用于处理网络连接的功能。 有两个选项可供用户启动Engee。整合。 本文讨论了它在Windows操作系统中的应用。:
- *图形界面–-通过可执行文件启动应用程序
engee-device-manager.exe.
.png)
2. 命令提示符–从带有标志的终端启动 -d 获取有关连接的详细信息: ./engee-device-manager.exe -d.
使用命令行时,必须首先在程序文件夹中打开终端或导航到它。 标志模式 -d 提供高级日志记录,这对于调试连接非常有用。 要运行,请使用类似UNIX的环境的命令行shell,例如Git Bash。
要成功将客户端连接到RHYTHM SDR USRP,您必须首先在PC和设备之间设置物理连接。 这是通过几个步骤完成的:
- **物理连接:**使用以太网电缆将PC的网络端口连接到调试卡上的PS ETH端口。
- PC上的网络设置通过指定以下参数手动配置卡连接到的PC的网络接口:
*IP地址:192.168.2.1;
*子网掩码:255.255.255.0;
*主网关:不需要(可以留空)。
- **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.
include("ritm_sdr_core.jl")
在192.168.2.70处初始化到SDR服务器的连接,之后执行对服务器软件版本的请求。
@log_on
client = RITMClient("192.168.2.70")
!connect(client) && (@logmsg "连接错误"; return);
@logmsg "服务器版本:$(get_version(client))"
RF切换测试:循环控制FDD(接收和发送的频率分离)/TDD(接收和发送的时间分离)开关,它们分别是SW1和SW2。
rf_switch_set_tx_fddtdd_sw1(client, true)
rf_switch_set_tx_fddtdd_sw2(client, true)
rf_switch_set_tx_fddtdd_sw1(client, false)
rf_switch_set_tx_fddtdd_sw2(client, false)
检查反馈通道(ORX):监控反向通道(DMA ORX)的直接内存访问系统的状态,接收RAM中的数据(SDR USRP
result = is_ORX_DMA_transfer_end(client)
receive_file_ORX_to_RAM(client, 1, 100)
主要参数的配置:设置2400MHz的频率,选择TX1-发射器或RX1-接收器路径,设置发射器的衰减。
set_frequency(client, 2400.0)
set_transceiver(client, 1, 1)
set_tx_attenuation(client, "TX1", 5.0)
使用IP核:将测试值写入寄存器。
set_ip_core(client, "0x80080114", "0x1")
校准ORX1和配置AGC
manual_calibrate_orx(client, "ORX1")
agc_set_mode(client, 0)
温度监测:
*RPU(实时处理单元)-R5实时处理器上的温度传感器
*TRX(发射器-接收器)-收发器上的温度传感器
*PL(可编程逻辑)-FPGA上的温度传感器
temps = get_temperatures(client)
for (dev, temp) in temps
println("$dev: $(temp)°C")
end
停止传输,关闭连接。
stop_transmission(client)
disconnect(client)
close_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.
因此,所提供的材料可作为现成的分步指南,允许工程师快速部署开发环境,建立与设备的稳定连接并开始使用它。