본문 바로가기

W5100속도

(37)
CH32V307 SM - Mounriver에서 W5500의 iperf TCP Throughput 측정 테스트 Arduino IDE에서 W5500 테스트에서 전송률이 낮아서 MounRiver 에서 W5500 테스트를 해 보자 우선 프로젝트를 생성하고 ioLibrary Driver를 다운 받아 복사 한다. CH32V307의 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.GPIO_Pin = GPIO_Pin_2; GPIO_InitStructure.GPIO_Mod..
[STM32H7-RP] SPI 테스트 - W5500 Iperf로 Throughput 측정 테스트 [STM32H7-RP]보드는 표즌 핀맵으로 제작된 SSM-Type 보드를 연결하여 다양한 테스트를 해 볼 수 있다. SPI 네트웍 인터페이스 모듈 W5500 EVM 보드를 이용하여 Ethernet (TCP/IP) 테스트를 진행 했다 W5500 EVM의 CS 핀은 PD13에 할당되어 있다.
STM32H7 W5300 iperf TCP 전송률 테스트 - 영혼까지 끌어 올리기 STM32H7 보드에서 W5300 의 TCP 전송율 테스트를 해 보자. STM32H7 칩 내부에 Ethernet MAC가 포함되어 있어 이더넷 통신이 가능하지만 Ethernet 전송율이 34Mbps 정도로 그렇게 빠르지 않다. STM32F439보드에서 W5300을 이용하면 이더넷 전송율을 90Mbps 이상 나오므로 STM32H7에서는 좀더 여유롭지 않을까.. STM32H7 보드에 W5300은 NE1(PD7)에 연결되어 있고 PC3에 리셋이 할당되어 있다. 기존에 테스트 했던 예제를 이용하여 STM32H7 에서는 정상동작을 하지 않는다. getMR() = 0201 W5300 memory initialization failed Mac address: 01:68:01:68:01:68 IP address : 1..
[RP2040_W5500] RP2040 C++ SDK 환경에서 iperf 를 이용한 W5500 TCP 전송률 테스트 . Arduino IDE 환경에서 TCP전송률 테스트 결과 12Mbps 정도로 측정이 되서 다른 MCU들의 iperf 테스트 결과와 비교해 느린것 같아 SDK 환경에서 테스트 해볼 필요가 있을것 같다. RP2040 C/C++ SDK 개발환경 예제를 이용하여 W5500 TCP 전송률 테스트를 해보자 라이브러리는 Wiznet의 W5500 SDK를 다운받아 사용하였다. RP2040에서 W5500 테스트 기본 예제는 아래코드로 작성했다. #include "pico/critical_section.h" #include "hardware/clocks.h" #include "wizchip_conf.h" #include "w5x00_spi.h" #include "socket.h" #define _USE_LOOPBACK ..
[GD32-48 SSM] GD32F303 - Iperf로 W5500의 TCP Throughput 측정 테스트 STM32F103 시리즈 대체용으로 추천 받은 GD32F303은 최대 클럭 120Mhz로 구동되고 SPI클럭을 30Mhz로 구동할 수 있다. STM32F103 과 비교해서 W5500의 TCP Throughtput 테스트 성능 비교를 해보면 좋을 것 같다. 네트웍 전송율 테스트를 위해 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 :..
[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..
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로 측정이 된다.

반응형