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 정도로 측정이 된다.
반응형