본문 바로가기

RaspberryPi

(72)
[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..
[W55RP20 SSM] UART 및 USB 테스트 MCU의 디버깅 출력 메시지를 출력 하기해 UART를 사용하는데 RP2040 SDK에서는 UART나 USB로 설정해서 사용 할 수 있다. USB를 이용하면 USB2UART가 없어도 되기 때문에 디버깅이 편리하다.  VS Code에서 Raspberry Pi Pico용 Extention 프로그램에서 새로운 프로젝트를 생성한다. Console Over USB를 체크하면 USB2UART로 인식이 되며 printf 사용시 USB로 출력이 된다.  기본으로 생성되는 코드를 수정하여 [W55RP20 SSM] 보드에 맞는 핀으로 수정하면 된다.#include "port_common.h"#define LED1_PIN 9#define Led1Off() gpio_put(LED1_PIN,..
[W55RP20 SSM] 개발환경 설정 - Pico C SDK 2.0(윈도우11 초간단 셋업) W55RP20은 RP2040이 코어이기 때문에 기존 RP2040 개발 환경 및 코드를 그대로 사용할 수 있을거라 생각 했는데...기본 MCU 사용 방법은 동일 한데 W5500의 연결 방식이 변경되었다고 한다. W55RP20에서 W5500은 PIO SPI를 이용하여 연결하고 있다. RP2040의 SPI핀을 사용하지 않고 PIO로 SPI신호를 만들면 장단점이 있을것 같은데… 일단 아쉬운 점을 보면 기존 코드를 사용할 수 없다. 치명적인데… SPI 속도에서 이득이 있나? -> (W55RP20 TCP/IP iperf 전송률 테스트 참고)제조사 입장에서 보면 RP2040+W5500을  사용하는것보다 장점이 있어야 칩을 많이 팔수 있으니 이런 구조를 택하지 않았을까 싶기도 한데 아무튼 기존 코드를 재사용 할 수 없..
[W55RP20 SSM] W5500 + RP2040 SIP W55PR20 보드 제작 RP2040 과  W5500을 한칩으로 제작한 W55RP20 을 이용하여 SSM Type EVM 형태로 테스트 보드를 제작 했다.기존에 제작 했던 [RP2040 SSM]보드 및 [RP2010_W5500 SSM] 보드와 핀맵을 동일하게 SSM Type EVM 형태로 제작 했다.    Ethnet 커넥터를 교체 할 수 있는 커넥터 타입으로 적용하여 탈 부착 할 수 있으며 PoE모듈들을 연결 하기 쉽도록 제작 했다. 단독으로 사용하면 USB기능의 소형 테스트 보드로도 활용 가능하다.  기존에 [RP2040_W6100] 보드와 비교하면 높이가 조금 높아졌지만 탈부착 가능해 다양한 용도로 좀 더 유연하게 사용할 수 있도록 했다.W55RP20 회로 핀맵 W55R2040 관련 자료는 Wiznet 홈페이지(https:..
W55RP20 - RP2040 + W5500 SIP 출시 Wiznet 사에서 RP2040과 W5500를 SIP로 해서 하나의 칩으로 출시 한다고 한다. 와우~저렴한 RP2040을 이용하여 이더넷 솔루션을 최대한 작게 만들기 위해 많은 시도를 했는데... 원칩으로 나오다니... 예전에 STM32 + W5200 을 SIP한 W7200 이 출시 되었긴 하지만 가격문제로 그렇게 매리트가 없었는데 이번에는 RP2040이 워낙 져렴하니 문제 없지 않을까 싶다.  W55RP20 칩으로 출시 한다고 하는데 아직 판매는 하고 있지 않고 있다. 출시되면 반응이 좋을것 같다.
[RP2040_W6100] 웹서버 테스트 - Base64 인코딩 방식 이미지 출력하기 [RP2040_W5500] 보드를 이용하여 웹페이지 출력 테스트 예제를 참고로 W6100에서 웹서버 예제를 테스트 해 보자 [RP2040_W5500] Webserver 테스트지난 포스트에서 Ethernet_Generic 라이브러리를 이용해서 이더넷 전송 속도 개선을 했고 이제 웹서버를 구현 해 보자 웹서버의 가장 기본이 되는 뼈대 코드를 작성해보자. 새로운 라이브러리로 ESP32nexp.tistory.com 이번에는 이미지를 출력해 보면 좋을것 같다. 웹페이지에 이미지를 출력하는 방법은 여러 가지가 있지만 가장 간단하게 할 수 있는 Base64 인코딩 방식으로 이미지를 출력 해보자 #define USE_W5100 false#define USE_THIS_SS_..
[RP2040_W6100] Arduino IDE에서 Iperf TCP Throughput 측정 테스트 (Ethernet_Generic 라이브러리 수정) W6100을 이용하여 제작한 보드의 네트웍 전송속도를 테스트 해보자[RP2040_W5500]  보드에서 테스트한 Iperf TCP Throughput 측정 테스트를 참고 하여 Arsuino의 기본 예제를 이용하여 전송률을 테스트 해보자.4Mbps 정도로 측정이 된다. 역시 W5500의 수준으로 느리다.  전송율을 높이려면 Ethernet_Generic 라이브러리의 w5100_Impl.h 파일에서  write(), read() 함수를  수정하여 DMA로 전송하도록 수정해야 한다.\Documents\Arduino\libraries\Ethernet_Generic\src\utility\w5100_Impl.h uint16_t W5100Class::write(uint16_t addr, const uint8_t *b..
[RP2040_W6100] Arduino 에서 W6100 이더넷 개발환경 설정 RP2040에서 간단히 W6100을 사용하려면 Ethernet_Generic 라이브러리를 사용하면 쉽게 테스트 해볼 수 있다. 우선 W6100을 사용하기 위해 USING_W6100 을 true로 설정한다.#define USE_W5100 false#define USING_W6100 true  다음으로 W6100 SPI설정을 해 준다.#define USE_ETHERNET_GENERIC true #define USE_THIS_SS_PIN 17 //RP2040 EXP#define SPI_X spi0#define SPI_ETHERNET_SETTINGS SPISettings(330..