通过 iperf 在 RP2040 上以 10Mbps 以太网比较 W6100 和 ENC28J60。 W6100 支持 10/100Mbps 和 IPv4/IPv6。
转发: W6100 and ENC28J60 Performance on RP2040 at 10Mbps Ethernet (wiznet.io)
项目介绍
原来的 : https://github.com/wiznetmaker/RP2040-LWIP-C
W6100 和 ENC28J60 在 RP2040 上 10Mbps 以太网上的性能比较
W6100和ENC28J60都是专为网络通信而设计的芯片组。 WIZnet 提供的 W6100 支持 10Mbps 和 100Mbps 以太网,而 Microchip 提供的 ENC28J60 仅支持 10Mbps 以太网。 两种芯片组都通过 SPI 接口进行通信,并可跨多个领域使用。 在本次比较中,我们将使用 iperf 测试基于 RP2040 SDK LWIP 来测量和比较这些芯片组的性能。
用于测试的 GitHub 存储库简介
对于此测试,可以在 RP2040-LWIP-C 上获取专门准备的 GitHub 存储库。 该存储库包含基于 RP2040 SDK LWIP 和 iperf 的代码和设置说明,用于测量 W6100 和 ENC28J60 的性能。 用户可以通过该存储库直接进行测试并验证结果。 对于ENC28J60,参考Judding/pi-pico-enc28j60.
测试执行方法
从 RP2040-LWIP-C 克隆 GitHub 存储库。 本次测试使用了与 Raspberry Pi Pico 兼容的 WIZnet 的 W6100-EVB-Pico。
W6100 连接到 RP2040 SPI0。 使用的引脚如下:
SPI0 MISO - GPIO16
SPI0 CSn - GPIO17
SPI0 SCLK - GPIO18
SPI0 MOSI - GPIO19
ENC28J60 连接到 SPI1。 使用的引脚如下:
SPI1 MISO - GPIO12
SPI1 CSn - GPIO13
SPI1 SCLK - GPIO10
SPI1 MOSI - GPIO11
将ENC28J60连接到W6100-EVB-Pico后,修改CMakeLists.txt和port/port_common.h中的设置。
对于 W6100 测试,请将 CMakeLists.txt 中的 WIZNET_CHIP 设置为 W6100。
对于 ENC28J60 测试,请将 CMakeLists.txt 中的 WIZNET_CHIP 设置为 ENC28J60。
在 port/port_common.h 中,您可以更改 W6100 和 ENC28J60 的设置。 此配置将 RP2040 PLL 设置为 133MHz,将 SPI Clk 设置为 20MHz。 实际的 SPI 时钟设置为 16.625 MHz。
Iperf测试的示例如下:
示例/iperf:W6100 TOE iperf 测试
示例/lwiperf6:W6100 LWIP iperf 测试
示例/lwiperf-enc28j60:ENC28J60 LWIP iperf 测试
测试使用Iperf 2.0.5版本,执行以下参数五次,记录结果:
W6100:iperf -c 192.168.100.10 -i 2 -t 20
ENC28J60:iperf -c 192.168.100.20 -i 2 -t 20
检测结果
五次运行的平均结果如下:
W6100 TOE iperf 测试:8.91 Mbits/秒
W6100 LWIP iperf 测试:4.24 Mbits/秒
ENC28J60 LWIP iperf 测试:3.76 Mbits/秒
与 ENC28J60 LWIP iperf 测试相比,W6100 LWIP iperf 测试显示性能提高了约 0.48 Mbits/sec。 W6100 TOE iperf 测试结果约为 W6100 LWIP iperf 测试的两倍。
W6100 支持 10Mbps 和 100Mbps 以太网,而 ENC28J60 仅支持 10Mbps。 此外,W6100 支持更高速度的 SPI 时钟。 值得注意的是,通过利用 W6100 的 TOE(TCP 卸载引擎)功能,您可以在 10Mbps 下实现高达 8.91 Mbits/sec 的高性能。 这些测量结果可能会因网络环境而异。
W6100 支持 IPv4/IPv6 和 10Mbps/100Mbps 以太网。
感谢您的阅读。
文件