본문 바로가기

전체 글

(2041)
[RP2350_W6100] Pi Pico C/C++ SDK - W6100의 Iperf TCP Throughput 측정 테스트 [RP2350_W6100] 보드는 RP2350에 W6100을 포함하고 있는 테스트 보드이므로 Raspberry Pi Pico C/C++ SDK 개발환경 에서 W6100 개발환경을 설정하고 TCP 전송률 성능을 측정해 보자. 우선 Pi Pico SDK로 W6100 테스트 예제를 생성한다. 하드웨어 세팅에서 SPI, DMA 를 체크하자.   그리고 W6100관련 io6Library  라이브러리를 다운 받는다.  W6100과 관련된 Ethernet 폴더를 생성한 프로젝트에 복사한다. 그리고 라이브러리를 Cmake 파일에 추가 등록 하면 된다.include_directories( Ethernet Ethernet/w6100 )# Add executable. Default name is the pr..
[RP2350_W6100] Pi Pico C/C++ SDK에서 SPI DMA 테스트 Pi Pico C/C++ SDK 환경에서 GPIO토글 속도 측정 결과와 비교해서 Arduino 환경보다 빠른것 같은데 SPI 속도도 측정해서 비교해 보자 W6100과 같은 SPI의 전송 속도가 이더넷 전송률에 영향을 미치는 어플리케이션을 위해 SDK환경에서 SPI 테스트를 해 둘 필요가 있을것 같다. SDK 환경에서 SPI 전송 테스트를 해보면 SPI Bye 전송 지연은 680ns로 Arduino 환경과 비슷하게 측정이 된다.  #include #include "pico/binary_info.h"#include "pico/stdlib.h"#include "hardware/spi.h"#include "hardware/uart.h"// SPI Defines// We are going to use SPI 0,..
Raspberry Pi Pico2(RP2350) C/C++ SDK 개발환경 설정- GPIO 토글속도 측정 Raspberry Pi Pico2(RP2350) 개발 환경 구성은 다양한 방법이 있지만 이번에는 Raspberry Pi Pico2 C/C++ SDK를 이용하여 테스트 해 보자. Arduino IDE 환경은 다양하고 편리한 라이브러리를 사용할 수 있는 장점이 있지만 아무래도 개발 속도나 수행 속도가 느린 단점이 존재 한다.그리고 Wiznet에서 제공하는 W6100 라이브러리도 SDK 환경으로 구성되어 있기 때문에 SDK 개발환경을 세팅해 두는 것이 좋을것 같다. 우선 VScode의 확장 모듈 Raspberry Pi Pico를 설치 하거나 최신으로 업데이트 한다.  설치가 완료 되면  새로운 프로젝트를 Pico2로 생성하면 간단히 기본 코드를 생성해 준다.  Raspberry Pi Pico C/C++ SDK..
[RP2350_W6100 SM] TFT LCD (COM26T2844) 테스트 -Julia Set Fractal calculation RP2350은 클럭 속도가 133Mhz에서 150Mh으로 빨라 졌고 Cortex-M33 코어로 FPU 성능이 향상되었다고 한다. 우선 GPIO속도가 빨려 졌기 때문에 GPIO로 제어 하는 TFT LCD 출력 테스트를 해 보면 좋을것 같다. RP2040으로 TFT-LCD 테스트예제를 이용해서 테스트 해보자https://nexp.tistory.com/3872  [RP2040 SSM] TFT LCD (COM26T2844) 테스트EXP_4030_LCD_HDMI 확장 보드를 이용하면 12핀 SSM-Type EVM에서 TFT LCD보드 제어를 할 수 있다. 표준 핀맵의 확장 핀맵은 아래와 같이 구성 하였다. 소스코드는 https://github.com/adafruit/TFTLCD-Library 를 참고 수nexp...
[RP2350_W6100] 웹서버 테스트 - 거리감지 센서 (VL53L0x) 실시간 그래프 출력 테스트 (Arduino) 기존에 테스트 했던 실시간 웹페이지 그래프 출력 테스트는 자바스크립트를 이용하여 그래프를 출력 했는데 CSS 코드만으로 그래프를 출력 할수 있도록 했다. 좀더 심플하고 빠르게 반응할수 있도록 했다. https://youtube.com/shorts/xl4ieCCOBx4   RP2350 VL53L0x, PCF8574 거리 측정 테스트 코드를 이용해서 거리 측정 결과를 실시간으로 웹페이지에 출력하는 예제를 테스트해 보자먼저 페이지 요청이 올때마다 거리 감지센서 VL53L0x의 거리 값을 읽어와 업데이트 할수 있도록 수정하자.int ReadDistance(void){ int disp[] = {1,3,7,0xf,0x51f,0x3f,0x7f,0xff}; int i, distance; delay(20); di..
[RP2350_W6100] W6100을 이용한 웹서버 테스트 - 실시간 그래프 출력 [RP2350_W6100 SM] 보드를 이용하여 웹페이지 기본 테스코드를 이용하여 ADC전압값을 표시하는 웹서버 예제를 테스트 해 보자.RP2350을 이용하여 Arduino IDE에서 W6100의 Iperf TCP Throughput 측정 테스트 에서 18Mbps 의 전송률이 나오므로 실시간 웹페이지 출력이 가능할것 같다. https://youtube.com/shorts/2fakcUtC8cw   우선 수정이 필요한 웹페이지 파일을 새로 작성하자html_realtime_read_test1.h// HTML 페이지const char index_html[] PROGMEM = R"rawliteral( ADC Value 0mV )rawliteral";  [RP2350_W6100 SM] 보드를 이용하여 웹페..
[RP2350_W6100] Arduino - W6100을 이용한 웹서버 테스트 Arduino IDE에서 Iperf TCP Throughput 측정 테스트 에서 18Mbps 의 전송률이 빠르기 때문에 다양한 웹관련 예제를 작성해 볼 수 있을것 같다. 우선 [RP2040_W6100] 웹서버 테스트 - Base64 인코딩 방식 이미지 출력하기 테스트 코드를 수정해서 좀더 사이즈가 큰 이미지를 전송할 수 있도록 수정해 보자  RP2350에서 W6100을 이용한 웹페이지 출력 코드기존에 사용하던 코드에서 좀더 쉽게 코드를 수정할 수 있는 구조로 변경하였다.우선 라이브러리 관련 설정 파일을 defines.h 파일로 분리해서 다양한 옵션을 적용 할수 있도록 수정했다. defines.h웹서버의 이미지 전송 속도를 높이기 위해  DMA를사용하도록 했다.#define ETHERNET_USE_RPIP..
[RP2350_W6100] Arduino IDE에서 Iperf TCP Throughput 측정 테스트 (Ethernet_Generic 라이브러리 수정) W6100을 이용하여 제작한 보드의 네트웍 전송속도를 테스트 해보자[RP2040_W5500]  보드에서 테스트한 Iperf TCP Throughput 측정 테스트를 참고 하여 Arsuino의 기본 예제를 이용하여 전송률을 테스트 해보자.4Mbps 정도로 측정이 된다. 역시 W5500의 수준으로 느리다.  전송율을 높이려면 SPI전송 방식을 BUF 형태로 전송해야 한다.#define SPI_HAS_TRANSFER_BUF true  전송 부분에서 SPI 전송을 퍼버 형태로 보내게 된다.#ifdef SPI_HAS_TRANSFER_BUF pCUR_SPI->transfer((uint8_t*)buf, NULL, len);#else // TODO: copy 8 bytes at a time ..