You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Redpitaya X通道流控:DAC输出信号操作遇连接超时求助

Redpitaya X-Channel Streaming DAC流控连接超时排查

问题背景

Redpitaya的X-Channel streaming应用支持双向流控(采集与生成),但官方未提供DAC操作示例,第三方文档也无最小可用案例,仅能通过rpsa_client -h获取DAC流控的命令结构(rpsa_client可执行文件获取方法参考官方流控入门文档)。用户按以下步骤操作后出现连接超时,无额外报错信息,需排查原因。

复现步骤

  • 搭建STEMlab 125-14开发板,联网并通过网页验证连通性;
  • 将输出1连接至示波器以验证信号生成。

执行命令与控制台输出

1. 启动DAC模式

命令:

./rpsa_client -r -h <ip> -m start_dac -v

输出:

<timestamp>:  Connected: <ip>
<timestamp>:  Send start DAC command to master board: <ip>
<timestamp>:  DAC streaming started: <ip> Local mode [OK]

疑问:此处为何显示Local mode?ADC模式下显示的是TCP mode。

2. 设置配置

命令:

./rpsa_client -c -h <ip> -s F -f <path>/stream.conf -v

输出:

<timestamp>:  Connected: <ip>
<timestamp>:  Send configuration to: <ip>
<timestamp>:  SET: <ip> [OK]
<timestamp>:  Send configuration save command to: <ip>
<timestamp>:  SAVE TO FILE: <ip> [OK]

此步骤无异常。

3. 启动流控模式

命令:

./rpsa_client -o -h <ip> -f wav -d <path>/test_sine.wav -r 1 -m 1M -v

(注:test_sine.wav含200kHz测试音,约625000个采样点)
输出:

<timestamp>:  Connect timeout: <ip>

仅显示超时,无额外信息。

stream.conf配置内容(含注释)

{
    "adc_streaming" :
    {
        "attenuator" : 1,       // 1: 1:1, 2: 1:20 (输入衰减)
        "calibration" : true,   // 使用校准
        "channels" : 1,         // 1: 通道1, 2: 通道2, 3: 双通道
        "coupling" : 2,         // 未知参数
        "decimation" : 2,       // 采样率抽取
        "format" : 0,           // 未知参数
        "port" : "8900",        // TCP/UDP端口
        "protocol" : 0,         // 0: TCP, 1: UDP
        "resolution" : 1,       // 1: 8位, 2: 16位
        "samples" : 2000000,    // NOS: 仅当save_type为'1'时生效
        "save_type" : 0,        // 0: 以太网, 1: 保存至SD卡
        "type" : 1
    },
    "dac_streaming" :
    {
        "dac_file" : "",                // 文件路径 - 在`rpsa_client -o`命令中指定
        "dac_file_type" : 1,            // 未知参数
        "dac_gain" : 0,                 // 未知参数
        "dac_memoryUsage" : 1048576,    // RAM缓存大小
        "dac_mode" : 1,                 // 未知参数
        "dac_port" : "8903",            // TCP/UDP端口
        "dac_repeat" : 1,               // 重复模式(启用/禁用)
        "dac_repeatCount" : 10,         // 重复次数
        "dac_speed" : 62500000          // 采样率
    },
    "loopback" :            // 未知模块
    {
        "channels" : 1,     // 未知参数        
        "dac_speed" : -1,   // 未知参数
        "mode" : 0,         // 未知参数
        "timeout" : 1       // 超时时间(秒)?
    }
}

排查与解答

1. Local mode疑问解答

Local mode表示DAC流控当前处于本地模式(数据从Redpitaya本地存储读取),而ADC的TCP mode指数据通过TCP发送到远端。执行start_dac后默认进入本地模式,若后续要通过网络传输数据(如-o命令发送WAV文件),需切换为网络模式,否则会因模式不匹配导致连接超时。

2. 连接超时核心排查步骤

(1)修正DAC模式参数

stream.conf中dac_streaming的dac_mode设为1是本地模式,需改为0(网络模式),这是导致连接超时的核心原因。修改后重新执行配置命令生效。

(2)统一采样率参数

命令中-m 1M指定的采样率(1MHz)与配置中dac_speed(62.5MHz)不匹配,会引发采样率冲突。需统一两者:要么将命令中的-m改为62.5M,要么将配置的dac_speed改为1000000。

(3)端口与网络验证

  • 在Redpitaya上执行netstat -tulpn | grep 8903,确认dac_port(8903)未被占用;
  • 检查开发板防火墙/路由器是否封禁8903端口,确保网络连通性。

(4)服务状态重置

在Redpitaya上重启流控服务:

systemctl restart redpitaya_streaming

之后重新执行所有命令,排除服务异常导致的连接问题。

内容的提问来源于stack exchange,提问作者dxxx9

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 20:05:31