Wiznet makers

taylor

Published September 20, 2023 ©

122 UCC

7 WCC

53 VAR

0 Contests

0 Followers

0 Following

W6100 and ENC28J60 Performance on RP2040 at 10Mbps Ethernet

Comparison of W6100 & ENC28J60 on RP2040 at 10Mbps Ethernet through iperf. W6100 supports 10/100Mbps and IPv4/IPv6.

COMPONENTS Hardware components

WIZnet - W6100-EVB-Pico

x 1


SMG - ENC28J60 Module

x 1

Software Apps and online services

iperf - iperf

x 1


PROJECT DESCRIPTION

Original : https://github.com/wiznetmaker/RP2040-LWIP-C

 

Comparison of W6100 and ENC28J60 Performance on RP2040 at 10Mbps Ethernet

W6100 and ENC28J60 are both chipsets designed for network communication. While the W6100, provided by WIZnet, supports both 10Mbps and 100Mbps Ethernet, the ENC28J60, offered by Microchip, only supports 10Mbps Ethernet. Both chipsets communicate via the SPI interface and are utilized across various domains. In this comparison, we will measure and compare the performance of these chipsets based on the RP2040 SDK LWIP using the iperf test.

 

Introduction to the GitHub Repository for Testing

For this test, a specially prepared GitHub Repository is available at RP2040-LWIP-C. This repository contains the code and setup instructions based on the RP2040 SDK LWIP and iperf to measure the performance of W6100 and ENC28J60. Users can directly perform tests and verify results through this repository. For the ENC28J60, reference was made to Judding/pi-pico-enc28j60.

 

Test Execution Method

Clone the GitHub Repository from RP2040-LWIP-C. For this test, the WIZnet's W6100-EVB-Pico, compatible with Raspberry Pi Pico, was used.

The W6100 is connected to the RP2040 SPI0. The pins used are as follows :

SPI0 MISO - GPIO16

SPI0 CSn - GPIO17

SPI0 SCLK - GPIO18

SPI0 MOSI - GPIO19

The ENC28J60 is connected to SPI1. The pins used are as follows :

SPI1 MISO - GPIO12

SPI1 CSn - GPIO13

SPI1 SCLK - GPIO10

SPI1 MOSI - GPIO11

After connecting the ENC28J60 to the W6100-EVB-Pico, modify the settings in CMakeLists.txt and port/port_common.h.

For the W6100 Test, set the WIZNET_CHIP in CMakeLists.txt to W6100.

For the ENC28J60 Test, set the WIZNET_CHIP in CMakeLists.txt to ENC28J60.

In port/port_common.h, you can change the settings for W6100 and ENC28J60. This configuration sets the RP2040 PLL to 133MHz and the SPI Clk to 20MHz. The actual SPI Clock set is 16.625 MHz.

The examples for the Iperf Test are as follows :

examples/iperf: W6100 TOE iperf Test

examples/lwiperf6: W6100 LWIP iperf Test

examples/lwiperf-enc28j60: ENC28J60 LWIP iperf Test

Iperf version 2.0.5 was used for the test, and the following parameters were executed five times, recording the results:

W6100: iperf -c 192.168.100.10 -i 2 -t 20

ENC28J60: iperf -c 192.168.100.20 -i 2 -t 20

Test Results

The average results from five runs are as follows:

W6100 TOE iperf Test: 8.91 Mbits/sec

W6100 LWIP iperf Test: 4.24 Mbits/sec

ENC28J60 LWIP iperf Test: 3.76 Mbits/sec

The W6100 LWIP iperf Test showed approximately 0.48 Mbits/sec higher performance compared to the ENC28J60 LWIP iperf Test. The W6100 TOE iperf Test result is about twice that of the W6100 LWIP iperf Test.

While the W6100 supports both 10Mbps and 100Mbps Ethernet, the ENC28J60 only supports 10Mbps. Additionally, the W6100 supports a higher speed at SPI Clock. Notably, by leveraging the TOE (TCP Offload Engine) feature of the W6100, you can achieve a high performance of up to 8.91 Mbits/sec at 10Mbps. These measurement results may vary depending on the network environment.

 

The W6100 supports both IPv4/IPv6 and 10Mbps/100Mbps Ethernet.

Thank you for reading.

Documents
  • wiznetmaker/RP2040-LWIP-C

  • Juddling/pi-pico-enc28j60

Comments Write

Similar projects you might like

Implementing IoT remote device control on Raspberry Pi's RP2040 + W5500

Implementing IoT remote device control on Raspberry Pi's RP2040 + W5500

simons
  • 1833

  • 0

With your voice, you can control light, temperature, and bed gradient!!

[Recuration] Smart Bed System Using webOS

josephsr
  • 1477

  • 0

일부 제조업체는 LLM Steak Classifier AIOT Bot 으로 알려진 Pi 기반 AI 고기 요리 모니터를 만든 개발자 Simon처럼 맛볼 수 있는 Raspberry Pi 프로젝트 를 만드는 방법을 확실히 알고 있습니다. 이 프로젝트는 실제 센서와 함께 ChatGPT를 사용하

Raspberry Pi 프로젝트가 잘 완료되었습니다. AI를 사용하여 고기를 완벽하게 요리합니다.

simons
  • 1987

  • 0

This basic GPIO input/output testing provides foundational knowledge for using the Raspberry Pi Pico in various electronics projects.

[Recuration] Using Raspberry Pi Pico(W5100S-EVB-Pico) ADC

Benjamin
  • 2556

  • 0

Do not Miss the IoT Module by Wiznet with RP2040 and Ethernet

Do not Miss the IoT Module by Wiznet with RP2040 and Ethernet

simons
  • 1245

  • 0

RRW_LAB aka Remora RPi/W5500 LinuxCNC Adapter Board is a CNC controller board for use with LinuxCNC

Remora RPi/W5500 LinuxCNC Adapter Board

louis_m
  • 2663

  • 0

This guide explains how to connect a Raspberry Pi Pico or Pico 2 to the internet using a wired Ethernet connection

Wire Raspberry Pi Pico or Pico 2 to your LAN and Internet

lawrence
  • 1642

  • 0

Custom CircuitPython firmware adds SSL to Pico/Pico 2 + WIZnet W5500, letting a long-running train-signage project fetch Tokyu line data over HTTPS.

Evolving RP2040 Train-Signage — Bringing SSL to WIZnet Ethernet on Raspberry Pi Pico

Benjamin
  • 746

  • 0