ASRock BC-250 보드 RAZER CORE X CHROMA 에 설치하기 5

주문 제작 하였던 브라켓이 도착하였다.  재질은 철이 아니고 알루미늄이라 그런지 상당히 가볍고 잘못하면 휘어질 것 같은 느낌이 든다. 제작하고 수령하기 까지 거의 3주라는 긴 시간이 걸렸다. 원래 이렇게 까지 걸리진 않는데 원인은 가공 엔지니어로 부터 온 메일을 확인하지 않고 3일이나 흐른 뒤에 답장을 하였고, 연말 기간도 걸려서 늦어져 버렸다. BC-250 카드에 기존 브라켓을 제거하고 새로 설계한 브라켓을 달아보니 아주 잘 맞았다. 버튼도 잘 눌리고 이더넷, USB, DP 포트 모두 사용에 문제가 없다. 이렇게 보고 나서 알아차린 부분이지만 하단 쪽에 고정 다리를 추가한다는 것을 빼먹었다. 다시 만드는 건 금액도 만만치 않았기 때문에 수정해서 발주를 다시 넣지는 않을 예정이고 튼튼하게 고정하기 위해 다른 솔루션을 찾아 보려고 한다. 사실 브라켓을 설계한 건 설치 문제도 있지만 완성된 시스템이 외관상으로 봤을 때 튀는 부분 없이 완성도가 높아 보이길 원했기 때문이다. 이렇게 보니 모양도 그럴싸하고 원래 이런 제품일지도 모른다는 착각도 든다. 타공 모양도 벌집 모양으로 했으면 더 완벽했겠지만 만드는 동안에는 그런 생각 없이 만들었기 때문에 큰 후회는 없다. 장착 되어있던 USB 허브 보드 대신 사용될 PCB도 도착하였다. 기존 허브 보드와 비교하자면 사이즈만 많이 커졌지만 브라켓과 호환이 되는지 확인하였고 장착하는 데는 문제가 없을 것으로 예상하고 있다.  지금 보니 오디오 앰프가 꼭 있어야 했는지 살짝 욕심이 과했다는 생각도 든다. 조립에 사용될 부품들은 아직 수급 중이며 차근차근 조립을 해 나갈 예정이다. 먼저 설계했던 PSU 전원 컨트롤 보드는 다음과 같이 장착 되었고 주요 동작에는 큰 이상이 없으나 몇 가지 수정 사항이 생겼다. 수정 사항은 허브 보드을 새로 설계하면서 발생한 것으로 두 보드 간에 별도의 통신 선이 연결된다. 사실 이렇게 기능을 분리할 필요는 없었는데 첫 번째로 만든 보드에서 하드웨어 적으로 누락된 기능이 있기 때문에 허...

Raspberry Pi Zero W/2W - 게임보이 만들기 4 - 샘플 테스트

샘플을 주문하여 PCB 납땜을 하면서 설계하면서 발견하지 아쉬운 점들이 하나 둘 발견되었다. 

첫 번째로 원활한 테스트에 필요한 테스트 포인트 설계를 누락 했다. 
이게 없어서 PCB 도 너무 지저분해졌고 회로 찾아가며 테스트 하는데 너무 많은 시간을 소비했다. 

두 번째로는 디스플레이 백라이트 설계가 완전히 잘못되었다.
지금 생각하면 너무 바보 같은데 회로도 설계시 심볼을 회전하면서 결선이 틀어진 모양이다.
일단 테스트는 백라이트 컨트롤 없이 항상 켜져있도록 만들어두고 테스트를 하였다   

전원부의 경우 예상했던 5.15V 보다 높은 5.18V을 얻게 되었다. 
이 정도의 전압도 사용에 큰 문제가 되지는 않지만 정확한 값을 얻기 위해서는 가변저항을 사용하는 것이 좋아 보인다.

큰 문제는 USB 에 특정 장치들을 연결할 때 발견되었다.
충전이 가능한 제품 중에서 연결하면 무조건 5W 이상을 끌어가도록 설계된 제품들이 있는데 이런 제품들이 문제였다.

TPS61230의 최대 출력은 2.1A 이기 때문에 저방전 배터리를 사용하면 1.2A 이상 끌어가는 상황이 오면 시스템이 불안정해지면서 전원부가 셧다운된다. 

가장 먼저 Raspberry Pi OS 를 설치해보았다.


USB 장치와 microSD 카드도 잘 인식되고 컨트롤러도 잘 인식이 되었다. 구현된 모든 인터페이스는 잘 작동됨을 확인하였다. 사용자의 손길이 필요한 부분은 디스플레이와 오디오 출력 말고는 없어 보인다. RetroPie 의 경우 Wi-Fi 드라이버를 직접 넣어줘야 하지만 그 외에는 Raspberry Pi OS 와 동일하다. RecalBox는 Raspberry Pi OS 와 많이 다르기도 하고 화면 출력과 네트워크 드라이버 부분에 좀 더 연구가 필요하다.

디스플레이는 2.8 인치 ili9341 TFT 를 사용했으며, RetroPie 와Raspberry Pi OS에서 fbcp-ili9341 드라이버를 사용하여 구동 시킬 수 있었다.

fbcp-ili9341 드라이버를 빌드 과정은 다음과 같은 과정이 필요하다. 

sudo apt-get install cmake
cd ~
git clone https://github.com/juj/fbcp-ili9341.git
cd fbcp-ili9341
mkdir build
cd build
sudo cmake -DILI9341=ON -DGPIO_TFT_DATA_CONTROL=24 -DGPIO_TFT_RESET_PIN=25 -DSPI_BUS_CLOCK_DIVISOR=6 ..
make -j
sudo ./fbcp-ili9341
cs

데이터 컨트롤과 리셋 핀은 본인이 사용한 GPIO 넘버로 수정해줘야 정상적으로 동작할 수 있다. 마지막으로 fbcp-ili9341 를 실행하면 곧바로 TFT 에 화면이 출력되는데, 만약 240x320와 같은 세로로 긴 해상도가 16:9 비율로 짜부되어서 나온다면 빌드하기 전에 fbcp-ili9341 폴더에 있는 config.h 파일의 수정이 필요하다.



위 사진과 같이 config.h 파일을 열어보면 화면의 종횡비를 SPI 디스플레이에 맞게 조정할 수 있는 옵션이 있다. 이 부분은 원래 화면비를 유지하기 위해 주석처리 되어있는데 화면을 세로로 설정하는 경우 비율이 깨지기 때문에 주석처리를 지워준 다음 빌드 과정을 거치면 된다.

#define DISPLAY_BREAK_ASPECT_RATIO_WHEN_SCALING
위 지시문의 주석처리를 제거하면 된다.

수정을 마쳤다면 다시 빌드를 진행하고 sudo ./fbcp-ili9341 를 실행 하면 즉시 화면이 출력되는걸 확인할 수 있다. 원하는 결과가 아니라면 빌드 옵션을 수정해서 다시 컴파일 하는 과정을 거치면 된다.

sudo cmake -DILI9341=ON -DGPIO_TFT_DATA_CONTROL=24 -DGPIO_TFT_RESET_PIN=25 -DSPI_BUS_CLOCK_DIVISOR=6 ..
make -j
sudo ./fbcp-ili9341
cs

이제 이 드라이버를 부팅시 자동으로 시작하도록 설정만 해주면 화면이 출력 된다.
다음과 같이 rc.local 파일을 수정해주면 된다. 


수정 사항을 저장하고 재부팅 해주면 이제부터는 모니터 연결이 필요 없어진다.


RetroPie 를 설치해봤는데 Wi-Fi 도 잘되고 화면도 원하는 비율로 출력이 되었다. 디스플레이 터치는 PCB에 구현하지 않았기 때문에 지금은 사용할 수 없는데 다음에 시험적으로 추가해볼 예정이다. 

만약 RetroPie 가 설치된 Raspberry Pi Zero W/2W 에서 Wi-Fi 가 안된다면  Wi-Fi 스캔이 안될때 를 참고하면 도움이 지도 모른다.

Comments

Popular posts from this blog

[POE] - 패스 오브 엑자일 획득키 F 의 사용법 (Path of Exile)

[AD보드] - 맥북 패널을 모니터로 만들기 ( LP154WP4-TLA1 )

[Arduino] - HC-06를 이용해 PC 와 Arduino 블루투스 연결