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.

[参考译文] CC3220:如何测量 Wi-Fi 吞吐量。

Guru**** 2578945 points
Other Parts Discussed in Thread: CC3220SF-LAUNCHXL

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/733986/cc3220-how-to-measure-wi-fi-throughput

器件型号:CC3220

您好!

如何测量 Wi-Fi 吞吐量

问题1:
如何使用两个 CC3220SF-LAUNCHXL (主设备和从设备)测量 Wi-Fi 的吞吐量?
我想查看数据表 UDP 16 Mbps。

问题2:
测量吞吐量时、是否存在编译器设置的优化级别等影响?

此致、
da

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

    要测量 Wi-Fi 吞吐量、我们建议使用 network_terminal SDK 示例。 该示例附带了用于评估 CC3220的各种工具、包括 UDP 和 TCP 吞吐量测试演示。

    Wi-Fi 基础知识 SimpleLink Academy 介绍了如何使用两个 CC3220SF-LAUNCHXL 进行相互连接并执行各种网络练习:
    dev.ti.com/.../

    要进行真正的吞吐量测试以验证16Mbps 数字、您需要将 CC3220SF-LAUNCHXL 连接到 PC 或其他非 CC3220器件。 我们使用运行 iperf v2的 PC 进行测试。 除了使用 iperf、您无需对 network_terminal 进行其他优化即可测量吞吐量。

    如果您需要更多的说明或有关运行吞吐量测试的帮助、请告诉我。

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

    我们将 Terminal 写信给 CC3220并进行确认、但结果不好。

    使用的工具是 iperf 2.0.9。

    命令过程如下。

    CC3220 TX

    Iperf -s -p 1234

    2.发送-c 10.123.45.4 -p 1234

    <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< Log >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 。
    Iperf 日志
    ----------------------------------------
    服务器侦听 TCP 端口1234
    TCP 窗口大小:208 KB (默认值)
    ----------------------------------------
    [4]本地10.123.45.4端口1234与10.123.45.1端口52524相连
    [ ID]间隔 传输 带宽
    [4] 0.0 - 1.4秒1.34 MB 8.18兆位/秒

    请勿返回到提示符。


    CC3220 RX

    1. recv -s -p 1234 -n 1000

    2. iperf -c 10.123.45.1-p 1234 -n 1000


    <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< Log >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 。

    Iperf 日志
    ----------------------------------------
    客户端连接到10.123.45.1、TCP 端口1234
    TCP 窗口大小:208 KB (默认值)
    ----------------------------------------
    [3]本地10.123.45.4端口55656与10.123.45.1端口1234相连
    [ ID]间隔 传输 带宽
    [3] 0.0 - 0.0秒128 KB 274 Mbit/s

    返回到提示符。

    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 。

    CC3220日志

    协议:TCP
    流量:Rx
    Client\Server:服务器
    端口:1234
    要接收的数据包数:1000

    已连接到客户端:10.123.45.4
    TCP 客户端已关闭连接
    成功接收到93个数据包(131108字节)

    ( RX 统计信息
    接收到的数据包:513
    管理的平均 RSSI:-72其他数据包的平均 RSSI:-42

    ------------ RSSI 直方图---

    <... 缩写...>
    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 。


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

    尊敬的 Da:

    我刚刚重新测试了网络终端示例、并获得了数据表中预期的结果:

    我建议您检查测试设置和环境,以确保没有任何影响吞吐量测试。 在上一个帖子中的终端捕获中、您要传输的客户端具有 IP 地址 xxx.xxx.xxx.4。 是否有多个器件连接到您的 AP?

    此致、

    Michael

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

    您好、Michael、

    我们能够从 CC 3220 (客户端)传输到 PC (服务器)。
    当我再次设置它时、IP 从 xxx.4更改为 xxx.2。

    这种反向传输是否可行?
    此外、UDP 传输不起作用、我应该如何设置选项?

    日志成功

    CC3220端

    用户:发送-c 10.123.45.2 -p 1234 -n 100000
    协议:TCP
    流量:TX
    Client\Server:客户端
    10.123.45.2.
    端口:1234
    要发送的数据包数:100000

    已成功发送100000个数据包(140000000字节)

    用户:发送-c 10.123.45.2 -p 1234 -n 100000
    协议:TCP
    流量:TX
    Client\Server:客户端
    10.123.45.2.
    端口:1234
    要发送的数据包数:100000

    已成功发送100000个数据包(140000000字节)

    用户:发送-c 10.123.45.2 -p 1234 -n 10000
    协议:TCP
    流量:TX
    Client\Server:客户端
    10.123.45.2.
    端口:1234
    要发送的数据包数:10000

    已成功发送10000个数据包(14000000字节)

    用户:

    PC 端

    C:\Users\136867\Desktop\iperf-2.0.9-win64>iperf -s -p 1234
    ----------------------------------------
    服务器侦听 TCP 端口1234
    TCP 窗口大小:208 KB (默认值)
    ----------------------------------------
    [4]本地10.123.45.2端口1234与10.123.45.1端口57805连接
    [ ID]间隔传输带宽
    [4] 0.0-86.8秒134 MB 12.9兆位/秒
    [4]本地10.123.45.2端口1234与10.123.45.1端口50250相连
    [4] 0.0-85.5秒134 MB 13.1兆位/秒
    [4]本地10.123.45.2端口1234与10.123.45.1端口64491相连
    [4] 0.0- 8.5秒13.4 MB 13.1兆位/秒

    此致、
    da

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

    我看到您现在获得了预期的 TCP 吞吐量数字。

    TCP RX 可使用同一网络终端进行测试。
    在 CC3220端、您将运行以下网络终端命令:
    recv -s -p -n
    在 PC 端、使用 iperf、您将运行:
    iperf -c -p -n

    UDP 还适用于网络终端。

    对于 UDP RX:
    CC3220命令:
    recv -s -u -p -n
    Iperf 命令:
    iperf -c -u -p -n
    对于 UDP TX:
    CC3220命令:
    发送-u -c -p -n <number of bytes
    Iperf 命令:
    ipperf -s -u -p -n

    请注意、对于 UDP、您必须根据经过一段时间后发送的字节自行计算吞吐量、因为默认情况下、iperf 不会提供最有用的 UDP 吞吐量数字。

    如果您需要进一步的帮助或有其他问题、请告诉我。

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

    感谢你的答复。

    我尝试了 RECV 命令和 UDP、但两者都不能正常工作。
    在 RECV 命令中、不传输由-n 指定的字节数、它成为一个数值、例如270 MB。

    UDP 的配置似乎没有通信。

    我有一个包含三个案例的日志。

    <<<<  recv 命令>>>
    cc3220

    用户:recv -s -p 1234 -n 10000
    协议:TCP
    流量:Rx
    Client\Server:服务器
    端口:1234
    要接收的数据包数量:10000

    已连接到客户端:10.123.45.2
    TCP 客户端已关闭连接
    成功接收到93个数据包(131108字节)


    PC

    >iperf -c 10.123.45.1-p 1234 -n 10000
    ----------------------------------------
    客户端连接到10.123.45.1、TCP 端口1234
    TCP 窗口大小:208 KB (默认值)
    ----------------------------------------
    [3]本地10.123.45.2端口58987与10.123.45.1端口1234相连
    [ ID]间隔传输带宽
    [3] 0.0 - 0.0秒128 KB 270 MB 每秒

    <<<<<<<<<<<<< UDP 和 RECV >>>>>

    CC3220

    用户:recv -s -u -p 1234 -n 10000
    协议:UDP
    流量:Rx
    Client\Server:服务器
    端口:1234
    要接收的数据包数量:10000

    在接收所有数据包之前超时已过期
    成功接收17个数据包

    ( RX 统计信息
    接收到的数据包:7564
    管理的平均 RSSI:-52其他数据包的平均 RSSI:-70


    PC

    iperf-2.0.9-win64>iperf -c 10.123.45.1-u -p 1234 -n 10000
    ----------------------------------------
    客户端连接到10.123.45.1、UDP 端口1234
    发送1470字节数据报、IPG 目标:11215.21us (卡尔曼调整)
    UDP 缓冲区大小:208KB (默认值)
    ----------------------------------------
    [3]本地10.123.45.2端口49027与10.123.45.1端口1234相连
    [ ID]间隔传输带宽
    [3] 0.0- 0.1秒10.0 KB 1.04兆位/秒
    [3]发送了7个数据报
    [3]警告:10次尝试后未收到最后一个数据报的 ACK。

    <<<<<<<<<<<<< UDP 与发送>>>>>>>>

    PC

    >iperf -s -u -p 1234 -n 10000
    ----------------------------------------
    服务器侦听 UDP 端口1234
    接收1470字节数据报
    UDP 缓冲区大小:208KB (默认值)
    ----------------------------------------


    CC3220

    用户:发送-u -c 10.123.45.1-p 1234 -p 10000
    协议:UDP
    流量:TX
    Client\Server:客户端
    10.123.45.1.
    端口:10000
    要发送的数据包数:1000

    已成功发送1000个数据包

    此致、
    da

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

    如前所述、使用 iperf 测试 UDP 吞吐量存在问题。 使用 TCP 时、由于 ACK 机制、发送方知道数据传输的吞吐量。 但是、使用 UDP、发送器无法知道真正的吞吐量是多少、因为没有机制让它知道数据到达接收端的速度是多快、或者数据是否甚至成功到达接收器。

    如果要测量 UDP 吞吐量、则需要对自己的机制进行编码、以提供接收端的吞吐量 您可以使用 Clock_getTicks() API 获取开始接收之前的时间,然后调用该 API 获取停止接收后的时间,以计算经过的时间和吞吐量。 这将使您能够获得 CC3220作为 UDP 接收器的吞吐量。 对于 UDP TX、您将需要 PC 上的类似器件。

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

    谢谢您的回复。

    感谢您对如何测量 UDP 的评论。
    如果有时间、我会尝试一下。


    此致、
    da