RaspberryPi/RP2350 (21) 썸네일형 리스트형 RP2350 SM - HSTX를 이용한 DIV 테스트 HSTX(High-Speed Serial Transmit)는 Raspberry Pi RP2350 마이크로컨트롤러의 새로운 주변 장치이며, 고속 직렬 전송을 위한 인터페이스 이다. 시스템 클럭과 독립적인 속도로 최대 8개의 GPIO를 통해 데이터를 스트리밍할 수 있는 장치이다. 기존의 프로그래밍 입/출력(PIO)나 오버클럭 없이도 고속 데이터 전송을 가능하게 한다. 특히 HDMI출력으로 사용하기에 편리하다. RP2350 HSTX로 HDMI출력 테스트를 해 보자.기존 RP2040도 PIO를 이용하여 HDMI출력이 가능했지만 PIO만으로 출력하다보니 320x240으로 해상도에 한계가 있었다. 그리고 HDMI출력을 할때는 다른 PIO를 동시에 사용하기 어려워 Camera 입력을 받는예제는 작성하기 어려웠다. R.. [RP2350 SM] W6300의 Iperf TCP Throughput 측정 테스트 (94Mbps 측정) W6300의 가장 큰 특징으로 64byte의 메모리와 150Mhz QSPI로 고속의 이더넷을 구현 할 수 있는 것이다. RP2350을 이용한 W6300 개발환경 설정 코드를 수정해서 W6300의 TCP 전송률 테스트를 해 보자. 우선 W6300의 TCP루프백 테스트 코드로 TCP 송수신 속도를 측정 해보자.#include #include "pico/stdlib.h"#include "hardware/spi.h"#include "hardware/pio.h"#include "hardware/timer.h"#include "hardware/uart.h"#include "hardware/clocks.h"#include "hardware/pll.h"#include "wizchip_spi.h"#include "wi.. [RP2350 SM] W6300 테스트 개발환경 설정 RP2350을 이용하여 W6300을 테스트 해보자먼저 하드웨어 적으로 QSPI로 연결한다. [W6300 SSM] 보드는 표준 핀맵의 SPI로 할당되어 있고 나머지 핀에 QSPI 핀이 할당되어 있다. RP2350은 QSPI 하드웨어 블록은 플래시 메모리에 할당되어 있기 때문에 PIO로 생성해 주어야 한다. 위즈넷에서 wizchip_qspi_pio.pio 형태로 제공하고 있다.제공되는 pio핀맵 특성상 핀들은 연속되게 설정되어야 한다. 연속되지 않는다면 PIO관련 코드 수정이 필요하다. RP2350 SSM EXP 보드에선 GP12~19에 할당되어 있으므로 제공 코드를 수정해 주었다.#elif (DEVICE_BOARD_NAME == W6300_EVB_PICO || DEVICE_BOARD_NAME == W630.. [RP2350_W6100] ST7789 TFT LCD 테스트 - TFT-eSPI 라이브러리 오류 수정 ST7789 TFT LCD 모듈을 이용하여 테스를 해 보기위해 TFT_eSPI 라이브러리를 사용 하려고 하는데 RP2040 TFT_eSPI 테스트 예제에서 사용했던 코드가 동작하지 않는다. 좀더 정확히는 잘 사용하던 TFT_eSPI 라이브러리를 최신버전으로 업데이트 후 정상 동작을 하지 않는다.2.5.34 까지는 잘 동작 했었는데… 2.5.43에서는 컴파일은 되지만 LCD가 정상 동작하지 않는다.SPI 신호는 정상적으로 나오는것 같은데… LCD제어 핀맵은 정상적으로 할당되어 있다. 그렇다면 라이브러리의 문제인데...#include #define TFT_CS 11 // Define as not used#define TFT_DC 12 // Data Command control pin#def.. [RP2350_W6100] 다채널 ADC, ADC DMA 테스트 RP2350는 온도 센서 포함 5채널의 12bit ADC가 있다. 아쉬운점은 채널수도 적고 샘플링 속도나 ADC성능(9.5bit ENOB)은 우수하지 않다.간단한 아날로그 전압 측정용으로 사용하면 좋을것 같다. 우선 2채널의 가변저항이 있는 확장 테스트 보드에서 전압값을 측정해 보자.#include #include "pico/stdlib.h"#include "hardware/gpio.h"#include "hardware/adc.h"int main() { uint16_t result = 0; const float conversion_factor = 3.3f / (1 ADC DMA 테스트ADC의 최대 샘플레이트는 500 kS/s 이다. STM32와 비교하면 성능이 많이 떨어지는것 같다.DM.. [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.. 이전 1 2 3 다음