본문 바로가기

iperf

(26)
[W55RP20 SSM] iperf 를 이용한 W5500 TCP 전송률 테스트 W55RP20의 최대 장점은 Ethernet기능을 하는 W5500을 원칩으로 소형화 했기 때문에 당연히 Ethernet 성능이 중요 할것 같다.  MCU의 성능은 RP2040 벤치마크 테스트에서 확인 했기 때문에 달라진 것은 없을것 같고 TCP Throughput 측정 테스트를 해 보자. W55RP20은 W5500이 PIO를 이용한 SPI를 생성해서 제어하기 때문에 SPI, PIO, DMA 기능이 필수적으로 들어가야 한다. 프로젝트 생성시 설정해주면 편리하다.    RP2040 C++ SDK 환경에서 iperf 를 이용한 W5500 TCP 전송률 테스트 결과 14Mbps 정도로 측정 되는것을 확인했다.  [RP2040_W5500] RP2040 C++ SDK 환경에서 iperf 를 이용한 W5500 TCP..
CH32X035 SSM - W5500 을 이용한 Iperf TCP Throughput 측정 테스트 CH32X035는 저렴(2$대)하고 작은크기(3mm x 3mm)의 RISC-V 코어로 소형의 TCP/IP 솔루션으로 사용하기 좋을것 같아 W5500을 이용하여 TCP/IP 전송률 테스트를 해 보았다. 우선 Wizet사에서 제공하는 ioLibrary Driver를 다운 받아 프로젝트 폴더에 복사 한다. SPI 초기화 함수를 작성한다. void SPI_FullDuplex_Init(void) { GPIO_InitTypeDef GPIO_InitStructure = {0}; SPI_InitTypeDef SPI_InitStructure = {0}; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_SPI1, ENABLE); GPIO_InitStructure..
CH32V003 SSM - Iperf로 W5500의 TCP Throughput 측정 테스트 100원대 MCU로 유명한 CH32V003에서 W5500 모듈보드를 이용하여 이더넷 전송률 테스를 해 보자.그러면 정말 저렴한 이더넷 솔루션이 되지 않을까? 아쉽게도 플래시 용량 문제로 Arduino 환경에서는 사용할 수 없다. CH32V003 SSM - 개발환경(MounRiver)을 이용하여 테스트 했다. 우선 프로젝트를 생성하고 ioLibrary Driver를 다운 받아 복사 한다.   CH32V003 SPI 초기화 함수를 작성한다.void SPI_FullDuplex_Init(void){ GPIO_InitTypeDef GPIO_InitStructure = {0}; SPI_InitTypeDef SPI_InitStructure = {0}; RCC_APB2PeriphClockCmd(RCC..
CH32V307 SM - UDP 전송속도 테스트(Iperf UDP Throughput 측정 테스트) Ethernet PHY가 포함되어 있는 CH32V307의 UDP 이더넷 성능 테스트를 진행해 보자 UDP서버 예제를 이용해서 UDP 루프백 속도를 측정 해 볼 수 있다. https://github.com/openwch/ch32v307/tree/main/EVT/EXAM/ETH/UdpServer int cnt = 0; void WCHNET_UdpServerRecv(struct _SOCK_INF *socinf, u32 ipaddr, u16 port, u8 *buf, u32 len) { //u8 ip_addr[4], i; /* int i; // printf("Remote IP:"); for (i = 0; i < 4; i++) { ip_addr[i] = ipaddr & 0xff; printf("%d ", ip_a..
CH32V307 SM - TCP 전송속도 테스트(Iperf Throughput 측정 테스트) CH32V307의 최대 장점은 작은 페키지(LQFP64)에 Ethernet PHY가 포함되어 있는 것이다. 이더넷 성능 테스트를 진행해 보자 TCP서버 예제를 이용해서 TCP 루프백 속도를 측정해 보자 https://github.com/openwch/ch32v307/tree/main/EVT/EXAM/ETH/TcpServer void WCHNET_DataLoopback(u8 id) { #if 1 u8 i; u32 len; u32 endAddr = SocketInf[id].RecvStartPoint + SocketInf[id].RecvBufLen; //Receive buffer end address if ((SocketInf[id].RecvReadPoint + SocketInf[id].RecvRemLen) ..
STM32H7 - iperf를 이용한 내장 이더넷 전송률 테스트(iperf Throughput) STM32H7을 이용한 이더넷 테스트에서 고속전송에서의 에러가 많이 발생 했는데 최근 ST에서 제공하는 라이브러리는 업데이트가 많이 된것 같다. STM32H7-RP 보드는 STM32H7의 내장 이더넷 컨트롤러를 테스트 할수 있는 PHY커넥터가 있어 간단히 이더넷 테스트를 해 볼 수 있다. ST에서 제공하는 STM32H7 STM32CubeMX based Ethernet examples 를 참고로해서 새로운 프로젝트를 생성하고 iperf로 TCP전송률 테스트를 진행해 보았다. 우선 STM32CubeIDE를 최신으로 업데이트 하고 프로젝트를 생성한다. ETH를 RMII 모드로 설정하고 나머지 필요한 페리를 추가 해 준다. STM32F7 에서 LwIP 추가했던 방식과 달리 디폴트로 활성화 되어 있지 않다. 활성..
Raspberry Pi Pico W - RP2040 C++ SDK 환경에서 iperf 를 이용한 WiFi Throughput 테스트 Arduino IDE 개발환경에서 WiFi전송률 테스트 결과 10Mbps 정도가 측정이 되는데 좀더 속도를 높이기 위해 RP2040 C/C++ SDK 개발환경을 이용하여 iperf 를 이용한 WiFi Throughput 테스트를 진행 해 보자 #include "pico/cyw43_arch.h" #include "pico/stdlib.h" #include "lwip/netif.h" #include "lwip/ip4_addr.h" #include "lwip/apps/lwiperf.h" #ifndef USE_LED #define USE_LED 1 #endif #if CLIENT_TEST && !defined(IPERF_SERVER_IP) #error IPERF_SERVER_IP not defined #endi..
Raspberry Pi Pico W - Arduino IDE에서 Iperf로 WiFi Throughput 측정 테스트 Raspberry Pi Pico W의 WiFi 전송율을 테스트 해 보자. ESP32의 WiFi 전송율 테스트에 사용한 코드를 수정하여 테스트 하였다. #include const char* ssid = STASSID; const char* password = STAPSK; int port = 5001; WiFiServer server(port); void setup() { Serial.begin(115200); WiFi.mode(WIFI_STA); WiFi.setHostname("PicoW2"); Serial.printf("Connecting to '%s' with '%s'\n", ssid, password); WiFi.begin(ssid, password); while (WiFi.status() != W..