This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] AM625:UDP 性能问题

Guru**** 2378650 points
Other Parts Discussed in Thread: SK-AM62-LP
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1506274/am625-udp-performance-issues

器件型号:AM625
主题中讨论的其他器件:SK-AM62-LP

工具/软件:

我们正在实施 UDP 协议、但 我们对所观察到的大量数据包丢失感到惊讶。 因此、我们尝试运行 enet_lwip_cpsw 示例、因为它包含 iperf 支持。

从 docs ( https://software-dl.ti.com/mcu-plus-sdk/esd/AM62X/latest/exports/docs/api_guide_am62x/EXAMPLES_ENET_LWIP_CPSW.html )运行建议的命令

iperf -c 192.168.1.100 -i 5 -t 20 -d

尽管吞吐量可能略低于预期。 但是、 UDP 测试开箱即用、例如:

iperf -c 10.14.15.60 -i 1 -t 5 -b 10m -u

据我 所知、udp_iperf.c 希望 iperf 从数据报_id 0开始、但在我的两种设置(一个 Mac 和一个 Linux、一个带有 SK-AM62-LP、一个带有我们自己的电路板)中、它从1开始(或者、网络始终丢弃第一个数据包、但这似乎很奇怪)。

将行205更改为  

if (第一个&&(recv_id == 1)){
174线至
udp_server_stats.expected_datage_id = 1
至少让测试运行的第一部分。 但是、测试输出令人失望(尽管它与我们自己的程序的体验相匹配):

 [1]  0.0- 5.1秒 11.9 MB  19.6 MB/秒 7536/16009 (47%)
 [1]  0.0-5.1秒 7506个数据报收到的顺序错误

约50%的数据包丢失是相当一致的(并且非常高)。 增加(例如-b 40m)或减少带宽不会产生太大差异、直到我们降至150k (ish)以下。 然后(有时)提高一点(40%)。 在-b 10k 17%时。

大量的数据报失灵,我发现更令人惊讶。 我的 第一个想法是在传入队列(?)中出现了问题。 我测试了开关和直接连接到 PC 的设备。

你看到了同样的 行为在你的最后? 您是否知道导致此行为的原因以及是否有解决方法?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我刚刚注意到 SDK 的新版本已经发布,并且不仅如此,升级到11.00.00.16后,问题消失了。