Posts

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

RAZER CORE X CHROMA 에 있는 12V 전원 을 사용하는 허브 보드를 설계중이다. 새로 설계되는 허브에는 4개의 USB 2.0 포트, 이더넷 포트를 통한 오디오 출력, 오디오 엠프 회로, 전원 감지 및 오디오 엠프 컨트롤을 위한 MCU 가 포함되어있다. 전원 소스는 12V 와 5VSB 를 사용하며, MCU 만 5VSB 를 사용하고 나머지 장치들은 12V 를 사용하도록 설계하였다. 보드 고정의 경우 RAZER CORE X CHROMA 에 장착 되어있던 PCIE 허브 카드의 브라켓을 그대로 사용할수 있도록 설계하였다. 핀 헤더를 통해 BC-250 의 USB 2.0 포트에 납땜하여 사용할 목적으로 설계 되었다. USB 2.0 포트 하나를 희생해서 사용한다. USB 허브 전원은 BC-250 에서 가져오지 않고 내부 전원 회로에서 컨버팅 된 5V3A 전원을 커런트 리미트로 제한하여 사용하도록 설계하였다. 그리고 이 보드에는 BC-250 전원이 꺼졌는지 감지하여 먼저 제작 하였던 PSU 컨트롤러로 신호를 보내주는 회로가 설계되어 지난번에 우려 했던 PSU 가 꺼지지 못하는 상황을 방지 할 수 있다.  오디오 엠프를 넣은 것은 개인적인 욕심인데 스피커를 내장하기 위함이다. 엠프를 넣지 않았다면 사이즈도 더 작아지고 설계도 많이 쉬웠을 것이다. 가장 큰 걸림돌은 USB 포트와 이더넷 포트의 위치를 바꿀 수 없다는 것 이다. 아직 수정해야 할 부분이 많아서 먼저 설계했던 브라켓이 오기 전까지는 설계를 확정 할 수 없다.

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

Image
퇴근하고 집에 도착했더니 주문한 PCB가 도착해 있었다.  오랜 만에 하는 취미 생활이라 들뜬 마음으로 가장 먼저 RAZER CORE X CHROMA 에 조립이 되는지 확인을 하였고 문제 없이 조립 할 수 있음을 확인했다.  설계에는 WCH 사의 CH32V00x 시리즈를 사용했는데 개발 환경도 괜찮고 가격도 저렴해서 좋은 MCU 라고 생각한다. EVT 보드를 사면 샘플도 몇 개 보내준다. 솔더 마스크를 검정으로 했어야 했나 생각도 들지만 예쁘니까 괜찮다고 생각한다. 수동 소자의 경우 구지 1005 사이즈를 사용할 이유는 없었지만 현재 보유중인 부품들로 구성하다 보니 어렇게 되었는데, 이것보다 큰 사이즈로 설계했다면 납땜 작업은 더 쉬웠을 거다. 조립 하는 과정에서 약간의 문제가 있었는데, 알리에서 구매한 4.2mm 24핀 커넥터가 들어가지 않아 휘어서 조립 하려 해보았지만 커넥터 핀이 너무 두꺼워서 조립이 불가능 했다.  데칼을 그릴 때 좀 더 크게 그렸어야 했는데 아쉬움이 남는다.  어쩔 수 없이 커넥터 부품은 새로 발주를 넣었다.  다음으로 펌웨어를 작성 하였다. 펌웨어 동작은 다음과 같다. PWR 버튼이 눌림 -> PSU 를 활성화 -> PSU 준비 완료 수신 -> 시스템 전원 On USB C 포트로 시리얼 통신을 할 수 있도록 하여 시스템을 명령어로 제어 할 수 있도록 했다. 참고로 이 보드는 PSU 의 스텐바이(+5VSB) 전원으로 동작하기 때문에 상시 동작하는 보드이다. 현재 시스템 전원을 끄게 되면 PSU 는 어떻게 비활성화 할 것 지가 고민이다. 1. 시스템 온도를 모니터링 해서 일정 수준 아래로 떨어지면 PSU 를 끈다. 2. 전원 종료시 전원 버튼에 시퀀스 동작 넣어서 끈다. 3. 추후 개발할 USB 허브 장치에 전원을 모니터링 하는 장치를 추가 개발한다. 1 번의 경우는 온도는 변수가 많기 때문에 안전하게 만들면 PSU 가 꺼질 때 까지 오래 걸릴 것 같다. 2 번의 경우 시스템을 ...

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

Image
RAZER CORE X CHROMA 의 썬더볼트 카드를 적출했다. 이걸 다시 사용할 날이 있을까 싶다. 이 PCB로 부터 디멘션 정보와 24핀 커넥터의 대략적인 위치만 알면 된다. 그래픽 카드가 장착되는 PCI-E 소켓 은 BC-250 장착에 방해가 됨으로 해당 소켓 부터 아래쪽은 필요가 없다. PCB 설계는 PSU 활성화 후 MCU 가 PSU로 부터 준비 완료 신호를 받으면 BC-250 의 전원 버튼을 트리거 하도록 설계 하려고 한다. EPS 8핀 은 필요 없어서 사용하지 않는다. USB-C 는 어떻게 할까 고민하다가 MCU 를 연결해주었다. 온도 센서도 추가할 것이기 때문에 시리얼로 동작 상태나 온도 정보 같은 걸 출력해볼 수 있다. 아래는 현재 설계 중인 회로도 이다. 혹시나 뭔가 건지러 오신 분들은 아직 검증된 회로는 아니라 저해상도로 올리니 이해 바란다. MCU는 CH32V003 시리즈를 사용했다. 기존에 장착된 LED 스트립은 그대로 쓸 수 있으면 쓰겠는데 과연 쓸 수 있을지는 모르겠다. 잘 안되면 그냥 사용해 본 걸로 바꾸는 방향이 빠를 거 같다. 앞으로 두번 정도는 더 수정을 해야 할 수도 있지만 일단은 기존 PCB 대신 장착될 PSU 컨트롤 보드이다. 딱히 특별한 기능도 없고, 나 혼자 쓸 물건이라 별 이상 없으면 그대로 사용할 것이다. PCB 디멘션은 나름 신경써서 측정했으니 조립은 어떻게든 될거라고 생각한다. ROG 폰트는 역시 멋지다. 다가오는 주말에는 USB 허브 쪽 설계를 하게 될 것 같다.

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

Image
2025년에는 취미 생활을 전혀 하지 못한 한 것 같다. BC-250 같은 물건도 구매만 하고 손도 못 대고 있었는데 최근 시간을 내어 맛을 보기 시작했다. 이 제품의 배경 스토리는 딱히 관심 없고 전부터 놀고 있는 RAZER CORE X CHROMA 를 PC 케이스로 사용하겠다는 생각이 있었는데 이 제품이 딱 이라 생각해 충동적으로 구매하였다. 조립시 고려해야 되는 부분은 다음과 같다. 첫 번째 사이즈인데 인터넷 상에 올라온 정보만 봤을 때 설치가 불가능하다. BC-250 : 340mm × 145mm × 32mm RAZER CORE X CHROMA : 330mm x 160mm x 3slot 하지만 아래 사진 코인 전지 소켓 옆에 있는 금속 브라켓을 제거해주면 RAZER CORE X CHROMA 내부에 집어 넣기에 문제 없는 것을 확인했다. 이 부분은 추후 새로운 브라켓을 설계하여 카드 고정용으로 사용할 것이다. 두 번째 RAZER CORE X CHROMA 에 기존에 설치되어있는 썬더볼트 기판과 USB+이더넷 PCI-E 카드이다 이것들은 공존할 수 없기 때문에 제거를 해줘야 한다.  어차피 BC-250은 eGPU 용 PCI 슬롯에 장착해서 쓸 수 있는 물건이 아니기 때문에 보드를 모두 들어내고 새로운 기판을 제작할 예정이다. 시스템에 내장되어있는 어드레서블 LED 는 그대로 사용할지 새로 설계해서 달지는 검토를 해봐야 한다. 세 번째  BC-250에 장창된 I/O 금속 브라켓으로는 설치가 불가능하다.  이유는 전원 입력부위치 때문인데 그래픽 카드처럼 상단이 아니라 하단에 위치하기 때문에 조립이 불가능 하다. 아래 사진처럼 전원 입력이 나쁘고 I/O 슬롯 위치도 맞지 않게 된다. 따라서 BC-250 의 설치는 아래 사진과 같이 뒤집힌 방향으로 설치하려고 한다. 이렇게 하면 내부 카드 제거시 I/O 위치고 맞고 전원 선 꼽기도 유리해진다. 쿨링은 시스템에 있는 녹투아 쿨러에 의존 하려고 한다. 아무래도 히트싱크는 모두 펴주어야...

macOS 에서 리산테크 AVR FLASHER 10 사용하기

Image
AVR 프로그래밍에 주로 사용하는 리산테크의 AVR FLASHER 10 제품이다.  총 10개의 서로 다른 펌웨어를 저장하여 PC 없이도 타겟 장치의 전원으로 펌웨어 다운로드가 가능하다. 펌웨어 다운로드가 고속으로 이루어지기 때문에 아주 편하다. 최근 윈도우 데스크탑 보다 맥북으로 작업을 하는 상황이 많아지면서 이 장비를 사용하는데에 소프트웨어 지원이 윈도우만 되기때문에 불편함을 격고 있었다. 이것때문에 윈도우 노트북을 장만하는건 말이 안되는거 같고 그렇다고 매번 데스크탑을 켜는것도 불편하고 고민만 하고 있었다. 예전에는 부트캠프를 사용해 윈도우 용 프로그램을 쉽게 사용할수 있었지만 맥북이 애플실리콘을 사용하면서 이런점은 살짝 불편해 졌다고 볼수도있다.  호환성이 많이 좋아졌다고 하지만 예전에 Whisky로 시도했다가 실패한 경험이 있었기 때문에 큰 기대는 하지 않으려고했다. 아직 가상화는 시도해보지 않았는데 UTM 은 좀 쓰기가 불편했고 Parallels 는 과금 방식이 전부터 마음에 들지 않았다.  사실 개인 사용 목적으로는 VMWare가 무료이기 때문에 다른 선택지가 없다. macOS 용은 VMware Fusion 이라고 하는데 가장 최신 버전을 다운 받았다. VMware를 사용하는건 정말 오랜만인 것 같다.  설치를 완료하면 다음과 같은 화면에서 Get Windows from Microsoft 를 선택하고 원하는 설정으로 윈도우 11을 다운받아 설치하면 된다. 보유한 이미지로도 설치할 수 있지만 ISO 파일만 가능해보인다.  잘 모르겠으면 그냥 여기서 다운받자. 윈도우 11 설치를 성공적으로 마무리 했다면 VMWare Tools 을 설치해야 한다.  이걸 설치하지 않으면 가상환경에서 몇 몇 기능들이 제 기능을 못하게 되니 반드시 설치해야한다.  예를 들어 디스플레이 해상도가 1024x768 에서 변경이 불가능 한 경우가 여기에 해당된다. 위 화면에서 Virtual Machine -> VM...

Radxa Zero 3W GPIO 제어하기

Image
Radxa Zero 3W 모델이다. 나온지 좀 된 모델이고 RK3566은 에뮬레이터 게임기에도 많이 사용되고 있는 칩이다. 가격은 RaspberryPi Zero 2W 랑 가격 차이는 별로 안나지만 성능은 확실히 차이가 있다. 1. 동작 클럭이 더 높다. 그러나 발열도 더 느껴진다 2. LPDDR4 를 지원하여, LPDDR2 보다 더 빠른 전송 속도와 넓은 대역폭 그리고 저전력으로 동작한다.  3. eMMC 추가 옵션 4. 외부 안테나 지원 (오버레이로 내장 외장 안테나 선택 가능 [sudo rsetup] ) 5. 더 좋은 네트워크 및 무선 연결  6. RaspberryPi 와 동일한 레이아웃의 GPIO 헤더, 전원 및 그라운드의 위치 동일 7. 기본적으로 핀들이 I2C, UART, SPI 등의 기능에 할당되어있다.      사용하려면 디바이스 트리구조를 수정해야 한다. 8. GPIO 제어를 위해 libgpiod 를 사용하지만 gpiochip* 넘버와 line* 넘버를 설정하여 코드를 작성해야한다.     이런 점은  RaspberryPi 의 RPi.GPIO 보다 다소 귀찮다고 할수 있다. 9. USB C 타입 사용 이런 점들을 보면 RaspberryPi Zero 2W 와 비교해보면 성능에 비해 가격이 저렴하게 느껴진다. 하지만 운용면에서는 다소 불편 할수도 있다. Radxa Zero 3W는 GPIO 를 제어하려면 libgpiod 를 사용해야한다. 먼저 아래 명령어를 입력해서 라이브러리를 설치한다. sudo apt update sudo apt install libgpiod-dev 문서 에 보면 각 핀 정보를 알아 볼 수 있다. 만일 본인이 핀을 설정하여 프로그램을 작성하였으나 의도대로 동작하지 않는다면 이미 해당 핀이 다른기능으로 설정이 되어있거나 사용중인 것일수도 있다. 다음 사용할 핀들을 알아보기 위해 아래 명령어를 입력한다. gpioinfo gpiochip3 line 뒤...

LoRa 모듈 E22-900T22S Breakout Board 설계 2

Image
지난번 설계 에서 두 가지 업데이트 사항이 있다. 첫 번째로 3.3V 로 로직 컨버터를 거치지 않고 직접 통신할수 있는 포트를 구성하였다.  이 포트를 통해 3.3V 동작의 MCU를 사용할때 좀 더 빠르게 회로를 구성  할수 있을것으로 기대한다. 두 번째로 동작 전압 레벨이 서로 다른 MCU 와 Lora 모듈이 통신할때 사용할 기준전압을 직접 인가 할 수 있도록 하였다. 보드에는 위 와같은 점퍼가 주어지는데 3.3V 나 5V 로 점프 시키지 않을 경우 VREF 핀에 사용할 소스전압을 직접 인가해 주어야한다. 특수한 경우가 아니라면 Vref를 사용하는일은 없을것 같다. 위사 진들은 이번에 제작한 테스트 모듈이다.  왼쪽은 E22-900T22S 모듈이고 오른쪽은 ATmega328P/PB 3.3V 8Mhz 보드를 준비했다. 오른쪽의 보드는 ATmega328P/PB 를 모두 장착하여 사용할 수 있도록 설계했다. E22-900T22S 보드의 전체 회로는 다음과 같다. 동작 전압 레벨이 서로 다른 장치와 통신 할 수 있도록 레벨 컨버터를 추가 하였고, 핀 헤더를 장착하여 다른 MCU 보드와 통신하거나 점퍼를 수정해서 USB 시리얼 통신을 할수 있도록 했다. 모듈의 테스트는 mischianti의 E22 라이브러리 를 사용했다. 정리가 아주 잘 되어있는 라이브러리로 생각된다. 아래 코드는 라이브러리에 포함된 시리얼 입력을 LoRa 통신으로 전송하는 예제이다. Lora ATmega328p AUX D3 RX D4 TX D5 M1 D6/GND M0 D7/GND 송신측 코드 #include "Arduino.h" #include "LoRa_E22.h" LoRa_E22 e22ttl(4, 5, 3, 7, 6); void setup() { Serial.begin(9600); delay(500); // Startup all pins and UART e22ttl.begin(); Serial.println(...

Popular posts from this blog

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

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

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