각종 CHIP/CH341

CH341 칩을 이용해서 UART,I2C,SPI 통신하기 4편(회로도,아트웍)

원원 2025. 5. 18. 16:47

안녕하세요. 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 핀헤더를 사용했습니다.

MSL-1C2P

(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에 실제 부품을 실장해서 제대로 동작하는지 확인해보겠습니다.