iperf (26) 썸네일형 리스트형 [ESP32-C3 SSM] Arduino IDE에서 W5500 iperf tcp 전송률 테스트 W5500 Arduino 라이브러리 Ethernet2 를 이용하여 W5500을 테스트 하면 속도가 느리다. ESP32-C에서도 역시 W5500의 TCP 전송율이 5Mbp정도로 느리게 측정된다. 라이브러리를 수정해서 ESP32용으로 만들어 테스트 해 보았다. \Arduino\libraries\Ethernet2\src\utility\w5500.cpp #if _USE_RP2040_SPI_DMA #include "w5500_rp2040_dma.hpp" #elif _USE_STM32_SPI_DMA #include "w5500_stm32_dma.hpp" #elif _USE_ESP32_SPI #include "w5500_esp32.hpp" #else #include "w5500.hpp" #endif #define U.. ESP32 ESP-IDF에서 Iperf로 WiFi TCP, UDP Throughput 측정 테스트 ESP32에서 WiFi TCP, UDP Throughput 측정을 위해 Arduino 환경에서 테스트 해보면 속도가 너무 느리게 측정된다. ESP-IDF 환경에서 제공되는 iperf 테스트 예제로 WiFi 성능을 측정해 보자. WiFi iperf 테스트 에제를 빌드 하기 위해 ESP-IDF 개발환경 설정을 참고해서 에서 Show Examples Project를 선택 한다. iperf Example을 선택해서 프로젝트를 생성한다. 빌드후 다운드 하면 VS Code의 터미널 창에서 시리얼 포트를 열수 있다. sta 커멘드로 WiFi에 접속 할 수 있다. sta [] WiFi is station mode, join specified soft-AP SSID of AP password of AP ESP32 UDP.. Raspberry Pi Pico RP2040 - Arduino IDE에서 Iperf로 W5500의 TCP Throughput 측정 테스트 Raspberry Pi Pico 확장 테스트 보드를 이용하여 W5500 모듈의 TCP IP전송률 테스트를 iperf로 진행 해 보자. 확장 테스트보드의 SSM Type EVM 연결 커넥터에 W5500 CS핀이 GP12에 할당 되어 있다. Arduino 에서 iperf 를 이용하여 한 네트웍 전송율 테스트를 하기 위해 TCP Server를 구현 하면 된다. #include #include #define USE_THIS_SS_PIN 12 byte mac[] = {0x00, 0x08, 0xDC, 0x00, 0x00, 0x00}; EthernetServer server(5001); void setup() { Serial.begin(115200); while (!Serial) { ; // wait for seri.. [STM32F-Tx SSM] STM32F103T - Iperf로 W5500의 TCP Throughput 측정 테스트 STM32F103 시리즈를 이용하여 W5500 Ethernet 모듈의 TCP Throughput 을 측정해 보자. STM32F103의 SPI클럭 최대 주파수는 18Mhz 이다. 18Mhz SPI 클럭에서 3.5Mbps정도로 측정된다. STM32F103의 SPI DMA를 사용하면 8Mbps 정도로 측정이 된다. W5500의 버퍼를 최대한 키워보자. W5500의 FIFO 메모리를 최대로 키우고 SPI DMA를 사용하여 STM32F103에서 W5500 iperf TCP 전송율 테스트 결과 14Mbps로 측정이 된다. [STM32G4 SM] STM32CubeIDE STM32G431 - Iperf로 W5500의 TCP Throughput 측정 테스트 STM32G431은 170Mhz로 구동이 되고 SPI는 80Mhz(최대 보장75Mhz) 까지 설정 가능하므로 SPI로 구동되는 W5500모듈의 전송율을 테스트 해 보기에 좋을것 같다. 네트웍 전송율 테스트를 위해 PC에서는 iperf 프로그램을 사용하고 STM32에서는 W5500 TCP loopback 테스트 코를 조금 수정해 iperf 클라이언트 코드로 작성했다. int32_t iperf_tcps(uint8_t sn, uint8_t* buf, uint16_t port) { int32_t ret; uint16_t size = 0, sentsize=0; switch(getSn_SR(sn)) { case SOCK_ESTABLISHED : if(getSn_IR(sn) & Sn_IR_CON) { setSn_IR.. [STM32-64 Ardu] STM32F732 W5500 iperf 네트웍 전송율 테스트 STM32F732 Arduino SPI 속도 테스트에서 설정한 최대 SPI 클럭값으로 W5500의 네트웍 전송율을 테스트 해 보자. [STM32-64 Ardu] 보드에서 W5500 EVM 모듈을 연결 할 수 있는 SSM 커넥터의 CS 핀는 PB0에 할당되어 있다. 우선 W5500 Arduino 라이브러리 파일에서 클럭 속도를 최대치로 설정 한다. \Arduino\libraries\Ethernet2\src\utility\w5500.cpp //SPISettings wiznet_SPI_settings(8000000, MSBFIRST, SPI_MODE0); SPISettings wiznet_SPI_settings(54000000, MSBFIRST, SPI_MODE0); 소스코드는 [STM32-64 Ardu] S.. [STM32-48 SSM] Arduino IDE에서 W5500 iperf 전송률 테스트 STM32F103 Aruino TCP 예제를 이용하여 iperf로 W5500의 네트웍 전송율 테스트를 해 보자 #include #include #define USE_THIS_SS_PIN PB0 byte mac[] = { 0x00, 0x08, 0xDC, 0x00, 0x00, 0x00 }; EthernetServer server(5001); void setup() { Serial.begin(115200); Serial.print("Iperf server address : "); Ethernet.w5500_cspin = USE_THIS_SS_PIN; // initialize the ethernet device Ethernet.begin(mac); // start listening for clients serv.. [STM32-64 Ardu] STM32F405 - Arduino에서 W5500 iperf 네트웍 전송율 테스트 [STM32-64 Ardu] STM32F405에서 W5500 DHCP 테스트 예제를 이용하여 iperf로 W5500의 네트웍 전송율 테스트를 해 보자 우선 W5500 Arduino 라이브러리 파일에서 클럭 속도를 최대치로 설정 한다. \Arduino\libraries\Ethernet2\src\utility\w5500.cpp SPISettings wiznet_SPI_settings(42000000, MSBFIRST, SPI_MODE0); Arduino 에서 iperf 를 이용한 네트웍 전송율 테스트를 하기 위해 TCP Server를 구현 하면 된다. #include #include #define USE_THIS_SS_PIN PB0 byte mac[] = {0x00, 0x08, 0xDC, 0x00, 0x00.. 이전 1 2 3 4 다음