본문 바로가기

iperf

(23)
[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..
STM32G0 SSM - STM32CubeIDE에서 Iperf로 W5500의 TCP Throughput 측정 테스트 STM32G0에서 SPI 클럭의 최대 속도는 32Mhz로 STM32F1의 SPI 클럭속도(18Mhz)보다 빨라 졌다. W5500 SPI 전송율 테스트를 해 보면 STM32G0의 SPI성능을 테스트 해 볼수 있을것 같다. 우선 STM32CubeIDE에서 SPI 설정을 하자. 네트웍 전송율 테스트를 위해 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_EST..
[STM32-64 Ardu] STM32F405 - Iperf로 W5500의 TCP Throughput 측정 테스트 [STM32-64 Ardu] 보드에는 SSM Type의 모듈을 연결 할 수 있는 커넥터가 있고 W5500 Ethernet 모듈을 이용하여 이더넷을 구현할 수 있다. STM32F405에서 W5500의 TCP Throughput 을 측정해 보자. 우선 STM32CubeIDE를 이용하여 SPI 설정을 하자. 네트웍 전송율 테스트를 위해 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)..

반응형