Posts

Showing posts from May, 2024

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 포트와 이더넷 포트의 위치를 바꿀 수 없다는 것 이다. 아직 수정해야 할 부분이 많아서 먼저 설계했던 브라켓이 오기 전까지는 설계를 확정 할 수 없다.

Lenovo ThinkPad OneLink Pro 알아보기

Image
10년전 Lenovo ThinkPad 에 사용하던 전용 Dock 이다. 몇년 전 ThinkPad 노트북이 고장나면서 애물단지가 되었다. 호환되는 제품도 없고 중고 판매도 쉽지 않을거라 생각한다.  다음은 이제품의 I/O 구성이다.  이 당시만 해도 USB C 나 Thunderbolt 는 대중적이지 않았고 다음과 같은 독특한 규격의 제품이 아직 많이 남아있던 시절이다. 이 부분을 USB C 로 변경하는 것이 가능할지 알아보려고 한다. 이 커넥터의 핀맵에 대한 자료는 아래 링크에서 찾을수 있었다. Lenovo ThinkPad OneLink docking port pinout diagram @ pinoutguide.com 위 사진에서 빨간 색 동그라미 부분의 핀맵은 다음과 같을것으로 생각된다. 핀맵을 보면 ML_Lane 이라는 부분을 찾아 볼수 있다.  이 핀들은 DisplayPort 를 위한것으로 보통의 경우라면 4개 레인 구성이지만 이 제품은 2개 레인 으로 구성되어있다.  USB 의 경우 총 3개의 USB 컨트롤러 칩셋이 사용되었다. 두 개의 USB3.0(VL812-Q7) 칩셋과 한 개의 USB2.0(FE1.1s) 칩셋이 사용되었으며 이더넷 컨트롤러, 사운드 컨트롤러가 USB 3.0 으로 로 연결되어있다. 첫 번째 USB 3.0 컨트롤러에는 두 개의 USB3.0 포트와 전면 오디오 잭을 위한 사운드 컨트롤러 그리고 두 번째 USB3.0 컨트롤러 칩셋이 연결되어있다. 두 번째 USB 3.0 컨트롤러에는 후면 두 개의 USB3.0 포트 와 이더넷 컨트롤러와 USB 2.0 허브가 연결되어있다. USB 2.0 컨트롤러의 USB2.0 포트는 두 개 까지만 구현되어있다. 비디오 출력을 제외한 기능은 모두 USB 를 사용하여 연결됨을 알 수 있었다. 남은 부분은 DVI 출력인데 이 부분은 캔 쉴드를 열어봐야 알 수 있었다. 캔 쉴드의 내부는 다음과같다. 회로를 보면 OneLink Pro 는 핀맵을 통해 ...

RP2040 개발보드 설계 2

Image
지난번 설계에 이어서 전반적인 레이아웃이 수정되었다. 먼저 지난번 보다 더 많은 포트를 구성하여 배열하였다. ADC 기준 전압을 외부 창조하기 편하게 하였고 GND 와 3.3V 전압 포트가 추가 되었다. 오른쪽에 새로운 보드는 리튬 충/방전 모듈로 5.1V 의 전압을 출력하도록 설계되었다. 이 모듈을 상단에 장착할 경우 BOOTSEL 버튼이 가려지기 때문에 별도의 BOOT 버튼을 추가해 주었다. 본래 리튬 충/방전 회로를 하나의 보드에 구성하려 했지만 너무 과한 설계가 되는것 같아 모듈형식을 생각해보았다. 이번에 추가된 기능적인 부분으로 보드가 USB와 VIN 전원소스를 선택할 수 있도록 하였다. 왼쪽이 기존 설계이고 오른쪽이 새로설계된 보드의 모습이다.보드는 기본적으로 USB 전원을 사용하여 구동되지만 VIN 입력이 있는경우 VIN 전압소스를 선택하여 사용하도록 설계하였다. 리튬 충/방전 모듈은 충전과 전원 공급을 동적으로 관리할수 있도록 설계되어 충전중에도 안정적인 전원공급이 가능하다.

RP2040 개발보드 설계 1

Image
RP2040 을 위한 새로운 개발 보드를 만들고 있다. 회로는 어느정도 완성이 되었지만 레아아웃은 계속 수정중이다. 가능하다면 리튬 배터리 충전 회로와 DC-DC 부스트 회로를 추가할 예정이다. Pi Pico 보드와 여러가지 차이점을 주었다 첫 번째로 메모리 부분이다. 2MB인 Pi Pico 와 달리 16MB 의 QSPI 플래시 메모리를 사용하였고 별도로 EEPROM 을 장착할 수 있는 공간을 마련하였다. EEPROM의 동작을 LED 로 확인할수 있으며, 읽기/쓰기는 WP 점퍼를 통해 활성화 하거나 잠글 수 있도록 했다. 두 번째로 전원 필터에 LDO 를 사용하였다. Pi Pico 에 있는 스위칭 레귤레이터의 전압은 노이즈 때문에 ADC Vref 로 사용하기에 적합하지 않다는 평가를 자주 봤기때문에 간단하게 LDO를 사용해 구성하였고 LM4040로 VRef 회로를 구성해 ADC VRef 로 사용할수 있도록 하였다. 이 회로는 기본으로 점퍼가 열려 있으며 필요한 경우에 닫아서 사용할수 있다. 사실 일반적인 경우 LDO의 3.3V 를 바로 사용해도 문제는 없다고 생각한다. 세 번째로 이 보드에는 SD 카드 슬롯이 있다. SD 카드 슬롯의 경우 경우 모든 핀에 풀업을 사용하진 않았고 DATA1/DATA2/DATA3 에 만 풀업 저항을 사용하였다. 사실 저항값을 아끼면서 까지 뺄 필요는 없지만 요즘 SD 카드들은 풀업 저항이 꼭 필요하진 않은것 같다. 너무 오래된 SD 카드를 사용하는 것이 아니라면 풀업 저항 없이 SD 카드 만으로도 문제없이 작동할 것이다. 4비트 통신을 원하는 경우 DATA1/DATA3 를 바닥면에 있는 점퍼로 회로를 열거나 닫을 수 있다. 네 번째로 5V AVR 과 ISP 통신을 위한 로직 컨버터를 추가하였다. 이 부분은 AVR Prog 프로젝트에 사용하기위해 고안된 것으로 기본적으로 타겟 장치의 전압을 사용하도록 되어있지만 다이오드를 반대로 연결해서 타겟 장치로 전원을 공급할수도 있다. 그러나 가능하면 타겟 장치의 전원을 이용하는것이 좋...

Raspberry Pi Pico 를 AVR Programmer 로 사용하기

Image
이 장치는 지난번 ATmega328P 로 만들었던 Standalone AVR Programmer 의 업그레이드 버전이라고 할 수 있다. RP2040 은 ATmega328P 보다 높은 성능과 상당히 넓은 메모리 공간으로 프로그래밍 성능을 좀 더 끌어올릴수 있을 것으로 기대하고 있다. 아직 모든 부분에서 안정적인 것은 아니지만 Pi Pico 는 확실히 프로그래밍 속도를 높일 수 있었다.  ATmega328P에 사용한 것과 거의 동일한 코드로 펌웨어 쓰기 시간을 최대 1/6 수준으로 줄일 수 있었지만 일부 IC는 테스트에서 클럭 사인파 간격을 최소로 했을때 IC 와 퓨즈 정보를 읽어오는데 가끔씩 실패했다.  전원과 결선에 문제가 없다면 실패의 원인으로 다음 두 가지를 예상할 수 있다. 첫 번째는 각 IC 들의 기본 퓨즈 세팅에 따른 SPI 성능 부족이다. 실제로 외부 클럭을 사용하도록 퓨즈를 수정하여 시스템의 클럭을 높이게 되면 SPI 클럭의 사인파 주기를 좀 더 줄일 수 있었으며, 이때 고속으로 SPI 를 통한 프로그래밍을 할 수 있었다. 두 번째는 로직 컨버터의 부재다. Pi Pico 는 gpio 에서 3.3V 출력을 지원하는데 고속으로 운용시 gpio의 3.3V 신호가 타겟보드에서 HIGH 혹은 LOW 신호로 인식될만큼 충분하지 못했을 수 있다. 물론 ATmel 사의 모든 AVR 이 3.3V에서 프로그래밍이 불가능 한것은 아니지만 적어도 ATtiny 같은 일부 제품에서는 클럭을 수정하거나 모든 SPI 핀이 3.3V 보다 높은 전압에서 안정적인 통신이 가능했다. 따라서 통신 신뢰도를 높이기 위해서는 로직 컨버터가 필요하다.  위 두가지를 모두 보완하면 프로그래밍 실패 이슈는 대부분 사라질 것으로 보고있다.

Popular posts from this blog

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

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

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