본문 바로가기

ESPRESSIF/ESP32-S2

ESP32S2 SM - Arduino IDE에서 W5500 iperf tcp 전송률 테스트

 

 

ESP32-S2 에서 W5500을 이용한 Ethernet 전송율 테스트를 해 보자

 

NET-EXP 확장 테스트 보드는 SM-Type EVM 보드를 테스트 해 볼수 있고 SSM-Type 확장 모듈인 W5500을 연결할 수 있다. W5500의 CS 핀은 GPIO34에 할당되어 있다.

 

W5500 iperf 테스트 코드

#include <SPI.h>
#include <Ethernet2.h>

#define USE_THIS_SS_PIN                     34

byte mac[] = {
  0x00, 0x08, 0xDC, 0x00, 0x00, 0x00
};

EthernetServer server(5001);

void setup() {

  Serial.begin(115200);
  while (!Serial) {
    ; // wait for serial port to connect. Needed for Leonardo only
  }

  Ethernet.w5500_cspin = USE_THIS_SS_PIN;
  Ethernet.begin(mac);
  Serial.println("...");
  
  // start listening for clients
  server.begin();
  Serial.print("Iperf server address : ");
  Serial.println(Ethernet.localIP());
}

void loop() {
  byte buf[2048];
  unsigned int len = 0;
  
  // wait for a new client:
  EthernetClient client = server.available();

    if (client) {
    Serial.println("Here is new client for check arduino performance");
  while (client.connected())
    {
      len = client.available();
      if (len)
      {
       client.read(buf, 2048);
      }
   }
    // close the connection:
    client.stop();
    Serial.println("client disonnected");
  }
}

 

Arduino 기본 라이브러리 를 이용해서 TCP전송률을 테스트 해보면 5.6Mbs 정도로 측정이된다.

 

 

 

ESP32-C 에서 W5500 테스트예제를 수정했던 라이브러리를 이용하면 13.5Mbps 정도로 측정이 된다.

 

 

 


Wiznet 에서 제공하는 이더넷 전송율 테스트 프로그램 AX를 이용하여 단방향 TCP 전송율 테스트를 해 보아도 13Mpbs 정도로 측정이 된다.

반응형