안녕하세요. 1~3편에서는 C#을 이용해서 UART, I2C, SPI가 가능한 프로그램을 만들었습니다.
이번에는 KICAD 툴을 이용해서 회로도작성과 아트웍을 해보겠습니다.
기본적인 회로도는 아래의 사이트를 참고하였습니다.
https://www.onetransistor.eu/2017/08/ch341a-mini-programmer-schematic.html
*회로도
POWER CHECK LED : USB가 연결해있는지 안해있는지 확인하는 부분입니다.
LDO : VBUS(5V)로부터 3.3V를 만드는 부분 입니다.
USB CONNECTOR : USB 커넥터 (USB B type 사용)
CLOCK : 외부클럭 입니다.
USER PIN(SPI, I2C, UART, POWER) : 통신을 위한 외부핀 입니다.
USER SWITCH(POWER SELECT, MODE SELECT) : 슬라이드 스위치로 아래의 부품을 사용하고 해당부품의 핀 간격은 2.5mm입니다. KICAD 기본적으로 제공해주는 심볼에서 아래의 부품이 없으므로 2.54mm 핀헤더를 사용했습니다.
(POWER SELECT)
심볼기준으로 슬라이더 상태에따라 두 상태가 됩니다 [1,3] [2,4] or [3,5] [4,6]
VDD를 3.3V로 사용하는경우 [2,4]가 연결되므로 VDD가 3.3V가 됩니다. 그리고 CH341칩은 3.3V를 사용할때 V3핀에 외부전원을 넣어줘야하고 [1,3]상태이므로 V3에 3.3V가 연결됩니다.
VDD를 5V로 사용하는경우 [4,6]가 연결되므로 VDD가 5V가 됩니다. 5V를 사용하는경우 V3핀에 외부전원을 주면 안되고 [3,5]상태이므로 OPEN입니다.
(MODE SELECT)
CH341 1번핀을 GND에 연결하면 SPI/I2C 모드이고 1번핀을 OPEN하면 UART 모드입니다. 해당모드를 선택하기위한 슬라이드 스위치입니다.
*아트웍
GPT에게 제 회로도에서 아트웍할때 주의해야할점을 물어봐서 알려준 내용입니다,
1. D+/D- 통신라인 : 되도록 짧고, 길이 동일하게 배선 → twisted pair 수준까진 아니더라도 나란히 가게
2. XI/XO 크리스탈 라인 : 12MHz 크리스탈 주변 라인은 짧고 대칭되게 배치
C5/C6 (20pF) 는 XO와 XI에 가깝게 배치 (루프 최소화)
3. SPI 라인 (CS, CLK, MOSI, MISO)
같은 레이어에서 나란히, 비틀거나 급격한 꺾임 피하기
CS는 종단에 위치한 슬레이브로 바로 연결
4. 1117-3.3 레귤레이터 배치
IN/OUT 사이에 104 커패시터(C2, C4) 충분히 가깝게
GND plane에 충분히 접지되도록
3.3V 출력은 굵은 패턴, Fan-out 넓게
5. V3 핀
CH341A의 V3 핀은 3.3V 레퍼런스 용도
반드시 0.1uF 바이패스 캐패시터 연결 (현재 회로에 없음이면 추가 필요!)
6. 핀헤더 및 소켓 위치
SPI 핀헤더(8+8 블럭)와 프로그래머용 7핀헤더가 외부 연결되므로, 위치와 방향 통일 중요
유용
이 중에 제일 중요한 거는 1번인 것 같습니다. 이전에는 이런거 고려안하고 D+, D-라인을 길이가 다르고 길게 했던적이있는데 PC에서 USB인식을 못한경우가 있었습니다 ...
이번에 아트웍한걸보면 D+,D-라인에 아랫면으로 다른신호들이 지나가는데 괜찮은지 모르겠습니다.
슬라이드 스위치는 3D뷰어가 없어서 핀헤더로 나왔습니다.
I2C, SPI, UART, POWER라인은 오른쪽으로 배치해서 USB연결선과 엉키지않게 배치했습니다.
다음글에서 PCB에 실제 부품을 실장해서 제대로 동작하는지 확인해보겠습니다.
'각종 CHIP > CH341' 카테고리의 다른 글
CH341 칩을 이용해서 UART,I2C,SPI 통신하기 4편(SPI) (0) | 2025.05.05 |
---|---|
CH341 칩을 이용해서 UART,I2C,SPI 통신하기 3편(I2C) (0) | 2024.12.22 |
CH341 칩을 이용해서 UART,I2C,SPI 통신하기 2편(UART) (0) | 2024.12.08 |
CH341 칩을 이용해서 UART,I2C,SPI 통신하기 1편(기본 소개) (0) | 2024.11.23 |