RP2350의 HSTX와 PSRAM의 상성에 대한 실무 경험 정리 다시 한번 더 해봅니다

Posted on

RP2040에서 HDMI 출력을 하는 것을 상태기계로 구현하는 것이 시도되었습니다. 칩설계자가 만든 PicoDVI에서 이런 작업을 했는데요. 두개의 코어를 95% 이상 부려내서 겨우 출력을 했는데, 이로부터 HDMI 출력을 안정적으로 MCU와 분리해서 처리해주는 체제가 필요하다고 요청이 되어 HSTX 핀을 RP2350에서는 기본 제공을 합니다. 이 HSTX 핀에다가 DVI/HDMI 브레이크아웃 보드를 연결하면 HDMI LCD 모니터에 출력이 되는데요. 640×480@60Hz는 프레임버퍼 크기가 …

라즈베리파이 피코와 PCM5101A로 오디오 재생하기 프로젝트

Posted on

라즈베리파이 피코는 Cortex-M0+ 듀얼코어를 장착한 MCU 개발보드로 264KB의 램을 제공합니다. 피코에 PCM5101A를 장착하면 PCM 신호를 보내 고음질의 음악을 연주할 수 있습니다. MP3는 따로 PCM으로 변환해야 하고, 인터페이스는 I2S여야 합니다. 라즈베리파이 피코는 I2S 핀을 따로 제공하지 않으므로 PIO 상태기계를 활용해서 I2S를 에뮬레이션해야 하구요. 마침 라즈베리파이 재단에서 제공하는 pico-extras 프로젝트 하위 프로젝트인 pico_audio_i2s를 활용하면 기정의된 PIO로 만들어진 …

[RPI-PICO] MinGW UCRT가 무엇인가? (이번에는 검색자료를 보고 응용해서 해설해봅니다)

Posted on

msys64를 설치해서 pacman 명령어로 mingw를 설치할때, 여러 버전이 나옵니다. 이렇게 입력하면 mingw-w64 라고 이름에 붙어있는 프로그램들이나 라이브러리가 검색되는데요. mingw-w64도 종류가 여럿이라 무엇을 설치하면 좋을지 확신이 안될때가 있습니다. 보통 문서들을 보면 mingw-w64-ucrt-x86_64-* 를 추천하는데요. mingw의 윈도우 64비트 버전, UCRT인 gcc와 같은 프로그램과 라이브러리를 의미합니다. 여기서 UCRT 부분이 위에 명령어로 입력한 목록에 뜨는데요. 다른 mingw-w64와 다른 점이 …

[RPI-PICO] 라즈베리파이 피코 2W에서 cmake 실행시 picotool 관련하여 cli.h에 cstdint를 추가해야 한다고 나올때

Posted on

msys64로 mingw-w64-ucrt-x86_64-gcc 와 부속파일을 대충 설치하고 피코 2W 프로젝트를 빌드하면 아래와 같이 오류가 나타날 수 있습니다. 아래와 같은 오류가 발생하고 컴파일 타임에 멈춥니다. 이 경우 수동으로 늘 추가해야 하는데, 살펴보면 picotool 문제가 이전에 발생합니다. 이를 해결 하려면 https://forums.raspberrypi.com/viewtopic.php?t=384966 에서 해설하는 것을 참고로 해서 조치를 취해야 하는데요. cli.h 오류는 위와 같은 명령어로 의존성을 해결하니 넘어갑니다 ^^ …

[RPI-PICO] Level shifter

Posted on

Level shifter는 전자회로에서 나가고 오는 전압 레벨을 핀마다 조정하는 장치를 뜻합니다. 연결된 회로마다 작동하는 전압이 다르다면 level shifter 설비를 해서 조정하게 됩니다. 제일 흔한 로직 레벨은 1.8V, 3.3V, 5V이구요. 보통 회로가 3.3V로 작동한다고 하면 서로 다른 전압을 3.3V로 조정한다는 의미가 됩니다. 다른 전압 입력이나 출력을 한다면요. 단방향과 양방향 level shifter가 존재하구요. 양방향은 또 여러 유형으로 …

[RPI-PICO] 라즈베리파이 피코 1 (RP2040) 부트롬 재컴파일해서 심기

Posted on

가끔 라즈베리파이 피코가 오작동하는 것이 느껴질 때가 있습니다. 오작동이 아니더라도 튜닝을 의도한다든가 하는 위자드리급 고수시라면 한번쯤 해볼만한 작업입니다. 우선 RP2040용으로 나온 부트롬은 아래 명령어로 받아올 수 있습니다. 해당 사이트에 가보면 해설이 나오는데, 컴파일하는 컴파일러의 버전이 딱 맞아야 합니다. 이후 버전으로 하면 pico-bootrom-rp2040/bootrom/bootrom.ld 의 ROM이 16K로 되어 있는 량을 늘려야 해서, RP2040의 표준에 안맞게 됩니다. 16K를 …

로직 아날라이저 개념 정리

Posted on

전자기기가 작동할때 전류가 흐르고 전압이 인가되어 있는 상태와 해제되어 있는 상태, 전압이 강하게 가해진 상태와 약하게 가해진 상태들이 공존합니다. 라즈베리파이 피코로 개발을 할때도 이런 전류와 전압 신호가 가해지면 작동 상태가 어떠어떠할 것이라는 분석이 되는 원리가 있습니다. 우선 전류는 아날로그 신호입니다. 아날로그 신호는 자연상태의 날 것 그대로의 신호로, 연속적으로 변화하는 양입니다. 그런데 이를 기기로 제어하려면 일정 …

[RPI-PICO] 오디오 쥬크박스 만들기 5

Posted on

라즈베리파이 피코와 오디오 모듈을 조합해서 wav 파일을 재생하는 기능을 구현하는게 가능합니다. 우선 하드웨어 설비는요. 라즈베리파이 피코1 1대오디오 모듈 1대모듈을 간편하게 다는 확장 보드 1대 (보조전원 있는 것으로)스피커 한쌍UART TO USB 1대USB 메모리 1개USB micro male, USB-A female 케이블 1개USB-A male, USB micro male 케이블 1개 중요한 작동은 (1) 외부 저장장치에서 wav 파일을 읽어오는 작동 (2) …

1 2 3